Share via


Installutil.exe (Installer-Tool)

Aktualisiert: April 2011

Das Installer-Tool ist ein Befehlszeilenhilfsprogramm, mit dem Sie Serverressourcen installieren und deinstallieren können, indem Sie die Komponenten des Installationsprogramms in angegebenen Assemblys ausführen. Dieses Tool kann mit Klassen im System.Configuration.Install-Namespace verwendet werden.

Dieses Tool wird automatisch mit Visual Studio und mit dem Windows SDK installiert. Um das Tool auszuführen, empfiehlt es sich, dass Sie die Visual Studio-Eingabeaufforderung oder Windows SDK-Eingabeaufforderung (CMD-Shell) verwenden. Mit diesen Hilfsprogrammen können Sie das Tool problemlos ausführen, ohne in den Installationsordner zu navigieren. Weitere Informationen finden Sie unter Visual Studio- und Windows SDK-Eingabeaufforderungen.

  • Wenn Visual Studio auf dem Computer installiert ist: Klicken Sie auf der Taskleiste auf Start, All Programs, Visual Studio und Visual Studio Tools, und klicken Sie dann auf Visual Studio Command Prompt.

    – oder –

    Wenn das Windows SDK auf Ihrem Computer installiert ist: Klicken Sie auf der Taskleiste auf Start, All Programs, klicken Sie auf den Ordner für das Windows SDK, und klicken anschließend auf Command Prompt (oder CMD Shell).

  • Geben Sie an der Eingabeaufforderung Folgendes ein:

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

Parameter

Argument

Beschreibungen

assembly

Der Dateiname der Assembly, in der die Komponenten des Installationsprogramms ausgeführt werden sollen. Lassen Sie diesen Parameter aus, wenn Sie den starken Namen der Assembly angeben möchten, indem Sie die /AssemblyName-Option verwenden.

Optionen

Option

Beschreibungen

/h[elp]

– oder –

/?

Zeigt Befehlssyntax und Optionen für das Tool an.

/help Assembly

– oder –

/? Assembly

Zeigt zusätzliche Optionen, die von einzelnen Installationsprogrammen innerhalb der angegebenen Assemblys erkannt werden, zusammen mit Befehlssyntax und Optionen für InstallUtil.exe an. Mit dieser Option wird der von der Installer.HelpText-Eigenschaft aller Installationsprogrammkomponenten zurückgegebene Text zum Hilfetext der InstallUtil.exe hinzugefügt.

/AssemblyName "Assemblyname

,Version=Haupt.Neben.Build.Revision

,Culture=Gebietsschema

,PublicKeyToken=ÖffentlichesSchlüsseltoken"

Gibt den starken Namen einer Assembly an, die im globalen Assemblycache registriert werden muss. Der Assemblyname muss mit der Version, Kultur und dem öffentlichen Schlüsseltoken der Assembly vollständig qualifiziert werden. Der vollqualifizierte Name muss in Anführungszeichen stehen.

"myAssembly, Culture=neutral, PublicKeyToken=0038abc9deabfle5, Version=4.0.0.0" ist beispielsweise ein vollqualifizierter Assemblyname.

/InstallStateDir=[Verzeichnisname]

Gibt das Verzeichnis der .InstallState-Datei an, die die Daten enthält, die verwendet werden, um die Assembly zu deinstallieren. Das Standardverzeichnis enthält die Assembly.

/LogFile=[Dateiname]

Gibt den Namen der Protokolldatei an, in der der Installationsverlauf aufgezeichnet wird. Wenn die /LogFile-Option fehlt, wird standardmäßig die Protokolldatei assemblyname.InstallLog erstellt. Wenn filename nicht angegeben wird, wird keine Protokolldatei generiert.

/LogToConsole={true|false}

Wenn true, wird Ausgabe an die Konsole angezeigt. Wenn false (Standardeinstellung), wird die Ausgabe in der Konsole unterdrückt.

/ShowCallStack

Gibt die Aufrufliste in die Protokolldatei aus, wenn im Verlauf der Installation eine Ausnahme eintritt.

/u[ninstall]

Deinstalliert die angegebenen Assemblys. Im Gegensatz zu den anderen Optionen wird /u auf alle Assemblys angewendet, wobei es unerheblich ist, an welcher Stelle sich die Option in der Befehlszeile befindet.

Zusätzliche Optionen des Installationsprogramms

Einzelne Installationsprogramme, die in einer Assembly verwendet werden, erkennen möglicherweise Optionen zusätzlich zu den im Abschnitt Optionen aufgeführten. Um Informationen über diese Optionen zu erhalten, führen Sie InstallUtil.exe mit den Pfaden der Assemblys in der Befehlszeile zusammen mit der Option /? oder /help aus. Um diese Optionen anzuzeigen, schließen Sie sie in der Befehlszeile zusammen mit den Optionen ein, die von InstallUtil.exe erkannt werden.

HinweisHinweis

Hilfetext für die Optionen, die durch einzelne Installationsprogramm-Komponenten unterstützt werden, wird von der Installer.HelpText-Eigenschaft zurückgegeben.Auf die einzelnen Optionen, die in der Befehlszeile eingegeben wurden, kann über die Installer.Context-Eigenschaft programmgesteuert zugegriffen werden.

Alle Optionen und Befehlszeilenparameter werden in die Installationsprotokolldatei geschrieben. Wenn Sie jedoch den /Password-Parameter verwenden, der von mehreren Installationsprogrammkomponenten erkannt wird, werden die Kennwortinformationen durch acht Sternchen (*) ersetzt und nicht in der Protokolldatei angezeigt.

Wichtiger HinweisWichtig

In einigen Fällen können an das Installationsprogramm übergebene Parameter vertrauliche oder personenbezogene Informationen enthalten, die standardmäßig in eine Nur-Text-Protokolldatei geschrieben werden.Um dieses Verhalten zu verhindern, können Sie die Protokolldatei unterdrücken, indem Sie /LogFile= (ohne filename-Argument) nach Installutil.exe in der Befehlszeile angeben.

Hinweise

.NET Framework-Anwendungen bestehen aus herkömmlichen Programmdateien und zugeordneten Ressourcen wie Meldungswarteschlangen, Ereignisprotokollen und Leistungsindikatoren, die beim Einsatz der Anwendung erstellt werden müssen. Sie können die Komponenten des Installationsprogramms einer Assembly verwenden, um diese Ressourcen beim Installieren der Anwendung zu erstellen und beim Deinstallieren der Anwendung zu entfernen. Installutil.exe erkennt diese Komponenten des Installationsprogramms und führt sie aus.

Sie können mehrere Assemblys in einer Befehlszeile angeben. Jede Option, die vor einem Assemblynamen steht, bezieht sich auf die Installation dieser Assembly. Mit Ausnahme von /u und /AssemblyName sind Optionen kumulativ, können jedoch überschrieben werden. Das heißt, für eine Assembly angegebene Optionen werden auf alle nachfolgenden Assemblys angewendet, wenn die Option nicht mit einem neuen Wert angegeben wird.

Wenn Sie Installutil.exe ohne Angabe von Optionen für eine Assembly ausführen, werden die folgenden Dateien im Verzeichnis der Assembly platziert:

  • InstallUtil.InstallLog - Enthält eine allgemeine Beschreibung des Installationsverlaufs.

  • Assemblyname.InstallLog - Diese Datei enthält Informationen, die sich auf die Commitphase des Installationsverlaufs beziehen. Weitere Informationen zur Commitphase finden Sie unter der Commit-Methode.

  • assemblyname.InstallState - Enthält Daten für die Deinstallation der Assembly.

Installutil.exe überprüft die angegebenen Assemblys mittels Reflexion und sucht alle Installer-Typen, bei denen das System.ComponentModel.RunInstallerAttribute-Attribut auf true festgelegt wurde. Anschließend führt das Tool für jede Instanz des Installer-Typs die Installer.Install-Methode oder die Installer.Uninstall-Merthode aus. Installutil.exe führt die Installation in Form einer Transaktion durch. Wenn die Installation einer Assembly fehlschlägt, wird die Installation aller anderen Assemblys zurückgenommen. Die Deinstallation wird nicht als Transaktion durchgeführt.

Verzögert signierte Assemblys können mit Installutil.exe weder installiert noch deinstalliert werden, jedoch kann das Tool Assemblys mit starkem Namen installieren und deinstallieren.

Ab .NET Framework, Version 2.0, ist im Lieferumfang der 32-Bit-Version der Common Language Runtime ausschließlich die 32-Bit-Version des Installer-Tools enthalten. Der Lieferumfang der 64-Bit-Version der Common Language Runtime umfasst hingegen sowohl eine 32-Bit-Version als auch eine 64-Bit-Version des Installer-Tools. Verwenden Sie in der 64-Bit-Common Language Runtime zur Installation von 32-Bit-Assemblys das 32-Bit-Installer-Tool und zur Installation von 64-Bit-Assemblys sowie von Microsoft Intermediate Language (MSIL)-Assemblys das 64-Bit-Installer-Tool. Beide Versionen des Installer-Tools verhalten sich gleich.

Sie können Installutil.exe nicht verwenden, um einen Windows-Dienst bereitzustellen, der mit C++ erstellt wurde, da Installutil.exe den eingebetteten systemeigenen Code nicht erkennen kann, der vom C++-Compiler erzeugt wird. Wenn Sie versuchen, einen mit C++ erstellten Windows-Dienst mit Installutil.exe zu verwenden, wird eine Ausnahme, z. B. BadImageFormatException, ausgelöst. Um mit diesem Szenario zu arbeiten, verschieben Sie den Dienstknoten in ein C++-Modul, und schreiben Sie dann das Installerobjekt in C# oder Visual Basic.

Beispiele

Mit dem folgenden Befehl werden eine Beschreibung der Befehlssyntax und Optionen für "InstallUtil.exe" angezeigt.

installutil /?

Mit dem folgenden Befehl werden eine Beschreibung der Befehlssyntax und Optionen für "InstallUtil.exe" angezeigt. Außerdem wird eine Beschreibung und eine Liste der von den Komponenten des Installationsprogramms unterstützten Optionen in myAssembly.exe angezeigt, wenn Hilfetext der Installer.HelpText-Eigenschaft des Installationsprogramms zugewiesen wurde.

installutil /? myAssembly.exe

Der folgende Befehl führt die Komponenten des Installationsprogramms in der Assembly myAssembly.exe aus.

installutil myAssembly.exe

Der folgende Befehl führt die Komponenten des Installationsprogramms in einer Assembly mithilfe des Schalters /AssemblyName und eines vollqualifizierten Namens aus.

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

Mit dem folgenden Befehl werden die Installerkomponenten in einer Assembly, die vom Dateinamen angegeben wird, und in einer Assembly ausgeführt, die vom starken Namen angegeben wird. Beachten Sie, dass alle nach Dateinamen angegebenen Assemblys vor Assemblys stehen müssen, die nach starkem Namen in der Befehlszeile angegeben werden, da die /AssemblyName-Option nicht überschrieben werden kann.

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

Der folgende Befehl führt die Komponenten des Deinstallationsprogramms in der Assembly myAssembly.exe aus.

installutil /u myAssembly.exe 

Der folgende Befehl führt die Komponenten des Deinstallationsprogramms in den Assemblys myAssembly1.exe und myAssembly2.exe aus.

installutil myAssembly1.exe /u myAssembly2.exe

Da die Position der /u-Option in der Befehlszeile nicht wichtig ist, entspricht diese dem folgenden Befehl.

installutil /u myAssembly1.exe myAssembly2.exe

Der folgende Befehl führt die Installationsprogramme in der Assembly myAssembly.exe aus und gibt an, dass Verlaufsinformationen in myLog.InstallLog geschrieben werden.

installutil /LogFile=myLog.InstallLog myAssembly.exe 

Der folgende Befehl führt die Installationsprogramme in der Assembly myAssembly.exe aus, gibt an, dass Statusinformationen in myLog.InstallLog geschrieben werden sollen und verwendet die benutzerdefinierte /reg-Option des Installationsprogramms, um anzugeben, dass Aktualisierungen in der Systemregistrierung vorgenommen werden sollen.

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

Der folgende Befehl führt die Installationsprogramme in der Assembly myAssembly.exe aus, verwendet die benutzerdefinierte /email-Option des Installationsprogramms, um die E-Mail-Adresse des Benutzers angegeben, und unterdrückt die Ausgabe in die Protokolldatei.

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

Der folgende Befehl schreibt den Installationsverlauf für myAssembly.exe in myLog.InstallLog und den Verlauf für myTestAssembly.exe in myTestLog.InstallLog.

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

Siehe auch

Referenz

System.Configuration.Install

Visual Studio- und Windows SDK-Eingabeaufforderungen

Weitere Ressourcen

.NET Framework-Tools

Änderungsprotokoll

Datum

Versionsgeschichte

Grund

April 2011

Hinzugefügte Informationen zur Verwendung der Visual Studio- und Windows SDK-Eingabeaufforderungen.

Informationsergänzung.