安装VS2005 SP1时失败(错误 1718。文件被数字签名策略拒绝)

原因

当计算机没有足够的连续内存可供 Windows Server 2003 或 Windows XP 用于验证是否对 .msi 包或 .msp 包正确进行了签名时将出现此问题。

替代方法

警告:如果使用注册表编辑器或其他方法错误地修改了注册表,则可能会出现严重问题。这些问题可能需要重新安装操作系统才能解决。Microsoft 不能保证可以解决这些问题。修改注册表需要您自担风险。

要解决此问题,请在尝试安装程序包之前将 PolicyScope 注册表值更改为 1。为此,请按照下列步骤操作。

注意:如果将计算机加入到域中,则域策略更新可能会覆盖您对注册表所做的更改。强烈建议在执行以下步骤之前从域中断开计算机。
1. 依次单击“开始”和“运行”,键入 regedit,然后单击“确定”。
2. 在注册表编辑器中,找到并单击下面的注册表项:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers

注意:在修改此注册表项之前,建议先备份此注册表项。为此,右键单击“CodeIdentifiers”,然后单击“导出”。将文件保存到可在计算机上找到此文件的位置中。
3. 更改 PolicyScope 的注册表值。为此,请双击“PolicyScope”,然后将设置从 0 更改为 1。
4. 关闭注册表编辑器。
5. 依次单击“开始”、“运行”,键入 cmd,然后单击“确定”以打开命令提示符窗口。
6. 在命令提示符下,键入以下命令并按 Enter:
net stop msiserver
如果 Windows Installer 服务当前正在后台运行,则此命令将停止该服务。该服务停止后,请关闭命令提示符窗口,然后转到步骤 7。

注意:如果在命令提示符处收到以下消息,请关闭命令提示符窗口,然后转到步骤 7:
未启动 Windows Installer 服务
7. 收到“症状”部分所述的错误消息后,请安装要尝试安装的程序包。
8. 安装了程序包之后,重复步骤 1 和 2。然后,将 PolicyScope 注册表值更改回 0。
9. 如果从域中断开了计算机,请重新加入域,然后重新启动计算机。

注意:如果未从域中断开计算机,则不必重新启动计算机。
如果以上步骤不能解决该问题,请按照下列步骤操作:
1. 单击“开始”,单击“运行”,键入 control admintools,然后单击“确定”。
2. 双击“本地安全策略”。
3. 单击“软件限制策略”。

注意:如果未列出软件限制,请右击“软件限制策略”,然后单击“新建策略”。
4. 在“对象类型”下,双击“强制”。
5. 单击“除本地管理员以外的所有用户”,然后单击“确定”。
6. 重新启动计算机。
重要说明:在按照以上步骤操作后,本地管理员就可以安装 .msi 包或 .msp 包。安装了程序包之后,请按照以上步骤重置强制级别。在步骤 5 中,单击“所有用户”而不是单击“除本地管理员以外的所有用户”。

刚开始装时出现了上面的问题,后来从微软官方那里找到相应的解决方法。按着第二种方法就操作后就OK了,发现装一个vs2005 sp1要一个钟,真是压力。还不如直接装个vs2008省事多了
posted on 2008-04-28 14:36  zeuslin  阅读(598)  评论(0编辑  收藏  举报