Sdílet prostřednictvím


Installutil.exe (instalační nástroj)

Instalační program je nástrojem příkazového řádku, který umožňuje nainstalovat a odinstalovat serverové zdroje spuštěním komponent nástroje v zadaných sestaveních. Tento nástroj funguje ve spojení s třídami v System.Configuration.Install oboru názvů.

Tento nástroj je automaticky nainstalován se sadou Visual Studio. Ke spuštění nástroje použijte Visual Studio Developer Command Prompt nebo Visual Studio Developer PowerShell.

Na příkazovém řádku zadejte následující:

Syntaxe

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

Parametry

Argument Popis
assembly Název souboru sestavení, ve kterém se mají spustit komponenty instalačního programu. Tento parametr vynecháte, pokud chcete zadat silný název sestavení pomocí /AssemblyName této možnosti.

Možnosti

Možnost Popis
/h[elp]

nebo

/?
Zobrazí syntaxi příkazu a možnosti nástroje.
/helpshromáždění

nebo

/?shromáždění
Zobrazí další možnosti, které jsou rozpoznávány jednotlivými instalačními programy v rámci zadaného sestavení, spolu se syntaxí a možnostmi příkazů pro soubor InstallUtil.exe. Tato možnost přidá text vrácený vlastností jednotlivých komponent instalačního programu Installer.HelpText do textu nápovědy InstallUtil.exe. Pokud ServiceProcessInstaller.Account je Userto například , jsou /username k dispozici možnosti a /password možnosti.
/AssemblyName "assemblyName

,Version=major.minor.build.revision

,Culture=locale

,PublicKeyToken=publicKeyToken"
Udává silný název sestavení, které je třeba zaregistrovat v globální mezipaměti sestavení (GAC). Název sestavení musí být plně kvalifikovaný v souladu s verzí, jazykovou verzí a veřejným klíčem sestavení. Plně kvalifikovaný název musí být v uvozovkách.

Například „myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0“ je plně kvalifikovaný název sestavení.
/InstallStateDir=[directoryName ] Určuje adresář souboru .InstallState, který obsahuje data používaná při odinstalování sestavení. Ve výchozím nastavení je to adresář obsahující sestavení.
/LogFile=[název_souboru] Určuje název souboru protokolu, do kterého je zaznamenán průběh instalace. Pokud je tato /LogFile možnost vynechána, soubor protokolu s názvem assemblyname. Vytvoří se protokol InstallLog. Pokud název souboru vynecháte, nevygeneruje se žádný soubor protokolu.
/LogToConsole={true|false} Pokud truese zobrazí výstup do konzoly. Pokud false (výchozí), potlačí výstup do konzoly.
/ShowCallStack Vypíše zásobník volání do souboru protokolu, jestliže v kterémkoli bodu instalace dojde k výjimce.
/u[ninstall] Odinstaluje zadaná sestavení. Na rozdíl od ostatních možností /u platí pro všechna sestavení bez ohledu na to, kde se tato možnost zobrazuje na příkazovém řádku.

Další možnosti instalačního programu

Jednotlivé instalační programy používané v rámci sestavení můžou kromě těch uvedených v části Možnosti rozpoznat i možnosti. Další informace o těchto možnostech získáte spuštěním InstallUtil.exe s cestami sestavení na příkazovém řádku spolu s /? možností nebo /help možností. Chcete-li zadat tyto možnosti, přidejte je do příkazového řádku spolu s možnostmi rozeznávanými souborem InstallUtil.exe.

Poznámka:

Vlastnost vrátí text nápovědy k možnostem podporovaným jednotlivými součástmi instalačního Installer.HelpText programu. Jednotlivé možnosti zadané na příkazovém řádku jsou z vlastnosti přístupné prostřednictvím kódu Installer.Context programu.

Všechny možnosti a parametry příkazového řádku jsou zapsány do souboru protokolu instalace. Pokud ale použijete /Password parametr, který některé součásti instalačního programu rozpozná, nahradí se informace o hesle osmi hvězdičkami (*) a nezobrazí se v souboru protokolu.

Důležité

V některých případech parametry předávané instalačním programem mohou obsahovat citlivé údaje nebo informace umožňující identifikaci konkrétní osoby, které jsou ve výchozím nastavení zapsány do souboru protokolu jako prostý text. Chcete-li zabránit tomuto chování, můžete potlačit soubor protokolu zadáním /LogFile= (bez argumentu názvu souboru ) na příkazovém řádku.

Poznámky

Aplikace rozhraní .NET Framework se skládají z tradičních programových souborů a přidružených prostředků, jako jsou fronty zpráv, protokoly událostí a čítače výkonu, které se musí vytvořit při nasazení aplikace. Pomocí komponent instalačního programu sestavení můžete vytvořit tyto zdroje při instalaci vaší aplikace a odstranit je při odinstalaci aplikace. InstallUtil.exe rozpozná a spustí tyto komponenty instalačního programu.

Do příkazového řádku můžete zadat několik sestavení najednou. Každá možnost, která předchází název sestavení, se vztahuje na instalaci tohoto sestavení. /u S výjimkou a /AssemblyName, možnosti jsou kumulativní, ale přepisovatelné. To znamená, že možnosti zadané pro jedno sestavení se vztahují na všechna následující sestavení, pokud dané možnosti není přidělena jiná hodnota.

Pokud spustíte Installutil.exe proti sestavení bez zadání jakékoli možnosti, do adresáře sestavení se umístí následující tři soubory:

  • InstallUtil.InstallLog – obsahuje obecný popis průběhu instalace.
  • assemblyname. InstallLog – Obsahuje informace specifické pro fázi potvrzení procesu instalace. Další informace o fázi potvrzení naleznete v Commit metodě.
  • assemblyname. InstallState – Obsahuje data použitá k odinstalaci sestavení.

Installutil.exe používá reflexi ke kontrole zadaných sestavení a k vyhledání všech Installer typů, které mají System.ComponentModel.RunInstallerAttribute atribut nastaven na true. Nástroj pak provede buď metodu Installer.Install Installer.Uninstall , nebo pro každou instanci Installer typu. InstallUtil.exe provede instalaci transakčním způsobem; to znamená, že pokud instalace jednoho sestavení selže, zruší instalace všech ostatních sestavení. Odinstalování není transakční.

Installutil.exe nemůže nainstalovat nebo odinstalovat sestavení se zpožděným podpisem, ale může nainstalovat nebo odinstalovat sestavení se silným názvem.

32bitová verze modulu CLR (Common Language Runtime) je dodávána pouze s 32bitovou verzí instalačního programu, ale 64bitová verze modulu CLR se dodává s 32bitovou i 64bitovou verzí instalačního programu. Při použití 64bitového modulu CLR pomocí 32bitového instalačního nástroje nainstalujte 32bitová sestavení a 64bitový instalační nástroj k instalaci 64bitových a běžných zprostředkujících jazykových sestavení (CIL). Obě verze instalačního programu se chovají stejně.

Nemůžete použít Installutil.exe k nasazení služby systému Windows vytvořené pomocí jazyka C++, protože Installutil.exe nerozpozná vložený nativní kód vytvořený kompilátorem jazyka C++. Pokud se pokusíte nasadit službu systému Windows C++ s Installutil.exe, vyvolá se výjimka, jako BadImageFormatException je například vyvolání. V tomto případě přesuňte kód služby do modulu C++ a pak napište objekt instalačního programu v jazyce C# nebo Visual Basic.

Příklady

Následující příkaz zobrazí popis syntaxe příkazů a možností InstallUtil.exe.

installutil /?

Následující příkaz zobrazí popis syntaxe příkazů a možností InstallUtil.exe. Zobrazí také popis a seznam možností podporovaných součástmi instalačního programu, pokud myAssembly.exe byl text nápovědy přiřazen k vlastnosti instalačního Installer.HelpText programu.

installutil /? myAssembly.exe

Následující příkaz spustí součásti instalačního programu v sestavení myAssembly.exe.

installutil myAssembly.exe

Následující příkaz spustí součásti instalačního programu v sestavení pomocí /AssemblyName přepínače a plně kvalifikovaného názvu.

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

Následující příkaz spustí součásti instalačního programu v sestavení určeném názvem souboru a v sestavení určeném silným názvem. Všimněte si, že všechna sestavení zadaná názvem souboru musí předcházet sestavením určeným silným názvem na příkazovém řádku, protože /AssemblyName možnost nelze přepsat.

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

Následující příkaz spustí součásti odinstalace v sestavení myAssembly.exe.

installutil /u myAssembly.exe

Následující příkaz spustí součásti odinstalace v sestaveních myAssembly1.exe a myAssembly2.exe.

installutil myAssembly1.exe /u myAssembly2.exe

Vzhledem k tomu, že umístění /u možnosti na příkazovém řádku není důležité, je to ekvivalentní následujícímu příkazu.

installutil /u myAssembly1.exe myAssembly2.exe

Následující příkaz spustí instalační programy v sestavení myAssembly.exe a určuje, že informace o průběhu budou zapsány do myLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe

Následující příkaz spustí instalační programy v sestavení myAssembly.exe, určuje, že informace o průběhu by měly být zapsány do myLog.InstallLoga používá vlastní /reg možnost instalačních programů určit, že aktualizace by měly být provedeny v systémovém registru.

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

Následující příkaz spustí instalační programy v sestavení myAssembly.exe, použije vlastní /email možnost instalačního programu k určení e-mailové adresy uživatele a potlačí výstup do souboru protokolu.

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

Následující příkaz zapíše průběh instalace a myAssembly.exe myLog.InstallLog zapíše průběh do myTestAssembly.exe myTestLog.InstallLog.

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

Viz také