グローバル アセンブリ キャッシュ ツール (Gacutil.exe)

グローバル アセンブリ キャッシュ ツールを使用すると、グローバル アセンブリ キャッシュとダウンロード キャッシュの内容を表示および操作できます。

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]

パラメータ

引数 説明

assemblyName

アセンブリの名前。myAssembly などの部分的に指定したアセンブリ名、または myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5 などの完全に指定したアセンブリ名を指定できます。

assemblyPath

アセンブリ マニフェストを含むファイルの名前。

assemblyListFile

インストールまたはアンインストールするアセンブリを一覧表示する ANSI テキスト ファイルへのパス。テキスト ファイルを使用してアセンブリをインストールするには、ファイルの行ごとに各アセンブリへのパスを指定します。このツールは、assemblyListFil の位置を基準にして相対パスを解釈します。テキスト ファイルを使用してアセンブリをアンインストールするには、ファイルの行ごとに各アセンブリの完全限定アセンブリ名を指定します。このトピックの後半にある assemblyListFile の内容の例を参照してください。

オプション 説明

/cdl

ダウンロード キャッシュの内容を削除します。

/f

このオプションを /i オプションまたは /il オプションと共に使用して、アセンブリを強制的に再インストールします。同じ名前のアセンブリがグローバル アセンブリ キャッシュに既に存在する場合、既存のアセンブリは上書きされます。

/h[elp]

このツールのコマンド構文とオプションを表示します。

/i assemblyPath

アセンブリをグローバル アセンブリ キャッシュにインストールします。

/if assemblyPath

アセンブリをグローバル アセンブリ キャッシュにインストールします。同じ名前のアセンブリがグローバル アセンブリ キャッシュに既に存在する場合、既存のアセンブリは上書きされます。

このオプションを指定するのは、/i オプションと /f オプションを一緒に指定するのと同じです。

/il assemblyListFile

assemblyListFile で指定された 1 つ以上のアセンブリをグローバル アセンブリ キャッシュにインストールします。

/ir assemblyPath

scheme

id

description

アセンブリをグローバル アセンブリ キャッシュにインストールし、そのアセンブリをカウントするための参照を追加します。このオプションと共に assemblyPathschemeid、および description の各パラメータを指定する必要があります。これらのパラメータとして指定できる有効な値については、/r オプションを参照してください。

このオプションを指定するのは、/i オプションと /r オプションを一緒に指定するのと同じです。

/l [assemblyName]

グローバル アセンブリ キャッシュの内容を一覧表示します。assemblyName パラメータを指定した場合は、その名前と一致するアセンブリだけが一覧表示されます。

/ldl

ダウンロードされたファイルのキャッシュの内容を一覧表示します。

/lr [assemblyName]

すべてのアセンブリとそれらに該当する参照カウントを一覧表示します。assemblyName パラメータを指定した場合は、その名前と一致するアセンブリと、それらに該当する参照カウントだけが一覧表示されます。

/nologo

Microsoft 著作権情報を表示しません。

/r [assemblyName | assemblyPath]

scheme

id

description

インストールまたはアンインストールするアセンブリへのトレースされた参照を指定します。このオプションは、/i/il/u、または /ul の各オプションと共に指定します。

アセンブリをインストールするには、このオプションと共に assemblyPathschemeid、および description の各パラメータを指定します。アセンブリをアンインストールするには、assemblyNameschemeid、および description の各パラメータを指定します

アセンブリへの参照を削除するには、アセンブリをインストールしたときに /i オプションおよび /r (または /ir) オプションと共に指定したのと同じ schemeid、および description の各パラメータを指定する必要があります。アセンブリをアンインストールする場合、それが削除する最後の参照で、Windows インストーラにアセンブリへの未解決の参照がまったくないときには、アセンブリもグローバル アセンブリ キャッシュから削除されます。

scheme パラメータはインストール スキームのタイプを指定します。次のいずれかの値を指定できます。

  • UNINSTALL_KEY: インストーラがアプリケーションを Microsoft Windows の [アプリケーションの追加と削除] に追加する場合は、この値を指定します。アプリケーションは、レジストリ キーを HKLM\Software\Microsoft\Windows\CurrentVersion に追加して、そのアプリケーション自体を [アプリケーションの追加と削除] に追加します。

  • FILEPATH: インストーラがアプリケーションを [アプリケーションの追加と削除] に追加しない場合は、この値を指定します。

  • OPAQUE: レジストリ キーまたはファイル パスの指定をインストール シナリオで行わない場合は、この値を指定します。この値を指定した場合には、id パラメータとしてカスタム情報を指定できます。

id パラメータとして指定する値は、scheme パラメータに指定した値によって決まります。

  • scheme パラメータとして UNINSTALL_KEY を指定した場合は、HKLM\Software\Microsoft\Windows\CurrentVersion レジストリ キーに設定したアプリケーションの名前を指定します。たとえば、レジストリ キーが HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp の場合は、id パラメータとして MyApp を指定します。

  • scheme パラメータとして FILEPATH を指定した場合は、id パラメータとして、アセンブリをインストールする実行可能ファイルへの完全パスを指定します。

  • scheme パラメータとして OPAQUE を指定した場合は、id パラメータとして任意のデータを指定できます。指定するデータは二重引用符 ("") で囲む必要があります。

description パラメータを使用して、インストールするアプリケーションに関する説明を指定できます。この情報は、参照を列挙した場合に表示されます。

/silent

すべての出力を表示しません。

/u assemblyName

アセンブリをグローバル アセンブリ キャッシュからアンインストールします。

/uf assemblyName

指定したアセンブリへのすべての参照を削除して、アセンブリを強制的にアンインストールします。

このオプションを指定するのは、/u オプションと /f オプションを一緒に指定するのと同じです。

注意

このオプションを使用しても、Microsoft Windows インストーラを使用してインストールされたアセンブリを削除することはできません。削除しようとすると、エラー メッセージが表示されます。

/ul assemblyListFile

assemblyListFile で指定された 1 つ以上のアセンブリをグローバル アセンブリ キャッシュからアンインストールします。

/u[ngen] assemblyName

指定したアセンブリをグローバル アセンブリ キャッシュからアンインストールします。指定したアセンブリが既存の参照カウントを持っている場合、参照カウントは表示されますが、アセンブリはグローバル アセンブリ キャッシュから削除されません。

注意

.NET Framework Version 2.0 では、/ungen はサポートされていません。代わりに、ネイティブ イメージ ジェネレータ (Ngen.exe)uninstall コマンドを使用します。

.NET Framework Version 1.0 と 1.1 で /ungen を指定すると、Gacutil.exe はネイティブ イメージ キャッシュからアセンブリを削除します。このキャッシュは、ネイティブ イメージ ジェネレータ (Ngen.exe) を使用して作成したアセンブリのネイティブ イメージを格納します。

/ur assemblyName

scheme

id

description

指定したアセンブリへの参照をグローバル アセンブリ キャッシュからアンインストールします。アセンブリへの参照を削除するには、アセンブリをインストールしたときに /i オプションおよび /r (または /ir) オプションと共に指定したのと同じ schemeid、および description の各パラメータを指定する必要があります。これらのパラメータとして指定できる有効な値については、/r オプションを参照してください。

このオプションを指定するのは、/u オプションと /r オプションを一緒に指定するのと同じです。

/?

このツールのコマンド構文とオプションを表示します。

解説

このツールは、キャッシュの表示に関して Windows のシェル拡張機能 (Shfusion.dll) とほとんど同じ機能を提供しますが、スクリプト、メイクファイル、およびバッチ ファイルについては、このツールの方が適しています。

Gacutil.exe を使用すると、アセンブリのキャッシュへのインストールやキャッシュからの削除、およびキャッシュ内容の一覧表示を実行できます。

Gacutil.exe には、Windows インストーラでサポートされる参照カウント スキームに類似した参照カウントをサポートするオプションが用意されています。Gacutil.exe を使用して、同じアセンブリをインストールする 2 つのアプリケーションをインストールできます。このツールは、アセンブリへの参照の数を追跡します。その結果、両方のアプリケーションがアンインストールされるまで、アセンブリはコンピュータ上にとどまります。実際の製品のインストールに Gacutil.exe を使用する場合は、参照カウントをサポートするオプションを使用してください。アセンブリをインストールし、それをカウントするための参照を追加するには、/i オプションと /r オプションを一緒に使用します。アセンブリの参照カウントを削除するには、/u オプションと /r オプションを一緒に使用します。/i オプションと /u オプションを単独で使用しても、参照カウントはサポートされないので注意してください。これらのオプションは、製品開発中に使用するのには適していますが、実際の製品のインストールには適していません。

ANSI テキスト ファイルに格納されているアセンブリの一覧をインストールまたはアンインストールするには、それぞれ /il オプションまたは /ul オプションを使用します。テキスト ファイルの内容は正しく書式設定されている必要があります。テキスト ファイルを使用してアセンブリをインストールするには、ファイルの行ごとに各アセンブリへのパスを指定します。インストールするアセンブリを含むファイルの内容を表示する例を次に示します。

myAssembly1.dll
myAssembly2.dll
myAssembly3.dll

テキスト ファイルを使用してアセンブリをアンインストールするには、ファイルの行ごとに各アセンブリの完全限定アセンブリ名を指定します。アンインストールするアセンブリを含むファイルの内容を表示する例を次に示します。

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

アセンブリ mydll.dll をグローバル アセンブリ キャッシュにインストールするコマンドを次に示します。

gacutil /i mydll.dll

アセンブリ hello への参照カウントがない場合に、そのアセンブリをグローバル アセンブリ キャッシュから削除するコマンドを次に示します。

gacutil /u hello

上のコマンドでは、アセンブリ名が完全に指定されていないため、複数のアセンブリがアセンブリ キャッシュから削除される可能性もあります。たとえば、キャッシュ内に hello のバージョン 1.0.0.0 と 3.2.2.1 が両方ともインストールされている場合にコマンド gacutil /u hello を実行すると、アセンブリは両方とも削除されます。

複数のアセンブリを削除しないようにするには、次の例のようなコードを使用します。このコマンドでは、完全に指定したバージョン番号、カルチャ、および公開キーと一致するアセンブリ hello だけが削除されます。

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

ファイル assemblyList.txt で指定されたアセンブリをグローバル アセンブリ キャッシュにインストールするコマンドを次に示します。

gacutil /il assemblyList.txt

ファイル assemblyList.txt で指定されたアセンブリをグローバル アセンブリ キャッシュから削除するコマンドを次に示します。

gacutil /ul assemblyList.txt

次のコマンドにより myDll.dll がグローバル アセンブリ キャッシュにインストールされ、myDll.dll をカウントするための参照が追加されます。アセンブリ myDll.dll はアプリケーション MyApp によって使用されます。UNINSTALL_KEY MyApp パラメータは、Windows の [アプリケーションの追加と削除] に MyApp を追加するレジストリ キーを指定します。description パラメータは My Application Description と指定されています。

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

次のコマンドにより myDll.dll がグローバル アセンブリ キャッシュにインストールされ、myDll.dll をカウントするための参照が追加されます。scheme パラメータ FILEPATH と id パラメータ c:\applications\myApp\myApp.exe は、myDll.dll をインストールするアプリケーションへのパスを指定します。description パラメータは MyApp として指定されています。

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

次のコマンドにより myDll.dll がグローバル アセンブリ キャッシュにインストールされ、myDll.dll をカウントするための参照が追加されます。scheme パラメータ OPAQUE が指定されているので、id パラメータと description パラメータをカスタマイズできます。

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

アプリケーション myApp による myDll.dll への参照を削除するコマンドを次に示します。これがアセンブリへの最後の参照の場合は、アセンブリもグローバル アセンブリ キャッシュから削除されます。

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

グローバル アセンブリ キャッシュの内容を一覧表示するコマンドを次に示します。

gacutil /l

参照

関連項目

.NET Framework ツール
アセンブリ キャッシュ ビューア (Shfusion.dll)
アセンブリ登録ツール (Regasm.exe)
SDK のコマンド プロンプト

概念

グローバル アセンブリ キャッシュ