錯誤:文件被數字簽名策略拒絕(File was rejected by digital signature policy)

問題描述:
這兩天給家裏的臺式機裝上了 Windows Server 2003 R2 SP2,在安裝 Visual Studio 2005 SP1 和 Windows Mobile 6 Profesional SDK 的時候,都遇到了“文件被數字簽名策略拒絕”的錯誤。經過google,找到了解決方法,併成功解決了該問題,現提供給遇到同樣問題的朋友參考。

原因分析:
Visual Studio 2005 SP1 的.msp 修補程序包和 Windows Mobile 6 Profesional SDK 的.msi安裝程序包的文件都比較大,分別是451MB和454MB。我的臺式機的內存是1GB,運行安裝程序之前內存只剩下400MB了。當運行安裝程序時,Windows Installer 會驗證程序包的數字簽名以確保程序包沒有被篡改。這時整個程序包被加載到內存中,計算機必須擁有程序包大小所需的足夠連續內存。如果計算機沒有足夠的連續內存,則會出現錯誤。由於出現錯誤,Windows Installer 將無法驗證是否對該程序包正確地進行了簽名。

解決方法:
在運行安裝程序之前,修改 HKEY_LOCAL_MACHINE/Software/Policies/Microsoft/Windows/Safer/CodeIdentifiers 註冊表項下面的 PolicyScope 的註冊表值,將值從0改爲1。如果沒有這個註冊表值,可以自己新建一個“DWORD 值”,命名爲 PolicyScope,並將它的值設置爲1即可。安裝完成後,再將該註冊表值改爲原來的0。
爲了日後使用方便,可以創建兩個註冊表項文件 SetPolicyScope.reg 和 ResetPolicyScope.reg,並用記事本打開進行編輯,內容分別爲(虛線以內):

SetPolicyScope.reg
------------------------------------------------------------------------------------------------
[HKEY_LOCAL_MACHINE/SOFTWARE/Policies/Microsoft/windows/safer/codeidentifiers]
"PolicyScope"=dword:00000001
------------------------------------------------------------------------------------------------

ResetPolicyScope.reg
------------------------------------------------------------------------------------------------
[HKEY_LOCAL_MACHINE/SOFTWARE/Policies/Microsoft/windows/safer/codeidentifiers]
"PolicyScope"=dword:00000000
------------------------------------------------------------------------------------------------


參考:http://support.microsoft.com/kb/925336

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章