グローバル アセンブリ キャッシュ ツール (Gacutil.exe)
グローバル アセンブリ キャッシュ ツールを使用すると、グローバル アセンブリ キャッシュとダウンロード キャッシュの内容を表示および操作できます。
gacutil [options] [assemblyName | assemblyPath | assemblyListFile]
パラメータ
引数 | 説明 |
---|---|
assemblyName |
アセンブリの名前。 |
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 |
アセンブリをグローバル アセンブリ キャッシュにインストールし、そのアセンブリをカウントするための参照を追加します。このオプションと共に assemblyPath、scheme、id、および description の各パラメータを指定する必要があります。これらのパラメータとして指定できる有効な値については、/r オプションを参照してください。 このオプションを指定するのは、/i オプションと /r オプションを一緒に指定するのと同じです。 |
/l [assemblyName] |
グローバル アセンブリ キャッシュの内容を一覧表示します。assemblyName パラメータを指定した場合は、その名前と一致するアセンブリだけが一覧表示されます。 |
/ldl |
ダウンロードされたファイルのキャッシュの内容を一覧表示します。 |
/lr [assemblyName] |
すべてのアセンブリとそれらに該当する参照カウントを一覧表示します。assemblyName パラメータを指定した場合は、その名前と一致するアセンブリと、それらに該当する参照カウントだけが一覧表示されます。 |
/nologo |
Microsoft 著作権情報を表示しません。 |
/r [assemblyName | assemblyPath] scheme id description |
インストールまたはアンインストールするアセンブリへのトレースされた参照を指定します。このオプションは、/i、/il、/u、または /ul の各オプションと共に指定します。 アセンブリをインストールするには、このオプションと共に assemblyPath、scheme、 id、および description の各パラメータを指定します。アセンブリをアンインストールするには、assemblyName、scheme、id、および description の各パラメータを指定します。 アセンブリへの参照を削除するには、アセンブリをインストールしたときに /i オプションおよび /r (または /ir) オプションと共に指定したのと同じ scheme、id、および description の各パラメータを指定する必要があります。アセンブリをアンインストールする場合、それが削除する最後の参照で、Windows インストーラにアセンブリへの未解決の参照がまったくないときには、アセンブリもグローバル アセンブリ キャッシュから削除されます。 scheme パラメータはインストール スキームのタイプを指定します。次のいずれかの値を指定できます。
id パラメータとして指定する値は、scheme パラメータに指定した値によって決まります。
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) オプションと共に指定したのと同じ scheme、id、および 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 のコマンド プロンプト