Gacutil.exe (全域組件快取工具)
更新:2011 年 4 月
全域組件快取工具可以讓您檢視和操作全域組件快取和下載快取的內容。
這個工具會自動隨 Visual Studio 和 Windows SDK 一起安裝。 若要執行工具,建議您使用 Visual Studio 命令提示字元或 Windows SDK 命令提示字元。 這些公司可讓您輕鬆地執行工具,而不需瀏覽至安裝資料夾。 如需詳細資訊,請參閱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 |
含有組件資訊清單 (Assembly Manifest) 的檔案名稱。 |
assemblyListFile |
列出要安裝或解除安裝之組件的 ANSI 文字檔路徑。 若要使用文字檔安裝組件,請在檔案的個別行上指定每個組件的路徑。 這個工具會解譯相對路徑 (相對於 assemblyListFile 的位置)。 若要使用文字檔來解除安裝組件,請在檔案的個別行上為每個組件指定完整的組件名稱。 請參閱本主題稍後的 assemblyListFile 內容範例。 |
選項 |
描述 |
---|---|
/cdl |
刪除下載快取的內容。 |
/f |
請使用 /i 或 /il 選項指定這個選項,以強制進行組件的重新安裝。 如果具有相同名稱的組件已存在於全域組件快取中,則這個工具會覆寫它。 |
/h[elp] |
顯示工具的命令語法和選項。 |
/i assemblyPath |
將組件安裝到全域組件快取。 |
/if assemblyPath |
將組件安裝到全域組件快取。 如果具有相同名稱的組件已存在於全域組件快取中,則這個工具會覆寫它。 指定這個選項相當於同時指定 /i 和 /f 選項。 |
/il assemblyListFile |
將 assemblyListFile 中指定的一或多個組件安裝到全域組件快取中。 |
/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 Installer 沒有這個組件的未解決參考,這個工具也會從全域組件快取中移除這個組件。 scheme 參數指定安裝配置的類型。 您可以指定下列其中一個值:
要對 id 參數指定的值取決於對 scheme 參數指定的值:
description 參數允許您指定與要安裝之應用程式有關的描述文字。 這項資訊會在列舉參考時顯示。 |
/silent |
隱藏所有輸出的顯示。 |
/u assemblyName |
從全域組件快取中移除組件。 |
/uf assemblyName |
移除組件的所有參考,強制解除安裝指定的組件。 指定這個選項相當於同時指定 /u 和 /f 選項。
注意事項
您無法使用這個選項移除使用 Microsoft Windows Installer 所安裝的組件。如果您嘗試這項作業,工具就會顯示錯誤訊息。
|
/ul assemblyListFile |
從全域組件快取中解除安裝 assemblyListFile 中指定的一或多個組件。 |
/u[ngen] assemblyName |
從全域組件快取解除安裝指定的組件。 如果指定的組件具有現存的參考計數,工具就會顯示參考計數,並且不會從全域組件快取中移除組件。
注意事項
在 .NET Framework 2.0 版中,不支援 /ungen。使用Ngen.exe (原生映像產生器) 的 uninstall 命令代替。
在 .NET Framework 1.0 和 1.1 版中,指定 /ungen 會使 Gacutil.exe 移除原生映像快取中的組件。 這個快取儲存了使用Ngen.exe (原生映像產生器) 建立之組件的原生映像。 |
/ur assemblyName scheme id description |
從全域組件快取解除安裝指定組件的參考。 若要移除組件的參考,您必須指定安裝組件時使用 /i 和 /r (或 /ir) 選項指定的相同 scheme、id 和 description 參數。 如需可以為這些參數指定之有效值的描述,請參閱 /r 選項。 指定這個選項相當於同時指定 /u 和 /r 選項。 |
/? |
顯示工具的命令語法和選項。 |
備註
這個工具提供許多和 Windows Shell Extension (Shfusion.dll) 一樣的檢視快取功能,不過更適用於建置 (Build) 指令碼、Makefile 和批次 (Batch) 檔。
注意事項 |
---|
您必須擁有系統管理員權限才能使用 Gacutil.exe。 |
Gacutil.exe 特別可以讓您將組件安裝到快取、從快取中將它們移除,以及列出快取的內容。
Gacutil.exe 提供的選項所支援的參考計數,與 Windows Installer 所支援之參考計數配置相似。 您可以使用 Gacutil.exe 安裝兩個安裝相同組件的應用程式﹔這個工具會追蹤組件的參考數量。 因此,組件會保留在電腦上,直到兩個應用程式都解除安裝為止。 如果您使用 Gacutil.exe 進行實際的產品安裝,請使用支援參考計數的選項。 請同時使用 /i 和 /r 選項安裝組件,並加入要對組件計數的參考。 請同時使用 /u 和 /r 選項移除組件的參考計數。 請注意,單獨使用 /i 和 /u 選項並不支援參考計數。 這些選項適用於產品開發期間,但不適用於實際產品安裝。
請使用 /il 或 /ul 選項,安裝或解除安裝存放在 ANSI 文字檔中的組件清單。 文字檔的內容必須被正確格式化。 若要使用文字檔安裝組件,請在檔案的個別行上指定每個組件的路徑。 下列範例說明包含要安裝之組件的檔案內容。
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 命令會將這兩個組件同時移除。
為避免移除一個以上的組件,請使用下列範例。 這個命令只會移除符合完整指定版本號碼、文化特性 (Culture) 和公開金鑰 (Public Key) 的 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 組件是由 MyApp 應用程式使用。 UNINSTALL_KEY MyApp 參數指定將 MyApp 加入至 Windows 中 [新增或移除程式] 的登錄機碼。 說明參數指定為 My Application Description。
gacutil /i /r myDll.dll UNINSTALL_KEY MyApp "My Application Description"
下列命令會將 myDll.dll 安裝到全域組件快取中,並加入要計數的參考。 配置參數 FILEPATH 和 id 參數 c:\applications\myApp\myApp.exe,指定安裝 myDll.dll. 之應用程式的路徑。說明參數指定為 MyApp。
gacutil /i /r myDll.dll FILEPATH c:\applications\myApp\myApp.exe MyApp
下列命令會將 myDll.dll 安裝到全域組件快取中,並加入要計數的參考。 配置參數 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
請參閱
參考
Visual Studio 和 Windows SDK 命令提示字元
概念
其他資源
變更記錄
日期 |
記錄 |
原因 |
---|---|---|
2011 年 4 月 |
加入使用 Visual Studio 和 Windows SDK 命令提示字元的相關資訊。 |
資訊加強。 |