Dela via


Installutil.exe (installationsverktyg)

Installationsprogrammet är ett kommandoradsverktyg som gör att du kan installera och avinstallera serverresurser genom att köra installationskomponenterna i angivna sammansättningar. Det här verktyget fungerar tillsammans med klasser i System.Configuration.Install namnområdet.

Det här verktyget installeras automatiskt med Visual Studio. Om du vill köra verktyget använder du Visual Studio Developer Command Prompt eller Visual Studio Developer PowerShell.

Skriv följande vid kommandotolken:

Syntax

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

Parametrar

Argument beskrivning
assembly Filnamnet på sammansättningen där installationskomponenterna ska köras. Utelämna den här parametern om du vill ange sammansättningens starka namn med hjälp /AssemblyName av alternativet .

Alternativ

Alternativ Description
/h[elp]

-eller-

/?
Visar kommandosyntax och alternativ för verktyget.
/helpförsamling

-eller-

/?församling
Visar ytterligare alternativ som identifieras av enskilda installationsprogram inom den angivna sammansättningen, tillsammans med kommandosyntax och alternativ för InstallUtil.exe. Det här alternativet lägger till texten som returneras av varje installationskomponents Installer.HelpText egenskap i hjälptexten för InstallUtil.exe. Om är är User/username till exempel ServiceProcessInstaller.Account alternativen och /password tillgängliga.
/AssemblyName "assemblyName

,Version=major.minor.build.revision

,Culture=locale

,PublicKeyToken=publicKeyToken"
Anger det starka namnet på en sammansättning, som måste registreras i den globala sammansättningscacheminnet. Sammansättningsnamnet måste vara fullständigt kvalificerat med sammansättningens version, kultur och offentliga nyckeltoken. Det fullständigt kvalificerade namnet måste omges av citattecken.

Till exempel är "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0" ett fullständigt kvalificerat sammansättningsnamn.
/InstallStateDir=[directoryName ] Anger katalogen för . InstallState-fil som innehåller de data som används för att avinstallera sammansättningen. Standardvärdet är den katalog som innehåller sammansättningen.
/LogFile=[filnamn] Anger namnet på loggfilen där installationsförloppet registreras. Om alternativet /LogFile utelämnas som standard en loggfil med namnet assemblyname. InstallLog skapas. Om filnamnet utelämnas genereras ingen loggfil.
/LogToConsole={true|false} Om truevisar utdata till konsolen. Om false (standardvärdet) utelämnar utdata till konsolen.
/ShowCallStack Matar ut anropsstacken till loggfilen om ett undantag inträffar någon gång under installationen.
/u[ninstall] Avinstallerar de angivna sammansättningarna. Till skillnad från de andra alternativen /u gäller för alla sammansättningar oavsett var alternativet visas på kommandoraden.

Ytterligare installationsalternativ

Enskilda installationsprogram som används i en sammansättning kan identifiera alternativ utöver de som anges i avsnittet Alternativ . Om du vill veta mer om de här alternativen kör du InstallUtil.exe med sökvägarna för sammansättningarna på kommandoraden /? tillsammans med alternativet eller /help . Om du vill ange de här alternativen inkluderar du dem på kommandoraden tillsammans med de alternativ som identifieras av InstallUtil.exe.

Kommentar

Hjälptext om de alternativ som stöds av enskilda installationskomponenter returneras av Installer.HelpText egenskapen. De enskilda alternativ som har angetts på kommandoraden är tillgängliga programmatiskt från Installer.Context egenskapen.

Alla alternativ och kommandoradsparametrar skrivs till installationsloggfilen. Men om du använder parametern /Password , som identifieras av vissa installationsprogramkomponenter, ersätts lösenordsinformationen med åtta asterisker (*) och visas inte i loggfilen.

Viktigt!

I vissa fall kan parametrar som skickas till installationsprogrammet innehålla känslig eller personligt identifierbar information, som som standard skrivs till en oformaterad textloggfil. För att förhindra det här beteendet kan du ignorera loggfilen genom att /LogFile= ange (utan filnamnsargument ) på kommandoraden.

Kommentarer

.NET Framework-program består av traditionella programfiler och associerade resurser, till exempel meddelandeköer, händelseloggar och prestandaräknare som måste skapas när programmet distribueras. Du kan använda installationskomponenterna för en sammansättning för att skapa dessa resurser när programmet installeras och för att ta bort dem när programmet avinstalleras. Installutil.exe identifierar och kör dessa installationskomponenter.

Du kan ange flera sammansättningar på samma kommandorad. Alla alternativ som inträffar innan ett sammansättningsnamn gäller för den sammansättningens installation. /u Förutom och /AssemblyNameär alternativen kumulativa men kan åsidosättas. Det innebär att alternativ som anges för en sammansättning gäller för alla efterföljande sammansättningar om inte alternativet anges med ett nytt värde.

Om du kör Installutil.exe mot en sammansättning utan att ange några alternativ placeras följande tre filer i sammansättningens katalog:

  • InstallUtil.InstallLog – innehåller en allmän beskrivning av installationsförloppet.
  • assemblyname. InstallLog – innehåller information som är specifik för incheckningsfasen i installationsprocessen. Mer information om incheckningsfasen finns i Commit metoden.
  • assemblyname. InstallState – innehåller data som används för att avinstallera sammansättningen.

Installutil.exe använder reflektion för att inspektera de angivna sammansättningarna och för att hitta alla Installer typer som har System.ComponentModel.RunInstallerAttribute attributet inställt på true. Verktyget kör sedan antingen Installer.Install metoden eller Installer.Uninstall på varje instans av Installer typen. Installutil.exe utför installationen på ett transaktionellt sätt. Om en av sammansättningarna inte kan installeras återställs installationerna av alla andra sammansättningar. Avinstallationen är inte transaktionell.

Installutil.exe kan inte installera eller avinstallera fördröjningssignerade sammansättningar, men det kan installera eller avinstallera starkt namngivna sammansättningar.

32-bitarsversionen av CLR (Common Language Runtime) levereras endast med 32-bitarsversionen av installationsprogrammet, men 64-bitarsversionen av CLR levereras med både 32- och 64-bitarsversioner av installationsprogrammet. När du använder 64-bitars CLR använder du 32-bitars installationsprogrammet för att installera 32-bitars sammansättningar och 64-bitars installationsprogrammet för att installera 64-bitars och vanliga mellanliggande språksammansättningar (CIL). Båda versionerna av installationsprogrammet fungerar likadant.

Du kan inte använda Installutil.exe för att distribuera en Windows-tjänst som skapades med hjälp av C++, eftersom Installutil.exe inte känner igen den inbäddade interna koden som produceras av C++-kompilatorn. Om du försöker distribuera en C++ Windows-tjänst med Installutil.exe genereras ett undantag som BadImageFormatException t.ex. Om du vill arbeta med det här scenariot flyttar du tjänstkoden till en C++-modul och skriver sedan installationsobjektet i C# eller Visual Basic.

Exempel

Följande kommando visar en beskrivning av kommandosyntaxen och alternativen för InstallUtil.exe.

installutil /?

Följande kommando visar en beskrivning av kommandosyntaxen och alternativen för InstallUtil.exe. Den visar också en beskrivning och lista över alternativ som stöds av installationskomponenterna i myAssembly.exe om hjälptexten har tilldelats Installer.HelpText installationsegenskapen.

installutil /? myAssembly.exe

Följande kommando kör installationskomponenterna i sammansättningen myAssembly.exe.

installutil myAssembly.exe

Följande kommando kör installationskomponenterna i en sammansättning med hjälp av växeln /AssemblyName och ett fullständigt kvalificerat namn.

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

Följande kommando kör installationskomponenterna i en sammansättning som anges med filnamn och i en sammansättning som anges med starkt namn. Observera att alla sammansättningar som anges av filnamnet måste föregå sammansättningar som anges med starkt namn på kommandoraden /AssemblyName , eftersom alternativet inte kan åsidosättas.

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

Följande kommando kör avinstallationskomponenterna i sammansättningen myAssembly.exe.

installutil /u myAssembly.exe

Följande kommando kör avinstallationskomponenterna i sammansättningarna myAssembly1.exe och myAssembly2.exe.

installutil myAssembly1.exe /u myAssembly2.exe

Eftersom alternativets /u position på kommandoraden inte är viktig motsvarar detta följande kommando.

installutil /u myAssembly1.exe myAssembly2.exe

Följande kommando kör installationsprogrammet i sammansättningen myAssembly.exe och anger att förloppsinformation skrivs till myLog.InstallLog.

installutil /LogFile=myLog.InstallLog myAssembly.exe

Följande kommando kör installationsprogrammet i sammansättningen myAssembly.exe, anger att förloppsinformation ska skrivas till myLog.InstallLogoch använder installationsprogrammets anpassade /reg alternativ för att ange att uppdateringar ska göras i systemregistret.

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

Följande kommando kör installationsprogrammet i sammansättningen myAssembly.exe, använder installationsprogrammets anpassade /email alternativ för att ange användarens e-postadress och undertrycker utdata till loggfilen.

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

Följande kommando skriver installationsstatusen för myAssembly.exe till myLog.InstallLog och skriver förloppet för myTestAssembly.exe till myTestLog.InstallLog.

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

Se även