Windows
如何從程序集文件夾中解除安裝 DLL?從 GAC 解除安裝 DLL 時權限被拒絕
我正在嘗試從 Windows Server 2008 上的 C:\Windows\Assembly“文件夾”解除安裝 DLL,但收到“權限被拒絕”錯誤。如何在不解除安裝整個應用程序的情況下刪除 DLL?
應用程序供應商向我發送了新的 DLL,但沒有說明如何刪除舊版本或添加這些新版本。Google也沒有像往常那樣樂於助人……
這以前不起作用,但幸運的是我最後一次嘗試。去搞清楚…
我在伺服器上找到gacutil.exe並執行
gacutil -u dllName.DLL
安裝新的 DLL 很簡單gacutil -i "PathAndFilenameOfNewDLL"
http://msdn.microsoft.com/en-us/library/zykhfde0%28VS.80%29.aspx
我知道我遲到了,但如果你沒有 gacutil.exe,這裡是另一個使用 Powershell 的解決方案。Gacutil 是一種開發工具,通常不存在於生產系統中。
通過右鍵點擊並選擇“以管理員身份執行”,使用提升的提示啟動 PowerShell。然後鍵入或複制/粘貼以下內容:
$pathToFile = 'PathAndFilename.dll' [System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a") $publish = New-Object System.EnterpriseServices.Internal.Publish $publish.GacRemove($pathToFile)
如果您想將副本安裝到 GAC,請將最後一行更改為:
$publish.GacInstall($pathToFile)