Installutil.exe (installatieprogramma)
Het installatieprogramma is een opdrachtregelprogramma waarmee u serverbronnen kunt installeren en verwijderen door de installatie van de installatieonderdelen in opgegeven assembly's uit te voeren. Dit hulpprogramma werkt in combinatie met klassen in de System.Configuration.Install naamruimte.
Dit hulpprogramma wordt automatisch geïnstalleerd met Visual Studio. Als u het hulpprogramma wilt uitvoeren, gebruikt u de Visual Studio Developer-opdrachtprompt of Visual Studio Developer PowerShell.
Typ het volgende bij de opdrachtprompt:
Syntaxis
installutil [/u[ninstall]] [options] assembly [[options] assembly] ...
Parameters
Argument | Beschrijving |
---|---|
assembly |
De bestandsnaam van de assembly waarin de installatieonderdelen moeten worden uitgevoerd. Laat deze parameter weg als u de sterke naam van de assembly wilt opgeven met behulp van de /AssemblyName optie. |
Opties
Optie | Omschrijving |
---|---|
/h[elp] – of – /? |
Geeft de opdrachtsyntaxis en opties voor het hulpprogramma weer. |
/help vergadering– of – /? vergadering |
Geeft extra opties weer die worden herkend door afzonderlijke installatieprogramma's binnen de opgegeven assembly, samen met de opdrachtsyntaxis en opties voor InstallUtil.exe. Met deze optie wordt de tekst die door de eigenschap van Installer.HelpText elk installatieonderdeel wordt geretourneerd, toegevoegd aan de Help-tekst van InstallUtil.exe. Als dat het voorbeeld isUser , ServiceProcessInstaller.Account zijn de /username en /password opties beschikbaar. |
/AssemblyName "assemblyName,Version=major.minor.build.revision ,Culture=landinstelling ,PublicKeyToken=publicKeyToken" |
Hiermee geeft u de sterke naam van een assembly, die moet worden geregistreerd in de globale assemblycache. De assemblynaam moet volledig zijn gekwalificeerd met de versie, cultuur en het openbare-sleuteltoken van de assembly. De volledig gekwalificeerde naam moet tussen aanhalingstekens staan. Bijvoorbeeld: 'myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0' is een volledig gekwalificeerde assemblynaam. |
/InstallStateDir=[ directoryName ] |
Hiermee geeft u de map van de . InstallState-bestand met de gegevens die worden gebruikt om de assembly te verwijderen. De standaardwaarde is de map die de assembly bevat. |
/LogFile= [bestandsnaam] |
Hiermee geeft u de naam van het logboekbestand waarin de voortgang van de installatie wordt vastgelegd. Als de optie wordt weggelaten, wordt standaard een logboekbestand met de /LogFile naam assemblynaam gebruikt. InstallLog wordt gemaakt. Als u de bestandsnaam weglaat, wordt er geen logboekbestand gegenereerd. |
/LogToConsole ={true |false } |
Als true de uitvoer naar de console wordt weergegeven. Als false (de standaardinstelling) de uitvoer naar de console onderdrukt. |
/ShowCallStack |
Voert de aanroepstack uit naar het logboekbestand als er op enig moment tijdens de installatie een uitzondering optreedt. |
/u [ninstall ] |
Hiermee verwijdert u de opgegeven assembly's. In tegenstelling tot de andere opties geldt /u dit voor alle assembly's, ongeacht waar de optie op de opdrachtregel wordt weergegeven. |
Aanvullende installatieopties
Afzonderlijke installatieprogramma's die in een assembly worden gebruikt, kunnen opties herkennen naast de installatieprogramma's die worden vermeld in de sectie Opties . Als u meer wilt weten over deze opties, voert u InstallUtil.exe uit met de paden van de assembly's op de opdrachtregel, samen met de /?
of /help
optie. Als u deze opties wilt opgeven, neemt u deze op de opdrachtregel op, samen met de opties die worden herkend door InstallUtil.exe.
Notitie
Help-tekst over de opties die door afzonderlijke installatieonderdelen worden ondersteund, wordt geretourneerd door de Installer.HelpText eigenschap. De afzonderlijke opties die op de opdrachtregel zijn ingevoerd, zijn programmatisch toegankelijk vanuit de Installer.Context eigenschap.
Alle opties en opdrachtregelparameters worden naar het installatielogboekbestand geschreven. Als u echter de /Password
parameter gebruikt, die wordt herkend door sommige onderdelen van het installatieprogramma, wordt de wachtwoordgegevens vervangen door acht sterretjes (*) en worden ze niet weergegeven in het logboekbestand.
Belangrijk
In sommige gevallen kunnen parameters die worden doorgegeven aan het installatieprogramma gevoelige of persoonsgegevens bevatten, die standaard naar een logboekbestand zonder opmaak wordt geschreven. Om dit gedrag te voorkomen, kunt u het logboekbestand onderdrukken door op te geven /LogFile=
(zonder bestandsnaamargument ) op de opdrachtregel.
Opmerkingen
.NET Framework-toepassingen bestaan uit traditionele programmabestanden en bijbehorende resources, zoals berichtenwachtrijen, gebeurtenislogboeken en prestatiemeteritems, die moeten worden gemaakt wanneer de toepassing wordt geïmplementeerd. U kunt de installatieonderdelen van een assembly gebruiken om deze resources te maken wanneer uw toepassing is geïnstalleerd en om ze te verwijderen wanneer uw toepassing wordt verwijderd. Installutil.exe detecteert en voert deze installatieonderdelen uit.
U kunt meerdere assembly's op dezelfde opdrachtregel opgeven. Elke optie die plaatsvindt voordat een assemblynaam van toepassing is op de installatie van die assembly. /u
Met uitzondering van en /AssemblyName
zijn opties cumulatief maar overschreven. Dat wil gezegd: opties die voor één assembly zijn opgegeven, zijn van toepassing op alle volgende assembly's, tenzij de optie is opgegeven met een nieuwe waarde.
Als u Installutil.exe uitvoert voor een assembly zonder opties op te geven, worden de volgende drie bestanden in de map van de assembly geplaatst:
- InstallUtil.InstallLog - Bevat een algemene beschrijving van de voortgang van de installatie.
- assemblynaam. InstallLog: bevat informatie die specifiek is voor de doorvoerfase van het installatieproces. Zie de methode voor meer informatie over de Commit doorvoerfase.
- assemblynaam. InstallState - Bevat gegevens die worden gebruikt om de assembly te verwijderen.
Installutil.exe gebruikt weerspiegeling om de opgegeven assembly's te inspecteren en om alle Installer typen te vinden waarop het System.ComponentModel.RunInstallerAttribute kenmerk is ingesteld true
. Het hulpprogramma voert vervolgens de Installer.Install of de Installer.Uninstall methode uit op elk exemplaar van het Installer type. Installutil.exe de installatie op transactionele wijze uitvoert; Als een van de assembly's niet kan worden geïnstalleerd, worden de installaties van alle andere assembly's teruggedraaid. Verwijderen is niet transactioneel.
Installutil.exe niet met vertraging ondertekende assembly's kunnen installeren of verwijderen, maar wel sterk benoemde assembly's installeren of verwijderen.
De 32-bits versie van de Common Language Runtime (CLR) wordt alleen geleverd met de 32-bits versie van het installatieprogramma, maar de 64-bits versie van de CLR wordt geleverd met zowel 32-bits als 64-bits versies van het installatieprogramma. Wanneer u de 64-bits CLR gebruikt, gebruikt u het 32-bits installatieprogramma voor het installeren van 32-bits assembly's en het 64-bits installatieprogramma voor het installeren van 64-bits en algemene tussenliggende taalassembly's (CIL). Beide versies van het installatieprogramma gedragen zich hetzelfde.
U kunt Installutil.exe niet gebruiken om een Windows-service te implementeren die is gemaakt met C++, omdat Installutil.exe de ingesloten systeemeigen code die wordt geproduceerd door de C++-compiler niet herkent. Als u probeert een C++-Windows-service met Installutil.exe te implementeren, wordt er een uitzondering gegenereerd, zoals BadImageFormatException er een uitzondering wordt gegenereerd. Als u met dit scenario wilt werken, verplaatst u de servicecode naar een C++-module en schrijft u vervolgens het installatieobject in C# of Visual Basic.
Voorbeelden
Met de volgende opdracht wordt een beschrijving weergegeven van de opdrachtsyntaxis en opties voor InstallUtil.exe.
installutil /?
Met de volgende opdracht wordt een beschrijving weergegeven van de opdrachtsyntaxis en opties voor InstallUtil.exe. Er wordt ook een beschrijving en een lijst weergegeven met opties die door de installatieonderdelen myAssembly.exe
worden ondersteund als helptekst is toegewezen aan de eigenschap van Installer.HelpText het installatieprogramma.
installutil /? myAssembly.exe
Met de volgende opdracht worden de installatieonderdelen in de assembly myAssembly.exe
uitgevoerd.
installutil myAssembly.exe
Met de volgende opdracht worden de installatieonderdelen in een assembly uitgevoerd met behulp van de /AssemblyName
switch en een volledig gekwalificeerde naam.
installutil /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0"
Met de volgende opdracht worden de onderdelen van het installatieprogramma uitgevoerd in een assembly die is opgegeven met de bestandsnaam en in een assembly die is opgegeven met een sterke naam. Houd er rekening mee dat alle assembly's die zijn opgegeven met de bestandsnaam, moeten voorafgaan aan assembly's die zijn opgegeven met een sterke naam op de opdrachtregel, omdat de /AssemblyName
optie niet kan worden overschreven.
installutil myAssembly.exe /AssemblyName "myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0"
Met de volgende opdracht worden de onderdelen van de verwijderprogramma's in de assembly myAssembly.exe
uitgevoerd.
installutil /u myAssembly.exe
Met de volgende opdracht worden de onderdelen van de verwijderprogramma's in de assembly's myAssembly1.exe
en myAssembly2.exe
.
installutil myAssembly1.exe /u myAssembly2.exe
Omdat de positie van de /u
optie op de opdrachtregel niet belangrijk is, is dit gelijk aan de volgende opdracht.
installutil /u myAssembly1.exe myAssembly2.exe
Met de volgende opdracht worden de installatieprogramma's in de assembly myAssembly.exe
uitgevoerd en wordt aangegeven dat de voortgangsgegevens naar worden geschreven myLog.InstallLog
.
installutil /LogFile=myLog.InstallLog myAssembly.exe
Met de volgende opdracht worden de installatieprogramma's in de assembly myAssembly.exe
uitgevoerd, wordt aangegeven dat de voortgangsgegevens moeten worden weggeschreven naar myLog.InstallLog
en wordt de aangepaste /reg
optie van de installatieprogramma's gebruikt om op te geven dat er updates moeten worden aangebracht in het systeemregister.
installutil /LogFile=myLog.InstallLog /reg=true myAssembly.exe
Met de volgende opdracht worden de installatieprogramma's in de assembly myAssembly.exe
uitgevoerd, wordt de aangepaste /email
optie van het installatieprogramma gebruikt om het e-mailadres van de gebruiker op te geven en wordt de uitvoer naar het logboekbestand onderdrukt.
installutil /LogFile= /email=admin@mycompany.com myAssembly.exe
Met de volgende opdracht schrijft u de voortgang van de installatie voor myAssembly.exe
naar myLog.InstallLog
en schrijft u de voortgang naar myTestAssembly.exe
.myTestLog.InstallLog
installutil /LogFile=myLog.InstallLog myAssembly.exe /LogFile=myTestLog.InstallLog myTestAssembly.exe