Global Assembly Cache-Tool (Gacutil.exe)

Mithilfe des Global Assembly Cache-Tools können Sie den Inhalt des globalen Assemblycaches anzeigen lassen und bearbeiten sowie Cacheinhalt downloaden.

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

Parameter

Argument Beschreibung

assemblyName

Der Name einer Assembly. Sie können entweder einen teilweise angegebenen Assemblynamen wie myAssembly oder einen vollständig angegebenen Assemblynamen wie myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5 bereitstellen.

assemblyPath

Der Name einer Datei, die ein Assemblymanifest enthält.

assemblyListFile

Der Pfad einer ANSI-Textdatei, in der zu installierende oder zu deinstallierende Assemblys aufgeführt sind. Wenn Sie zum Installieren von Assemblys eine Textdatei verwenden möchten, geben Sie den Pfad zu den einzelnen Assemblys in der Datei in jeweils eigenen Zeilen an. Das Tool interpretiert relative Pfade als relativ zum Speicherort von assemblyListFile. Wenn Sie zum Deinstallieren von Assemblys eine Textdatei verwenden möchten, geben Sie den vollqualifizierten Namen der einzelnen Assemblys in jeweils eigenen Zeilen in der Datei an. Weitere Informationen hierzu finden Sie in den Beispielen zum Inhalt von assemblyListFile weiter unten in diesem Thema.

Option Beschreibung

/cdl

Löscht den Inhalt des Downloadcaches.

/f

Geben Sie diese Option mit der /i-Option oder der /il-Option an, um die Neuinstallation einer Assembly zu erzwingen. Wenn im globalen Assemblycache bereits eine Assembly mit demselben Namen vorhanden ist, wird diese vom Tool überschrieben.

/h[elp]

Zeigt die Befehlssyntax und Optionen für das Tool an.

/i assemblyPath

Installiert eine Assembly im globalen Assemblycache.

/if assemblyPath

Installiert eine Assembly im globalen Assemblycache. Wenn im globalen Assemblycache bereits eine Assembly mit demselben Namen vorhanden ist, wird diese vom Tool überschrieben.

Die Angabe dieser Option entspricht der kombinierten Angabe der /i-Option und der /f-Option.

/il assemblyListFile

Installiert eine oder mehrere in assemblyListFile angegebene Assemblys im globalen Assemblycache.

/ir assemblyPath

scheme

id

description

Installiert eine Assembly im globalen Assemblycache und fügt einen Verweis zum Zählen der Assembly hinzu. Die Parameter assemblyPath, scheme, id, und description müssen mit dieser Option angegeben werden. Eine Beschreibung der gültigen Werte, die für diese Parameter angegeben werden können, finden Sie unter der /r-Option.

Die Angabe dieser Option entspricht der kombinierten Angabe der /i-Option und der /r-Option.

/l [assemblyName]

Listet den Inhalt des globalen Assemblycaches auf. Wenn Sie den assemblyName-Parameter angeben, werden vom Tool nur die Assemblys aufgelistet, die mit diesem Namen übereinstimmen.

/ldl

Listet den Cacheinhalt der gedownloadeten Dateien auf.

/lr [assemblyName]

Listet alle Assemblys und die entsprechenden Verweiszähler auf. Wenn Sie den assemblyName-Parameter angeben, werden vom Tool nur die mit diesem Namen übereinstimmenden Assemblys sowie die entsprechenden Verweiszähler aufgelistet.

/nologo

Unterdrückt die Anzeige des Startbanners von Microsoft.

/r [assemblyName | assemblyPath]

scheme

id

description

Gibt einen zurückverfolgten Verweis auf Assemblys an, die installiert oder deinstalliert werden sollen. Geben Sie diese Option mit den Optionen /i, /il, /u oder /ul an.

Wenn Sie eine Assembly installieren möchten, müssen Sie die Parameter assemblyPath, scheme, id, und description mit dieser Option angeben. Wenn Sie eine Assembly deinstallieren möchten, müssen Sie die Parameter assemblyName, scheme, id, und description angeben.

Um einen Verweis auf eine Assembly zu entfernen, müssen Sie dieselben Parameter scheme, id und description angeben, die beim Installieren der Assembly mit der /i-Option und der /r-Option (bzw. der /ir-Option) angegeben wurden. Wenn Sie eine Assembly deinstallieren, entfernt das Tool auch die Assembly aus dem globalen Assemblycache, sofern es sich um den letzten zu entfernenden Verweis handelt und Windows Installer keine ausstehenden Verweise auf die Assembly enthält.

Der scheme -Parameter gibt den Typ des Installationschemas an. Sie können einen der folgenden Werte angeben:

  • UNINSTALL_KEY: Geben Sie diesen Wert an, wenn das Installationsprogramm die Anwendung in Microsoft Windows dem Eintrag Software hinzufügt. Anwendungen fügen sich selbst dem Eintrag Software hinzu, indem sie HKLM\Software\Microsoft\Windows\CurrentVersion einen Registrierungsschlüssel hinzufügen.

  • FILEPATH: Geben Sie diesen Wert an, wenn die Anwendung nicht durch das Installationsprogramm dem Eintrag Software hinzugefügt wird.

  • OPAQUE: Geben Sie diesen Wert an, wenn bei der Installation kein Registrierungschlüssel oder Dateipfad angegeben werden kann. Mithilfe dieses Werts können Sie benutzerdefinierte Informationen für den id-Parameter angeben.

Der für den id-Parameter anzugebende Wert hängt von dem Wert ab, der für den scheme-Parameter angegeben wurde:

  • Wenn Sie für den scheme-Parameter UNINSTALL_KEY angeben, geben Sie den Namen der Anwendung an, der im Registrierungsschlüssel HKLM\Software\Microsoft\Windows\CurrentVersion festgelegt ist. Wenn der Registrierungsschlüssel z. B. HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp lautet, geben Sie als id-Parameter MyApp an.

  • Wenn Sie als scheme-Parameter FILEPATH angeben, geben Sie den vollständigen Pfad der ausführbaren Datei an, die die Assembly als id-Parameter installiert.

  • Wenn Sie als scheme-Parameter OPAQUE angeben, können Sie als id-Parameter beliebige Daten angeben. Die angegebenen Daten müssen in Anführungszeichen ("") eingeschlossen sein.

Mithilfe des description-Parameters können Sie einen beschreibenden Text für die zu installierende Anwendung eingeben. Diese Informationen werden beim Auflisten von Verweisen angezeigt.

/silent

Unterdrückt die Anzeige aller Datenausgaben.

/u assemblyName

Deinstalliert eine Assembly aus dem globalen Assemblycache

/uf assemblyName

Erzwingt die Deinstallation einer angegebenen Assembly durch Entfernen aller Verweise auf die Assembly.

Die Angabe dieser Option entspricht der kombinierten Angabe der /u-Option und der /f-Option.

Hinweis

Mit dieser Option können Sie keine Assembly entfernen, die mit Microsoft Windows Installer installiert wurde. Bei einem Versuch, diesen Vorgang auszuführen, wird vom Tool eine Fehlermeldung angezeigt.

/ul assemblyListFile

Deinstalliert eine oder mehrere in assemblyListFile angegebene Assemblys aus dem globalen Assemblycache.

/u[ngen] assemblyName

Deinstalliert eine bestimmte Assembly aus dem globalen Assemblycache. Wenn die angegebene Assembly über einen Zähler für vorhandene Verweise verfügt, wird der Verweiszähler vom Tool angezeigt, und die Assembly wird nicht aus dem globalen Assemblycache entfernt.

Hinweis

In .NET Framework, Version 2.0, wird /ungen nicht unterstützt. Verwenden Sie stattdessen den Befehl uninstall von Native Image Generator (Ngen.exe).

Wenn in .NET Framework, Version 1.0 und 1.1, /ungen angegeben wird, entfernt Gacutil.exe die Assembly aus dem Cache für systemeigene Abbilder. Dieser Cache speichert die systemeigenen Abbilder für Assemblys, die mit dem Native Image Generator (Ngen.exe) erstellt wurden.

/ur assemblyName

scheme

id

description

Deinstalliert einen Verweis auf eine angegebene Assembly aus dem globalen Assemblycache. Um einen Verweis auf eine Assembly zu entfernen, müssen Sie dieselben Parameter scheme, id und description angeben, die beim Installieren der Assembly mit der /i-Option und der /r-Option (bzw. der /ir-Option) angegeben wurden. Eine Beschreibung der gültigen Werte, die für diese Parameter angegeben werden können, finden Sie unter der /r-Option.

Die Angabe dieser Option entspricht der kombinierten Angabe der /u-Option und der /r-Option.

/?

Zeigt die Befehlssyntax und Optionen für das Tool an.

Hinweise

Dieses Tool bietet im Prinzip dieselben Funktionen zum Anzeigen des Caches wie die Windows Shell-Erweiterung (Shfusion.dll), kann jedoch besser für Buildskripts, Makefiles und Stapeldateien verwendet werden.

Gacutil.exe ermöglicht Ihnen insbesondere das Installieren von Assemblys im Cache, das Entfernen von Assemblys aus dem Cache sowie das Auflisten des Inhalts des Caches.

Gacutil.exe bietet Optionen zur Unterstützung einer Verweiszählung, die dem von Windows Installer unterstützten Verweiszählungsschema ähnelt. Mit Gacutil.exe können Sie zwei Anwendungen installieren, die dieselbe Assembly installieren, wobei das Tool die Anzahl der Verweise auf die Assembly verfolgt. Daher verbleibt die Assembly auf dem Computer, bis beide Anwendungen deinstalliert wurden. Wenn Sie Gacutil.exe für die eigentliche Produktinstallation einsetzen, verwenden Sie die Optionen, die die Verweiszählung unterstützen. Durch gleichzeitige Verwendung der /i-Option und der /r-Option können Sie eine Assembly installieren und einen Verweis für die Zählung hinzufügen. Durch gleichzeitige Verwendung der /u-Option und der /r-Option können Sie einen Verweiszähler für eine Assembly entfernen. Beachten Sie, dass weder die /i-Option noch die /u-Option allein die Verweiszählung unterstützt. Diese Optionen eignen sich für die Verwendung während der Produktentwicklung, jedoch nicht für die eigentliche Produktinstallation.

Mit der /il-Option oder der /ul-Option können Sie eine Liste von Assemblys installieren bzw. deinstallieren, die in einer ANSI-Textdatei gespeichert ist. Der Inhalt der Textdatei muss richtig formatiert sein. Wenn Sie zum Installieren von Assemblys eine Textdatei verwenden möchten, geben Sie den Pfad zu den einzelnen Assemblys in der Datei in jeweils eigenen Zeilen an. Im folgenden Beispiel wird der Inhalt einer Datei veranschaulicht, die zu installierende Assemblys enthält.

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

Wenn Sie zum Deinstallieren von Assemblys eine Textdatei verwenden möchten, geben Sie den vollqualifizierten Namen der einzelnen Assemblys in jeweils eigenen Zeilen in der Datei an. Im folgenden Beispiel wird der Inhalt einer Datei dargestellt, die zu deinstallierende Assemblys enthält.

myAssembly1,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly2,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab
myAssembly3,Version=1.1.0.0,Culture=en,PublicKeyToken=874e23ab874e23ab

Beispiele

Mit dem folgenden Befehl wird die Assembly mydll.dll im globalen Assemblycache installiert.

gacutil /i mydll.dll

Mit dem folgenden Befehl wird die Assembly hello aus dem globalen Assemblycache entfernt, sofern für die Assembly keine Verweiszählung vorhanden ist.

gacutil /u hello

Mit dem obigen Befehl können mehrere Assemblys aus dem Assemblycache entfernt werden, da der Assemblyname nicht vollständig angegeben ist. Wenn z. B. Version 1.0.0.0 und Version 3.2.2.1 von hello im Cache installiert sind, entfernt der Befehl gacutil /u hello beide Assemblys.

Im folgenden Beispiel wird gezeigt, wie Sie das Entfernen mehrerer Assemblys vermeiden. Dieser Befehl entfernt lediglich die Assembly hello, die der vollständig angegebenen Versionsnummer, der Kultur und dem öffentlichen Schlüssel entspricht.

gacutil /u hello, Version=1.0.0.1, Culture="de",PublicKeyToken=45e343aae32233ca

Mit dem folgenden Befehl werden die in der Datei assemblyList.txt angegebenen Assemblys im globalen Assemblycache installiert.

gacutil /il assemblyList.txt

Mit dem folgenden Befehl werden die in der Datei assemblyList.txt angegebenen Assemblys aus dem globalen Assemblycache entfernt.

gacutil /ul assemblyList.txt

Mit dem folgenden Befehl wird myDll.dll im globalen Assemblycache installiert und ein Verweis für die Zählung hinzugefügt. Die Assembly myDll.dll wird von der Anwendung MyApp verwendet. Der UNINSTALL_KEY MyApp -Parameter gibt den Registrierungsschlüsel an, der MyApp in Windows der Liste unter der Option Software hinzufügt. Der description -Parameter wird als My Application Description angegeben.

gacutil /i /r myDll.dll UNINSTALL_KEY MyApp "My Application Description"

Mit dem folgenden Befehl wird myDll.dll im globalen Assemblycache installiert und ein Verweis für die Zählung hinzugefügt. Der scheme -Parameter FILEPATH und der id -Parameter c:\applications\myApp\myApp.exe geben den Pfad der Anwendung an, die myDll.dll installiert. Der description -Parameter wird als MyApp angegeben.

gacutil /i /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

Mit dem folgenden Befehl wird myDll.dll im globalen Assemblycache installiert und ein Verweis für die Zählung hinzugefügt. Der scheme -Parameter OPAQUE ermöglicht die Anpassung des id -Parameters und des description -Parameters.

gacutil /i /r mydll.dll OPAQUE "Insert custom application details here" "Insert Custom description information here"

Mit dem folgenden Befehl wird der Verweis auf myDll.dll durch die Anwendung myApp entfernt. Wenn es sich hierbei um den letzten Verweis auf die Assembly handelt, wird auch die Assembly aus dem Assemblycache entfernt.

gacutil /u /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp

Der folgende Befehl listet den Inhalt des globalen Assemblycaches auf.

gacutil /l

Siehe auch

Referenz

.NET Framework-Tools
Assembly Cache Viewer-Tool (Shfusion.dll)
Assembly Registration-Tool (Regasm.exe)
SDK-Eingabeaufforderung

Konzepte

Globaler Assemblycache