今天在安装Windows Mobile 6 Professional SDK Refresh.msi 的时候,碰到一个错误"文件被数字签名策略拒绝(File was rejected by digital signature policy) ",可能在安装 Visual Studio 2005 SP1 的时候,也有人碰到过这个错误.
这个错误产生的原因是:"当运行安装程序时,Windows Installer 会验证程序包的数字签名以确保程序包没有被篡改。这时整个程序包被加载到内存中,计算机必须拥有程序包大小所需的足够连续内存。如果计算机没有足够的连续内存,则会出现错误。由于出现错误,Windows Installer 将无法验证是否对该程序包正确地进行了签名。"
所以这个问题呢应该只会出现在内存比较少的电脑,比如我的只有1G内存,所以承受不起这个454.7 MB的SDK,就出现了这个恼人的问题.
解决方法:
- 修改 HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers 注册表项下面的 PolicyScope 的注册表值,将值从0改为1,如果没有可以创建. (附件:SetPolicyScope.reg)
- 在cmd中,运行 net stop msiserver ,关闭Window Installer服务. (附件:stop_msiserver.bat)
- 运行安装程序
- 修复PolicyScope.(附件:ResetPolicyScope.reg)
如果你嫌麻烦,可以下载我写好的reg和bat文件wm6_sdk_reg.zip
MS Support: http://support.microsoft.com/kb/925336