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 oboru System.Configuration.Install názvů .

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

V 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. Pokud chcete zadat silný název sestavení pomocí možnosti , tento parametr vy /AssemblyName vynechat.

Možnosti

Možnost Popis
/h[elp]

-nebo-

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

-nebo-

/?/?
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í Installer.HelpText každé komponenty instalačního programu do textu nápovědy InstallUtil.exe. Pokud je například ServiceProcessInstaller.AccountUser, jsou k dispozici /username/password možnosti a .
/AssemblyName "/AssemblyName

,Version=major.minor.build.revision

,Culture=národní prostředí

,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=[/InstallStateDir=[] 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=[/LogFile=] Určuje název souboru protokolu, do kterého je zaznamenán průběh instalace. Pokud je tato možnost vynechána /LogFile , je ve výchozím nastavení soubor protokolu s názvem /LogFile. Vytvoří se InstallLog. Pokud název souboru vyjmete, vygeneruje se žádný soubor protokolu.
/LogToConsole={true|false} Pokud true, 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 zobrazí na příkazovém řádku.

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

Jednotlivé instalační programy použité v rámci sestavení mohou rozpoznávat možnosti kromě těch, které jsou uvedeny v části Možnosti. Pokud se chcete o těchto možnostech dozvědět, InstallUtil.exe s cestami sestavení na příkazovém řádku spolu s možností /? nebo /help . 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 komponentami instalačního Installer.HelpText programu. Jednotlivé možnosti, které byly zadány na příkazovém řádku, jsou přístupné prostřednictvím kódu programu z Installer.Context vlastnosti .

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

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. Pokud chcete tomuto chování zabránit, můžete potlačit /LogFile= soubor protokolu zadáním (bez argumentu názvu /LogFile= souboru) Installutil.exe na příkazovém řádku.

Poznámky

Aplikace rozhraní .NET Framework se skládají z tradičních programových souborů a souvisejících zdrojů, jako jsou například fronty zpráv, protokoly událostí a čítače výkonu, které musí být vytvořeny při zavedení 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í. S výjimkou a /u/AssemblyNamejsou možnosti 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.

  • název sestavení. InstallLog – obsahuje informace specifické pro fázi potvrzení procesu instalace. Další informace o fázi potvrzení najdete v metodě Commit .

  • název sestavení. InstallState – obsahuje data používaná k odinstalaci sestavení.

Installutil.exe používá reflexi ke kontrole zadaných sestavení Installer a k vyhledání všech typů, které mají System.ComponentModel.RunInstallerAttribute atribut nastavený na true. Nástroj pak spustí metodu Installer.Install nebo Installer.Uninstall 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.

Od rozhraní .NET Framework verze 2.0, je 32bitová verze Common Language Runtime (CLR) dodávána pouze s 32bitovou verzí instalačního programu, zatímco 64bitová verze CLR je dodávána s 32bitovou i 64bitovou verzí instalačního programu. Jestliže používáte 64bitový CLR, 32bitová sestavení instalujte pomocí 32bitového instalačního programu a 64bitovou verzi instalačního programu použijte k instalaci 64bitových sestavení Microsoft Intermediate Language (MSIL). Obě verze instalačního programu se chovají stejně.

Installutil.exe nelze použít k nasazení služby systému Windows, která byla vytvořena pomocí C++, protože Installutil.exe nedokáže rozpoznat vložený nativní kód, který je vytvořen pomocí kompilátoru jazyka C++. Pokud se pokusíte nasadit službu C++ Windows s Installutil.exe, BadImageFormatException vyvolá se výjimka, například . 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 myAssembly.exe možností podporovaných komponentami instalačního programu v , pokud byl text nápovědy přiřazen 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, /AssemblyName protože 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 odinstalátoru v sestavení myAssembly.exe.

installutil /u myAssembly.exe

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

installutil myAssembly1.exe /u myAssembly2.exe

Vzhledem k tomu, že /u pozice možnosti na příkazovém řádku není důležitá, je to ekvivalentem následujícího příkazu.

installutil /u myAssembly1.exe myAssembly2.exe

Následující příkaz spustí instalační programy v sestavení a myAssembly.exe 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í myAssembly.exeprogramy v sestavení , určuje, myLog.InstallLogže informace o průběhu mají být zapsány do nástroje , /reg a pomocí vlastní možnosti instalačních programů určí, že se mají aktualizace provést v systémovém registru.

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

Následující příkaz spustí instalační myAssembly.exeprogramy v sestavení , /email pomocí vlastní možnosti instalačního programu určí e-mailovou adresu 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 pro do myAssembly.exemyLog.InstallLog a zapíše průběh pro myTestAssembly.exe do myTestLog.InstallLog.

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

Viz také