Gacutil.exe (グローバル アセンブリ キャッシュ ツール)
更新 : 2011 年 4 月
グローバル アセンブリ キャッシュ ツールを使用すると、グローバル アセンブリ キャッシュとダウンロード キャッシュの内容を表示および操作できます。
このツールは Visual Studio および Windows SDK と一緒に自動的にインストールされます。 このツールを実行するには、Visual Studio コマンド プロンプトまたは Windows SDK コマンド プロンプト (CMD シェル) を使用することをお勧めします。 これらのユーティリティを使用すると、インストール フォルダーに移動することなくツールを簡単に実行できます。 詳細については、「Visual Studio と Windows SDK のコマンド プロンプト」を参照してください。
コンピューターに Visual Studio がインストールされている場合は、タスク バーの [Start] ボタンをクリックし、[All Programs]、[Visual Studio]、[Visual Studio Tools]、[Visual Studio Command Prompt] の順にクリックします。
または
コンピューターに Windows SDK がインストールされている場合は、タスク バーの [Start] ボタンをクリックし、[All Programs]、Windows SDK のフォルダー、[Command Prompt] (または [CMD Shell]) の順にクリックします。
コマンド プロンプトに次のように入力します。
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 |
アセンブリをグローバル アセンブリ キャッシュにインストールし、そのアセンブリをカウントするための参照を追加します。 このオプションと共に 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 を使用すると、アセンブリのキャッシュへのインストールやキャッシュからの削除、およびキャッシュ内容の一覧表示を実行できます。
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
参照
参照
Shfusion.dll (アセンブリ キャッシュ ビューアー)
Visual Studio と Windows SDK のコマンド プロンプト
概念
その他の技術情報
履歴の変更
日付 |
履歴 |
理由 |
---|---|---|
2011 年 4 月 |
Visual Studio と Windows SDK のコマンド プロンプトの使用に関する情報を追加。 |
情報の拡充 |