Installutil.exe (Narzędzie instalatora)

Narzędzie Instalator to narzędzie wiersza polecenia umożliwiające instalowanie i odinstalowywanie zasobów serwera przez wykonywanie składników instalatora w określonych zestawach. To narzędzie działa w połączeniu z klasami w przestrzeni System.Configuration.Install nazw .

To narzędzie jest instalowane automatycznie z programem Visual Studio. Aby uruchomić narzędzie, użyj programu Visual Studio wiersz polecenia dla deweloperów lub Visual Studio Developer PowerShell.

W wierszu polecenia wpisz następujące polecenie:

Składnia

installutil [/u[ninstall]] [options] assembly [[options] assembly] ...

Parametry

Argument Opis
assembly Nazwa pliku zestawu, w którym mają zostać wykonane składniki instalatora. Pomiń ten parametr, jeśli chcesz określić silną nazwę zestawu przy użyciu /AssemblyName opcji .

Opcje

Opcja Opis
/h[elp]

-lub-

/?
Wyświetla składnię polecenia i opcje narzędzia.
/help/help

-lub-

/?/?
Wyświetla dodatkowe opcje rozpoznawane przez poszczególne instalatory w określonym zestawie, wraz ze składnią poleceń i opcjami programu InstallUtil.exe. Ta opcja dodaje tekst zwracany przez właściwość Installer.HelpText każdego składnika instalatora do tekstu pomocy InstallUtil.exe. Jeśli na przykład jest ServiceProcessInstaller.Account , Userdostępne są /username opcje i /password .
/AssemblyName "/AssemblyName

,Version=główna.pomocnicza.kompilacja.poprawka

,Culture=locale

,PublicKeyToken=publicKeyToken"
Określa silną nazwę zestawu, która musi zostać zarejestrowana w globalnej pamięci podręcznej zestawów. Nazwa zestawu musi być w pełni kwalifikowaną nazwą zawierającą wersję, kulturę i token klucza publicznego zestawu. W pełni kwalifikowana nazwa musi być ujęte w cudzysłowy.

Na przykład w pełni kwalifikowaną nazwą zestawu jest "mójZestaw, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0".
/InstallStateDir=[/InstallStateDir=[] Określa katalog pliku InstallState, który zawiera dane służące do odinstalowywania zestawu. Domyślnie, jest to katalog, w którym znajduje się zestaw.
/LogFile=[/LogFile=] Określa nazwę pliku dziennika, w którym jest rejestrowany postęp instalacji. Domyślnie, jeśli opcja /LogFile zostanie pominięta, plik dziennika o nazwie /LogFile. Zostanie utworzony program InstallLog. Jeśli nazwa pliku zostanie pominięta, nie zostanie wygenerowany żaden plik dziennika.
/LogToConsole={true|false} Jeśli true, wyświetla dane wyjściowe w konsoli. Jeśli false (ustawienie domyślne), program pomija dane wyjściowe w konsoli.
/ShowCallStack Przesyła stos wywołań do pliku dziennika, jeśli w jakimkolwiek punkcie instalacji wystąpi wyjątek.
/u[ninstall] Odinstalowuje określone zestawy. W przeciwieństwie do innych opcji, /u ma zastosowanie do wszystkich zestawów, niezależnie od tego, gdzie opcja pojawia się w wierszu polecenia.

Dodatkowe opcje instalatora

Poszczególne instalatory używane w zestawie mogą rozpoznawać opcje oprócz tych wymienionych w sekcji Opcje. Aby dowiedzieć się więcej o tych opcjach, InstallUtil.exe ze ścieżkami zestawów w wierszu polecenia wraz z opcją /? lub /help . Aby określić te opcje, należy umieścić je w wierszu polecenia wraz z opcjami rozpoznawanymi przez program InstallUtil.exe.

Uwaga

Tekst pomocy na temat opcji obsługiwanych przez poszczególne składniki instalatora jest zwracany przez właściwość Installer.HelpText . Poszczególne opcje wprowadzone w wierszu polecenia są dostępne programowo z właściwości Installer.Context .

Wszystkie opcje i parametry wiersza polecenia są zapisywane w pliku dziennika instalacji. Jeśli jednak użyjesz /Password parametru rozpoznawanego przez niektóre składniki instalatora, informacje o hasłach zostaną zastąpione przez osiem gwiazdek (*) i nie będą wyświetlane w pliku dziennika.

Ważne

W niektórych przypadkach parametry przekazywane do instalatora mogą zawierać informacje poufne lub dane osobowe, które domyślnie są zapisywane w pliku dziennika w postaci czystego tekstu. Aby zapobiec temu zachowaniu, można /LogFile= pominąć plik dziennika, określając (bez argumentu nazwy pliku) po Installutil.exe w wierszu polecenia./LogFile=

Uwagi

Aplikacje programu .NET Framework składają się z tradycyjnych plików programów oraz skojarzonych zasobów, takich jak kolejki komunikatów, dzienniki zdarzeń i liczniki wydajności, które muszą zostać utworzone podczas wdrażania aplikacji. Można użyć składników instalatora zestawu, aby utworzyć te zasoby podczas instalowania aplikacji oraz aby je usunąć podczas odinstalowywania aplikacji. Program Installutil.exe wykrywa i wykonuje te składniki instalatora.

W jednym wierszu polecenia można określić wiele zestawów. Każda opcja występująca przed nazwą zestawu jest stosowana do instalacji tego zestawu. Z wyjątkiem opcji /u i /AssemblyName, opcje są skumulowane, ale można je zastąpić. Oznacza to, że opcje określone dla jednego zestawu są stosowane do wszystkich kolejnych zestawów, chyba że dana opcja zostanie określona z nową wartością.

Uruchomienie programu Installutil.exe dla zestawu bez określenia żadnych opcji spowoduje umieszczenie w katalogu tego zestawu następujących trzech plików:

  • InstallUtil.InstallLog — zawiera ogólny opis postępu instalacji.

  • nazwa zestawu. InstallLog — zawiera informacje specyficzne dla fazy zatwierdzania procesu instalacji. Aby uzyskać więcej informacji na temat fazy zatwierdzania, zobacz Commit metodę .

  • nazwa zestawu. InstallState — zawiera dane używane do odinstalowania zestawu.

Installutil.exe używa odbicia, aby sprawdzić określone zestawy Installer i znaleźć wszystkie typy, które mają System.ComponentModel.RunInstallerAttribute atrybut ustawiony na true. Następnie narzędzie wykonuje metodę Installer.Install lub Installer.Uninstall w każdym wystąpieniu Installer typu. Program Installutil.exe wykonuje instalację w sposób transakcyjny, a więc niepowodzenie instalacji dowolnego zestawu powoduje wycofanie instalacji wszystkich innych zestawów. Odinstalowanie nie jest transakcyjne.

Program Installutil.exe nie może instalować ani odinstalowywać zestawów podpisywanych z opóźnieniem, ale może instalować i odinstalowywać zestawy o silnych nazwach.

Począwszy od programu .NET Framework w wersji 2.0, 32-bitowa wersja środowiska uruchomieniowego języka wspólnego (CLR) jest dostarczana tylko z 32-bitową wersją narzędzia Instalator, ale 64-bitowa wersja środowiska CLR jest dostarczana z 32-bitową i 64-bitową wersją narzędzia Instalator. Gdy jest używane 64-bitowe środowisko CLR, 32-bitowe narzędzie instalatora jest używane do instalowania zestawów 32-bitowych, a 64-bitowe narzędzie instalatora do instalowania zestawów 64-bitowych oraz zestawów języka Microsoft Intermediate Language (MSIL). Obie wersje narzędzia instalatora działają tak samo.

Za pomocą programu Installutil.exe nie można wdrażać usług systemu Windows napisanych w języku C++, ponieważ program Installutil.exe nie rozpoznaje osadzonego natywnego kodu generowanego przez kompilator C++. Jeśli spróbujesz wdrożyć usługę Windows C++ za pomocą Installutil.exe, BadImageFormatException zostanie zgłoszony wyjątek, taki jak . Aby wykonać taki scenariusz, należy przenieść kod usługi do modułu języka C++, a następnie napisać obiekt instalatora w języku C# lub Visual Basic.

Przykłady

Poniższe polecenie wyświetla opis składni poleceń oraz opcje programu InstallUtil.exe.

installutil /?

Poniższe polecenie wyświetla opis składni poleceń oraz opcje programu InstallUtil.exe. Jeśli tekst pomocy został myAssembly.exe przypisany do właściwości instalatora, zostanie również wyświetlony opis i lista opcji obsługiwanych przez składniki instalatora w programie Installer.HelpText .

installutil /? myAssembly.exe

Następujące polecenie wykonuje składniki instalatora w zestawie myAssembly.exe.

installutil myAssembly.exe

Następujące polecenie wykonuje składniki instalatora w zestawie przy użyciu przełącznika /AssemblyName i w pełni kwalifikowanej nazwy.

installutil /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0"

Poniższe polecenie wykonuje składniki instalatora w zestawie określonym przez nazwę pliku oraz w zestawie określonym przez silną nazwę. Należy pamiętać, że wszystkie zestawy określone przez nazwę pliku muszą poprzedzać zestawy określone przez silną nazwę w wierszu polecenia, /AssemblyName ponieważ opcji nie można przesłonić.

installutil myAssembly.exe /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0"

Następujące polecenie wykonuje składniki dezinstalatora w zestawie myAssembly.exe.

installutil /u myAssembly.exe

Następujące polecenie wykonuje składniki dezinstalatora w zestawach i myAssembly1.exemyAssembly2.exe.

installutil myAssembly1.exe /u myAssembly2.exe

Ponieważ pozycja opcji w /u wierszu polecenia nie jest ważna, jest to równoważne następujące polecenie.

installutil /u myAssembly1.exe myAssembly2.exe

Następujące polecenie wykonuje instalatory w zestawie myAssembly.exe i określa, że informacje o postępie będą zapisywane w pliku myLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe

Następujące polecenie myAssembly.exewykonuje instalatory w zestawie , określa, myLog.InstallLogże informacje o postępie powinny być zapisywane w pliku i /reg używa niestandardowej opcji instalatora, aby określić, że aktualizacje mają być wykonywane w rejestrze systemu.

installutil /LogFile=myLog.InstallLog /reg=true myAssembly.exe

Następujące polecenie wykonuje myAssembly.exeinstalatory w zestawie , /email używa niestandardowej opcji instalatora w celu określenia adresu e-mail użytkownika i pomija dane wyjściowe w pliku dziennika.

installutil /LogFile= /email=admin@mycompany.com myAssembly.exe

Następujące polecenie zapisuje postęp instalacji programu do myAssembly.exe programu i myLog.InstallLog zapisuje postęp dla programu w myTestAssembly.exe programie .myTestLog.InstallLog

installutil /LogFile=myLog.InstallLog myAssembly.exe /LogFile=myTestLog.InstallLog myTestAssembly.exe

Zobacz też