我想讓管理員爲我註冊一些DLL,但他可能不想安裝整個SDK。我可以下載並安裝gacutil.exe,無需安裝VS或SDK嗎?
他可以只安裝gacutil.exe
嗎?如果是這樣,他可以在哪裏得到它?我只需要將gacutil.exe
文件發送給他,並且他必須將它放在他的機器上才能使用它?
我想讓管理員爲我註冊一些DLL,但他可能不想安裝整個SDK。我可以下載並安裝gacutil.exe,無需安裝VS或SDK嗎?
他可以只安裝gacutil.exe
嗎?如果是這樣,他可以在哪裏得到它?我只需要將gacutil.exe
文件發送給他,並且他必須將它放在他的機器上才能使用它?
根據漢斯對我的問題的評論,這是違反許可證的。這裏要做的最好的事情是創建一個快速的setup.exe或msi,它將文件安裝到GAC中,我已經完成了。
另一種替代方法是將DLL手動拖放到c:\ windows \ assembly中。
對於.NET 4,我相信大會的文件夾是C:\ WINDOWS \ microsoft.net \總成 - 雖然我沒有測試過這種方式簡單的xcopy除了對.NET 4
你不必在Windows註冊表中註冊它? – crush 2014-11-07 16:35:05
@crush在我的測試中不需要Windows註冊表(「在我的機器上工作」™) – jeffreypriebe 2014-11-07 22:14:42
直到我使用gacutil.exe「安裝」它時,才工作。 – crush 2014-11-07 22:28:23
我它通過複製工作gacutil.exe,gacutil.exe.config和gacutlrc.dll。我明白這是違反許可證的,但您無法在VisualStudio Express中獲得InstallShield,因此這是最簡單的解決方案。
老問題,但在不安裝SDK的機器上一掐,只要PowerShell是可用的,你可以這樣做:
#Note that you should be running PowerShell as an Administrator
[System.Reflection.Assembly]::Load("System.EnterpriseServices, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")
$publish = New-Object System.EnterpriseServices.Internal.Publish
$publish.GacInstall("C:\Path\To\DLL.dll")
從https://www.andrewcbancroft.com/2015/12/16/using-powershell-to-install-a-dll-into-the-gac/
他不能。您不能通過許可證禁止重新分配。快速向他發送Setup.exe。 – 2011-04-06 20:48:19
感謝漢斯。在繼續我的研究之後,我發現官方最佳實踐方法是讓Windows安裝程序執行此操作。這就是我所做的,我創建了一個簡單的安裝項目,它所做的只是將程序集安裝到GAC。這是做到這一點的正確方法嗎?任何其他建議/提示/陷阱? – richard 2011-04-06 21:15:43
對,quickie Setup.exe。測試它。 – 2011-04-06 21:17:21