不使用GACUtil.exe,如何部署和卸载程序集到GAC中
在Windows Server 2008和Windows Server 2008 上, 部署程序集到GAC中時,如果以直接將程序集拖拽到GAC的方式部署,將會得到Access is denied的錯誤消息。(與使用stsadm報錯)
解決方案:
?
1.關閉UAC,重啟服務器,此時重新部署程序集就OK了
此方法有一個缺點,就是修改完UAC后,必須重啟服務器。
?
2.創建一個快捷方式,目標為:%SystemRoot%\explorer.exe C:\Windows\assembly,接著以管理員的身份運行這個快捷方式,此時便可對GAC進行操作。
如果需要部署程序集到GAC中,則使用相同的方式,創建一個快捷方式,目標為:%SystemRoot%\explorer.exe 目標dll文件的路徑(如:D:\bin),
此時便可以以直接將程序集拖拽到GAC的方式部署程序集(經測試Windows Server 2008 R2,無法正常工作)。
以下是老外的原文:
create a shortcut to Windows Explorer which includes the path to the GAC (Target: %SystemRoot%\explorer.exe C:\Windows\assembly), which you can then invoke via Right-click, Run as Administrator. I put one on my desktop and labeled it "GAC" for quick access.
?
????????? Note: 以下方法行不通,
1.Open a Command Prompt as Administrator (right click, Run As Administrator).
2.Run "explorer C:\windows\assembly".
3.Open a new explorer window from the window which just opened (Right click -> Open whilst holding Ctrl). I did this by hopping back up to C:\windows and the navigating to my assembly in the second (new) window.
4.Navigate in the first windows back to C:\windows\assembly.
5.Drag and drop between the two windows.
?
3. 使用PowerShell 調用 System.EnterpriseServices.Internal.Publish. GacInstall( $assembly )方法。
Install-GAC.ps1
安裝命令: .\Install-GAC.ps1 1 "C:\test.dll"
卸載命令:? .\Install-GAC.ps1 0 "C:\test.dll"
詳情參考原文:PowerShell: Install-Gac (GACUTIL for PowerShell)
?
如何關閉UAC
Windows Server 2008默認是將UAC(User Account Control : 用戶帳戶近控制)開啟的,但UAC是導致用戶認證失敗,因此建議在配置SPS時,建議將其關閉。
需要注意:Windows server 2008與windows server 2008 R2關閉UAC方法略有不同。
Windows Server 2008 UAC關閉方法有幾種,大家可以google下,我在這里只介紹其中一種。 1. 依次點擊“開始 >運行”,輸入MSCONFIG,打開系統配置實用程序 2. 選擇Tools(工具)選項卡,向下滾動找到“改變UAC設置(change UAC settings)”,點擊“運行(launch)”。 3. windows server 2008,控制面板→用戶帳戶→打開或關閉用戶賬戶控制→取消使用用戶賬戶控制(UAC)幫助保護您的計算機,注意此時需要重啟服務器。windows server 2008 r2,控制面板→用戶帳戶→用戶賬戶→改變UAC設置→選擇永不通知,不需要重啟服務器。
Windows server 2008 r2用戶帳戶控制中的新增功能 用戶帳戶控制的新增功能有哪些? 在引入用戶帳戶控制 (UAC) 之前,如果用戶以管理員身份登錄,則會自動授予用戶對所有系統資源的完全訪問權限。 而當用戶作為管理員運行時,可以安裝合法軟件,也可以有意或無意地安裝惡意程序。管理員安裝的惡意軟件可以嚴重危害計算機并影響所有用戶。 隨著 UAC 的引入,訪問控制模型已經更改,以便減少惡意程序的影響。 當用戶試圖啟動管理員任務或服務時,“用戶帳戶控制”對話框會要求用戶單擊“是”或“否”,然后才允許使用用戶的完全管理員訪問令牌。 如果用戶不是管理員,則用戶必須提供管理員憑據才能運行該程序。因為 UAC 要求管理員審核應用程序的安裝,所以未授權的應用程序或沒有得到管理員明確許可的應用程序無法自動安裝。 在 Windows? 7 和 Windows Server? 2008 R2 中,已改進 UAC 功能,從而:
- 增加了標準用戶可以執行的任務(不提示管理員審批)數量。
- 允許具有管理員權限的用戶在控制面板中配置 UAC 體驗。
- 提供其他本地安全策略,使本地管理員能夠為管理員批準模式下的本地管理員更改 UAC 消息的行為。
- 提供其他本地安全策略,使本地管理員能夠為標準用戶更改 UAC 消息的行為。
哪些人會希望使用 UAC? 通過禁止可能具有惡意的程序運行,UAC 幫助標準用戶和管理員保護其計算機。 改進的用戶體驗使用戶能夠在保護其計算機的同時輕松執行日常任務。 通過禁止用戶運行惡意軟件,UAC 幫助企業管理員保護其網絡。
新增功能和更改功能有哪些優點? 默認情況下,標準用戶和管理員在標準用戶的安全上下文中訪問資源并運行應用程序。 當用戶登錄到計算機時,系統會為該用戶創建一個訪問令牌。 該訪問令牌包含有關授予該用戶的訪問權限級別的信息,其中包括特定的安全標識符 (SID) 和 Windows 權限。
當管理員登錄時,將為該用戶創建兩個單獨的訪問令牌:標準用戶訪問令牌和管理員訪問令牌。標準用戶訪問令牌包含的用戶特定信息與管理員訪問令牌包含的信息相同,但是已經刪除管理 Windows 權限和 SID。 標準用戶訪問令牌用于啟動不執行管理任務的應用程序(標準用戶應用程序)。 當用戶運行執行管理任務的應用程序(管理員應用程序)時,會提示該用戶將安全上下文從標準用戶更改或“提升”為管理員,稱為管理員批準模式。 在此模式下,管理員必須對使用管理權限在安全桌面上運行的應用程序進行審批。 在配置計算機以及對計算機進行故障排除時,Windows 7 和 Windows Server 2008 R2 中對 UAC 的改進會為您帶來更好的用戶體驗。 減少的 UAC 提示數 Windows 7 和 Windows Server 2008 R2 減少了本地管理員和標準用戶必須響應的 UAC 提示數。
減少本地管理員必須響應的提示數:
- 已合并文件操作提示。
- 已合并用于運行應用程序安裝程序的 Internet Explorer 提示。
- 已合并用于安裝 ActiveX(R) 控件的 Internet Explorer 提示。
默認 UAC 設置允許標準用戶執行以下任務而不會收到 UAC 提示:
- 從 Windows Update 安裝更新。
- 安裝從 Windows Update 下載的驅動程序或操作系統附帶的驅動程序。
- 查看 Windows 設置。 (但是,當更改 Windows 設置時,會提示標準用戶提供提升的權限。)
- 將 Bluetooth 設備與計算機配對。
- 重置網絡適配器并執行其他網絡診斷和修復任務。
?
?
?
步驟簡單:
可以在組策略中進行設置 —— “以管理員身份運行”方式打開命令提示符(CMD)后鍵入 gpedit.msc 打開組策略后作如下更改:
在“計算機配置”-“Windows 配置”-“安全設置”-“本地策略”-“安全選項”下:修改“用戶帳戶控制: 在管理審批模式下管理員的提升提示行為”選項為“不提示,直接提升”就不會再彈出提示框了。
轉載于:https://www.cnblogs.com/foxwu/archive/2012/12/19/2824642.html
總結
以上是生活随笔為你收集整理的不使用GACUtil.exe,如何部署和卸载程序集到GAC中的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GHOST内部错误 36000(inte
- 下一篇: 2012百度之星冬季赛第二场第二题 消去