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

グローバル アセンブリ キャッシュ ツールを使用すると、グローバル アセンブリ キャッシュとダウンロード キャッシュの内容を表示および操作できます。The Global Assembly Cache tool allows you to view and manipulate the contents of the global assembly cache and download cache.

このツールは、Visual Studio と共に自動的にインストールされます。This tool is automatically installed with Visual Studio. このツールを実行するには、開発者コマンド プロンプト (または、Windows 7 の Visual Studio コマンド プロンプト) を使用します。To run the tool, use the Developer Command Prompt (or the Visual Studio Command Prompt in Windows 7). 詳細については、「Visual Studio 用開発者コマンド プロンプト」を参照してください。For more information, see Command Prompts.

コマンド プロンプトに次のように入力します。At the command prompt, type the following:

構文Syntax

gacutil [options] [assemblyName | assemblyPath | assemblyListFile]  

パラメーターParameters

引数Argument 説明Description
assemblyNameassemblyName アセンブリの名前。The name of an assembly. myAssembly などの部分的に指定したアセンブリ名、または myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5 などの完全に指定したアセンブリ名を指定できます。You can supply either a partially specified assembly name such as myAssembly or a fully specified assembly name such as myAssembly, Version=2.0.0.0, Culture=neutral, PublicKeyToken=0038abc9deabfle5.
assemblyPathassemblyPath アセンブリ マニフェストを含むファイルの名前。The name of a file that contains an assembly manifest.
assemblyListFileassemblyListFile インストールまたはアンインストールするアセンブリを一覧表示する ANSI テキスト ファイルへのパス。The path to an ANSI text file that lists assemblies to install or uninstall. テキスト ファイルを使用してアセンブリをインストールするには、ファイルの行ごとに各アセンブリへのパスを指定します。To use a text file to install assemblies, specify the path to each assembly on a separate line in the file. このツールは、assemblyListFile の位置を基準にして相対パスを解釈します。The tool interprets relative paths, relative to the location of the assemblyListFile. テキスト ファイルを使用してアセンブリをアンインストールするには、ファイルの行ごとに各アセンブリの完全限定アセンブリ名を指定します。To use a text file to uninstall assemblies, specify the fully qualified assembly name for each assembly on a separate line in the file. このトピックの後半にある assemblyListFile の内容の例を参照してください。See the assemblyListFile contents examples later in this topic.
オプションOption 説明Description
/cdl/cdl ダウンロード キャッシュの内容を削除します。Deletes the contents of the download cache.
/f/f このオプションを /i オプションまたは /il オプションと共に使用して、アセンブリを強制的に再インストールします。Specify this option with the /i or /il options to force an assembly to reinstall. 同じ名前のアセンブリがグローバル アセンブリ キャッシュに既に存在する場合、既存のアセンブリは上書きされます。If an assembly with the same name already exists in the global assembly cache, the tool overwrites it.
/h[elp]/h[elp] このツールのコマンド構文とオプションを表示します。Displays command syntax and options for the tool.
/i assemblyPath/i assemblyPath アセンブリをグローバル アセンブリ キャッシュにインストールします。Installs an assembly into the global assembly cache.
/if assemblyPath/if assemblyPath アセンブリをグローバル アセンブリ キャッシュにインストールします。Installs an assembly into the global assembly cache. 同じ名前のアセンブリがグローバル アセンブリ キャッシュに既に存在する場合、既存のアセンブリは上書きされます。If an assembly with the same name already exists in the global assembly cache, the tool overwrites it.

このオプションを指定するのは、/i オプションと /f オプションを一緒に指定するのと同じです。Specifying this option is equivalent to specifying the /i and /f options together.
/il assemblyListFile/il assemblyListFile assemblyListFile で指定された 1 つ以上のアセンブリをグローバル アセンブリ キャッシュにインストールします。Installs one or more assemblies specified in assemblyListFile into the global assembly cache.
/ir assemblyPath/ir assemblyPath

schemescheme

IDid

descriptiondescription
アセンブリをグローバル アセンブリ キャッシュにインストールし、そのアセンブリをカウントするための参照を追加します。Installs an assembly into the global assembly cache and adds a reference to count the assembly. このオプションと共に assemblyPathschemeid、および description の各パラメーターを指定する必要があります。You must specify the assemblyPath, scheme, id,and description parameters with this option. これらのパラメーターとして指定できる有効な値については、/r オプションを参照してください。For a description of the valid values you can specify for these parameters, see the /r option.

このオプションを指定するのは、/i オプションと /r オプションを一緒に指定するのと同じです。Specifying this option is equivalent to specifying the /i and /r options together.
/l [assemblyName]/l [assemblyName] グローバル アセンブリ キャッシュの内容を一覧表示します。Lists the contents of the global assembly cache. assemblyName パラメーターを指定した場合は、その名前と一致するアセンブリだけが一覧表示されます。If you specify the assemblyName parameter, the tool lists only the assemblies matching that name.
/ldl/ldl ダウンロードされたファイルのキャッシュの内容を一覧表示します。Lists the contents of the downloaded files cache.
/l [assemblyName]/lr [assemblyName] すべてのアセンブリとそれらに該当する参照カウントを一覧表示します。Lists all assemblies and their corresponding reference counts. assemblyName パラメーターを指定した場合は、その名前と一致するアセンブリと、それらに該当する参照カウントだけが一覧表示されます。If you specify the assemblyName parameter, the tool lists only the assemblies matching that name and their corresponding reference counts.
/nologo/nologo Microsoft 著作権情報を表示しません。Suppresses the Microsoft startup banner display.
/r [assemblyName | assemblyPath]/r [assemblyName | assemblyPath]

schemescheme

IDid

descriptiondescription
インストールまたはアンインストールするアセンブリへのトレースされた参照を指定します。Specifies a traced reference to an assembly or assemblies to install or uninstall. このオプションは、/i/il/u、または /ul の各オプションと共に指定します。Specify this option with the /i, /il, /u, or /ul options.

アセンブリをインストールするには、このオプションと共に assemblyPathschemeid、および description の各パラメーターを指定します。To install an assembly, specify the assemblyPath, scheme, id,and description parameters with this option. アセンブリをアンインストールするには、assemblyNameschemeid、および description の各パラメーターを指定します。To uninstall an assembly, specify the assemblyName, scheme, id,and description parameters.

アセンブリへの参照を削除するには、アセンブリをインストールしたときに /i オプションおよび /r (または /ir) オプションと共に指定したのと同じ schemeid および description の各パラメーターを指定する必要があります。To remove a reference to an assembly, you must specify the same scheme, id, and description parameters that were specified with the /i and /r (or /ir) options when the assembly was installed. アセンブリをアンインストールする場合、それが削除する最後の参照で、Windows インストーラーにアセンブリへの未解決の参照がまったくないときには、アセンブリもグローバル アセンブリ キャッシュから削除されます。If you are uninstalling an assembly, the tool also removes the assembly from the global assembly cache if it is the last reference to remove and if Windows Installer has no outstanding references to the assembly.

scheme パラメーターはインストール スキームのタイプを指定します。The scheme parameter specifies the type of installation scheme. 次のいずれかの値を指定できます。You can specify one of the following values:

- UNINSTALL_KEY: インストーラーがアプリケーションを Microsoft Windows の [アプリケーションの追加と削除] に追加する場合は、この値を指定します。- UNINSTALL_KEY: Specify this value if the installer adds the application to Add/Remove Programs in Microsoft Windows. アプリケーションは、レジストリ キーを HKLM\Software\Microsoft\Windows\CurrentVersion に追加して、そのアプリケーション自体を [アプリケーションの追加と削除] に追加します。Applications add themselves to Add/Remove Programs by adding a registry key to HKLM\Software\Microsoft\Windows\CurrentVersion.
- FILEPATH: インストーラーがアプリケーションを [アプリケーションの追加と削除] に追加しない場合は、この値を指定します。- FILEPATH: Specify this value if the installer does not add the application to Add/Remove Programs.
- OPAQUE: レジストリ キーまたはファイル パスの指定をインストール シナリオで行わない場合は、この値を指定します。- OPAQUE: Specify this value if supplying a registry key or file path does not apply to your installation scenario. この値を指定した場合には、id パラメーターとしてカスタム情報を指定できます。This value allows you to specify custom information for the id parameter.

id パラメーターとして指定する値は、scheme パラメーターに指定した値によって決まります。The value to specify for the id parameter depends on the value specified for the scheme parameter:

scheme パラメーターとして UNINSTALL_KEY を指定した場合は、HKLM\Software\Microsoft\Windows\CurrentVersion レジストリ キーに設定したアプリケーションの名前を指定します。- If you specify UNINSTALL_KEY for the scheme parameter, specify the name of the application set in the HKLM\Software\Microsoft\Windows\CurrentVersion registry key. たとえば、レジストリ キーが HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp の場合は、id パラメーターとして MyApp を指定します。For example, if the registry key is HKLM\Software\Microsoft\Windows\CurrentVersion\MyApp, specify MyApp for the id parameter.
- scheme パラメーターとして FILEPATH を指定した場合は、id パラメーターとして、アセンブリをインストールする実行可能ファイルへの完全パスを指定します。- If you specify FILEPATH for the scheme parameter, specify the full path to the executable file that installs the assembly as the id parameter.
- scheme パラメーターとして OPAQUE を指定した場合は、id パラメーターとして任意のデータを指定できます。- If you specify OPAQUE for the scheme parameter, you can supply any piece of data as the id parameter. 指定するデータは二重引用符 ("") で囲む必要があります。The data you specify must be enclosed in quotation marks ("").

description パラメーターを使用して、インストールするアプリケーションに関する説明を指定できます。The description parameter allows you to specify descriptive text about the application to install. この情報は、参照を列挙した場合に表示されます。This information is displayed when references are enumerated.
/silent/silent すべての出力を表示しません。Suppresses the display of all output.
/u assemblyName/u assemblyName アセンブリをグローバル アセンブリ キャッシュからアンインストールします。Uninstalls an assembly from the global assembly cache.
/uf assemblyName/uf assemblyName 指定したアセンブリへのすべての参照を削除して、アセンブリを強制的にアンインストールします。Forces a specified assembly to uninstall by removing all references to the assembly.

このオプションを指定するのは、/u オプションと /f オプションを一緒に指定するのと同じです。Specifying this option is equivalent to specifying the /u and /f options together. 注: このオプションを使用しても、Microsoft Windows インストーラーを使用してインストールされたアセンブリを削除することはできません。Note: You cannot use this option to remove an assembly that was installed using Microsoft Windows Installer. 削除しようとすると、エラー メッセージが表示されます。If you attempt this operation, the tool displays an error message.
/ul assemblyListFile/ul assemblyListFile assemblyListFile で指定された 1 つ以上のアセンブリをグローバル アセンブリ キャッシュからアンインストールします。Uninstalls one or more assemblies specified in assemblyListFile from the global assembly cache.
/u[ngen] assemblyName/u[ngen] assemblyName 指定したアセンブリをグローバル アセンブリ キャッシュからアンインストールします。Uninstalls a specified assembly from the global assembly cache. 指定したアセンブリが既存の参照カウントを持っている場合、参照カウントは表示されますが、アセンブリはグローバル アセンブリ キャッシュから削除されません。If the specified assembly has existing reference counts, the tool displays the reference counts and does not remove the assembly from the global assembly cache. 注: .NET Framework Version 2.0 では、/ungen はサポートされていません。Note: In the .NET Framework version 2.0, /ungen is not supported. 代わりに、Ngen.exe (ネイティブ イメージ ジェネレーター)uninstall コマンドを使用します。Instead, use the uninstall command of the Ngen.exe (Native Image Generator).

.NET Framework Version 1.0 と 1.1 で /ungen を指定すると、Gacutil.exe はネイティブ イメージ キャッシュからアセンブリを削除します。In the .NET Framework versions 1.0 and 1.1, specifying /ungen causes Gacutil.exe to remove the assembly from the native image cache. このキャッシュは、Ngen.exe (ネイティブ イメージ ジェネレーター) を使用して作成したアセンブリのネイティブ イメージを格納します。This cache stores the native images for assemblies that have been created using the Ngen.exe (Native Image Generator).
/ur assemblyName/ur assemblyName

schemescheme

IDid

descriptiondescription
指定したアセンブリへの参照をグローバル アセンブリ キャッシュからアンインストールします。Uninstalls a reference to a specified assembly from the global assembly cache. アセンブリへの参照を削除するには、アセンブリをインストールしたときに /i オプションおよび /r (または /ir) オプションと共に指定したのと同じ schemeid および description の各パラメーターを指定する必要があります。To remove a reference to an assembly, you must specify the same scheme, id, and description parameters that were specified with the /i and /r (or /ir) options when the assembly was installed. これらのパラメーターとして指定できる有効な値については、/r オプションを参照してください。For a description of the valid values you can specify for these parameters, see the /r option.

このオプションを指定するのは、/u オプションと /r オプションを一緒に指定するのと同じです。Specifying this option is equivalent to specifying the /u and /r options together.
/?/? このツールのコマンド構文とオプションを表示します。Displays command syntax and options for the tool.

コメントRemarks

注意

Gacutil.exe を使用するには管理者権限が必要です。You must have administrator privileges to use Gacutil.exe.

Gacutil.exe を使用すると、アセンブリのキャッシュへのインストールやキャッシュからの削除、およびキャッシュ内容の一覧表示を実行できます。Specifically, Gacutil.exe allows you to install assemblies into the cache, remove them from the cache, and list the contents of the cache.

Gacutil.exe には、Windows インストーラーでサポートされる参照カウント スキームに類似した参照カウントをサポートするオプションが用意されています。Gacutil.exe provides options that support reference counting similar to the reference counting scheme supported by Windows Installer. Gacutil.exe を使用して、同じアセンブリをインストールする 2 つのアプリケーションをインストールできます。このツールは、アセンブリへの参照の数を追跡します。You can use Gacutil.exe to install two applications that install the same assembly; the tool keeps track of the number of references to the assembly. その結果、両方のアプリケーションがアンインストールされるまで、アセンブリはコンピューター上にとどまります。As a result, the assembly will remain on the computer until both applications are uninstalled. 実際の製品のインストールに Gacutil.exe を使用する場合は、参照カウントをサポートするオプションを使用してください。If you are using Gacutil.exe for actual product installations, use the options that support reference counting. アセンブリをインストールし、それをカウントするための参照を追加するには、/i オプションと /r オプションを一緒に使用します。Use the /i and /r options together to install an assembly and add a reference to count it. アセンブリの参照カウントを削除するには、/u オプションと /r オプションを一緒に使用します。Use the /u and /r options together to remove a reference count for an assembly. /i オプションと /u オプションを単独で使用しても、参照カウントはサポートされないので注意してください。Be aware that using the /i and /u options alone does not support reference counting. これらのオプションは、製品開発中に使用するのには適していますが、実際の製品のインストールには適していません。These options are appropriate for use during product development but not for actual product installations.

ANSI テキスト ファイルに格納されているアセンブリの一覧をインストールまたはアンインストールするには、それぞれ /il オプションまたは /ul オプションを使用します。Use the /il or /ul options to install or uninstall a list of assemblies stored in an ANSI text file. テキスト ファイルの内容は正しく書式設定されている必要があります。The contents of the text file must be formatted correctly. テキスト ファイルを使用してアセンブリをインストールするには、ファイルの行ごとに各アセンブリへのパスを指定します。To use a text file to install assemblies, specify the path to each assembly on a separate line in the file. インストールするアセンブリを含むファイルの内容を表示する例を次に示します。The following example demonstrates the contents of a file containing assemblies to install.

myAssembly1.dll  
myAssembly2.dll  
myAssembly3.dll  

テキスト ファイルを使用してアセンブリをアンインストールするには、ファイルの行ごとに各アセンブリの完全限定アセンブリ名を指定します。To use a text file to uninstall assemblies, specify the fully qualified assembly name for each assembly on a separate line in the file. アンインストールするアセンブリを含むファイルの内容を表示する例を次に示します。The following example demonstrates the contents of a file containing assemblies to uninstall.

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  

使用例Examples

アセンブリ mydll.dll をグローバル アセンブリ キャッシュにインストールするコマンドを次に示します。The following command installs the assembly mydll.dll into the global assembly cache.

gacutil /i mydll.dll  

アセンブリ hello への参照カウントがない場合に、そのアセンブリをグローバル アセンブリ キャッシュから削除するコマンドを次に示します。The following command removes the assembly hello from the global assembly cache as long as no reference counts exist for the assembly.

gacutil /u hello  

上のコマンドでは、アセンブリ名が完全に指定されていないため、複数のアセンブリがアセンブリ キャッシュから削除される可能性もあります。Note that the previous command might remove more than one assembly from the assembly cache because the assembly name is not fully specified. たとえば、キャッシュ内に hello のバージョン 1.0.0.0 と 3.2.2.1 が両方ともインストールされている場合にコマンド gacutil /u hello を実行すると、アセンブリは両方とも削除されます。For example, if both version 1.0.0.0 and 3.2.2.1 of hello are installed in the cache, the command gacutil /u hello removes both of the assemblies.

複数のアセンブリを削除しないようにするには、次の例のようなコードを使用します。Use the following example to avoid removing more than one assembly. このコマンドでは、完全に指定したバージョン番号、カルチャ、および公開キーと一致するアセンブリ hello だけが削除されます。This command removes only the hello assembly that matches the fully specified version number, culture, and public key.

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

ファイル assemblyList.txt で指定されたアセンブリをグローバル アセンブリ キャッシュにインストールするコマンドを次に示します。The following command installs the assemblies specified in the file assemblyList.txt into the global assembly cache.

gacutil /il assemblyList.txt

ファイル assemblyList.txt で指定されたアセンブリをグローバル アセンブリ キャッシュから削除するコマンドを次に示します。The following command removes the assemblies specified in the file assemblyList.txt from the global assembly cache.

gacutil /ul assemblyList.txt

次のコマンドにより myDll.dll がグローバル アセンブリ キャッシュにインストールされ、myDll.dll をカウントするための参照が追加されます。The following command installs myDll.dll into the global assembly cache and adds a reference to count it. アセンブリ myDll.dll はアプリケーション MyApp によって使用されます。The assembly myDll.dll is used by the application MyApp. UNINSTALL_KEY MyApp パラメーターは、Windows の [アプリケーションの追加と削除] に MyApp を追加するレジストリ キーを指定します。The UNINSTALL_KEY MyApp parameter specifies the registry key that adds MyApp to Add/Remove Programs in Windows. description パラメーターは My Application Description と指定されています。The description parameter is specified as My Application Description.

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

次のコマンドにより myDll.dll がグローバル アセンブリ キャッシュにインストールされ、myDll.dll をカウントするための参照が追加されます。The following command installs myDll.dll into the global assembly cache and adds a reference to count it. scheme パラメーター FILEPATH と id パラメーター c:\applications\myApp\myApp.exe は、myDll.dll. をインストールするアプリケーションへのパスを指定します。description パラメーターは MyApp として指定されています。The scheme parameter, FILEPATH, and the id parameter, c:\applications\myApp\myApp.exe, specify the path to the application that is installing myDll.dll. The description parameter is specified as MyApp.

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

次のコマンドにより myDll.dll がグローバル アセンブリ キャッシュにインストールされ、myDll.dll をカウントするための参照が追加されます。The following command installs myDll.dll into the global assembly cache and adds a reference to count it. scheme パラメーター OPAQUE が指定されているので、id パラメーターと description パラメーターをカスタマイズできます。The scheme parameter, OPAQUE, allows you to customize the id and description parameters.

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

アプリケーション myDll.dll による myApp への参照を削除するコマンドを次に示します。The following command removes the reference to myDll.dll by the application myApp. これがアセンブリへの最後の参照の場合は、アセンブリもグローバル アセンブリ キャッシュから削除されます。If this is the last reference to the assembly, it will also remove the assembly from the global assembly cache.

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

グローバル アセンブリ キャッシュの内容を一覧表示するコマンドを次に示します。The following command lists the contents of the global assembly cache.

gacutil /l  

参照See Also

ツールTools
グローバル アセンブリ キャッシュGlobal Assembly Cache
Regasm.exe (アセンブリ登録ツール)Regasm.exe (Assembly Registration Tool)
Visual Studio 用開発者コマンド プロンプトCommand Prompts