Udostępnij za pośrednictwem


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 System.Configuration.Install przestrzeni nazw.

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

W wierszu polecenia wpisz:

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.
/helpmontaż

— lub —

/?montaż
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ść każdego składnika Installer.HelpText instalatora do tekstu pomocy InstallUtil.exe. Jeśli na przykład ServiceProcessInstaller.Account parametr to User, /username dostępne są opcje i /password .
/AssemblyName "assemblyName",

,Version=major.minor.build.revision

,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=[directoryName ] 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=[nazwa pliku] Określa nazwę pliku dziennika, w którym jest rejestrowany postęp instalacji. Domyślnie, jeśli /LogFile opcja zostanie pominięta, plik dziennika o nazwie assemblyname. Plik InstallLog jest tworzony. Jeśli nazwa pliku zostanie pominięta, nie zostanie wygenerowany żaden plik dziennika.
/LogToConsole={true|false} Jeśli truewartość , wyświetla dane wyjściowe w konsoli programu . Jeśli false (wartość domyślna), pomija dane wyjściowe w konsoli programu .
/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, dotyczy wszystkich zestawów niezależnie od tego, /u gdzie opcja jest wyświetlana 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, uruchom 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 dotyczący opcji obsługiwanych przez poszczególne składniki instalatora jest zwracany przez Installer.HelpText właściwość . Poszczególne opcje wprowadzone w wierszu polecenia są dostępne programowo z Installer.Context właściwości .

Wszystkie opcje i parametry wiersza polecenia są zapisywane w pliku dziennika instalacji. Jeśli jednak używasz parametru /Password rozpoznawanego przez niektóre składniki instalatora, informacje o haśle są zastępowane przez osiem gwiazdki (*) 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żesz pominąć plik dziennika, określając /LogFile= (bez argumentu nazwy pliku ) w wierszu polecenia.

Uwagi

Aplikacje .NET Framework składają się z tradycyjnych plików programów i skojarzonych zasobów, takich jak kolejki komunikatów, dzienniki zdarzeń i liczniki wydajności, które należy utworzyć 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. /u Z wyjątkiem opcji i /AssemblyNameopcje 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 metodę Commit .
  • nazwa_zestawu. InstallState — zawiera dane używane do odinstalowania zestawu.

Installutil.exe używa odbicia w celu sprawdzenia określonych zestawów i znalezienia System.ComponentModel.RunInstallerAttribute wszystkich Installer typów, które mają atrybut ustawiony na true. Następnie narzędzie wykonuje metodę Installer.Install lub Installer.Uninstall na 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.

32-bitowa wersja środowiska uruchomieniowego języka wspólnego (CLR) jest dostarczana tylko z 32-bitową wersją narzędzia Instalatora, ale 64-bitowa wersja środowiska CLR jest dostarczana zarówno z 32-bitową, jak i 64-bitową wersją narzędzia Instalatora. W przypadku korzystania z 64-bitowego środowiska CLR użyj 32-bitowego narzędzia Instalatora, aby zainstalować zestawy 32-bitowe oraz 64-bitowe narzędzie Instalatora w celu zainstalowania zestawów 64-bitowych i typowych zestawów języka pośredniego (CIL). Obie wersje narzędzia instalatora działają tak samo.

Nie można użyć Installutil.exe do wdrożenia usługi systemu Windows utworzonej przy użyciu języka C++, ponieważ Installutil.exe nie rozpoznaje osadzonego kodu natywnego utworzonego przez kompilator języka C++. Jeśli spróbujesz wdrożyć usługę systemu Windows w języku C++ z Installutil.exe, zostanie zgłoszony wyjątek, taki jak BadImageFormatException . 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. Wyświetla również opis i listę opcji obsługiwanych przez składniki instalatora, myAssembly.exe jeśli tekst pomocy został przypisany do właściwości instalatora 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, ponieważ /AssemblyName nie można zastąpić tej opcji.

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

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

installutil /u myAssembly.exe

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

installutil myAssembly1.exe /u myAssembly2.exe

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

installutil /u myAssembly1.exe myAssembly2.exe

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

installutil /LogFile=myLog.InstallLog myAssembly.exe

Następujące polecenie wykonuje instalatory w zestawie myAssembly.exe, określa, że informacje o postępie powinny być zapisywane w myLog.InstallLogpliku i używa niestandardowej /reg opcji instalatora, aby określić, że aktualizacje powinny być wprowadzane do rejestru systemowego.

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

Następujące polecenie wykonuje instalatory w zestawie myAssembly.exe, używa niestandardowej /email opcji instalatora, aby określić adres e-mail użytkownika i pomija dane wyjściowe do pliku dziennika.

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

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

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

Zobacz też