症状
如果你尝试在运行 Windows Server 2003 Service Pack 2 的计算机上安装大型 Microsoft Windows Installer (.msi)程序包或大型 Microsoft Windows Installer 修补程序(.msp)程序包,则会收到以下错误消息:
错误1718。 文件名已被数字签名策略拒绝。
此外,应用程序日志中可能会记录以下事件:
原因
如果 Windows 安装程序进程的连续虚拟内存不足以验证 .msi 程序包或 .msp 程序包是否已正确签名,则会出现此问题。
解决方案
更新下载信息
以下文件可从 Microsoft 下载中心下载:
119591 如何从联机服务获取 Microsoft 支持文件Microsoft 已对该文件进行病毒扫描。 Microsoft 使用的是文件发布时可以获得的最新病毒检测软件。 该文件存储在安全性得到增强的服务器上,以防止对文件进行未经授权的更改。
先决条件
必须安装 Windows Server 2003 Service Pack 2 才能应用此更新。
重启要求
应用更新后,必须重新启动计算机。
更新替换信息
此更新不替代任何其他更新。
文件信息
此更新的英文版具有下表中列出的文件属性(或更新的文件属性)。 这些文件的日期和时间按协调世界时 (UTC) 列出。 在查看文件信息时,文件时间将转换为本地时间。 要了解 UTC 与本地时间之间的时差,请使用“控制面板”中“日期和时间”项中的“时区”选项卡。
Windows Server 2003 (KB973825)更新
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
SP 要求 |
服务分支 |
---|---|---|---|---|---|---|---|
Advapi32.dll |
5.2.3790.4555 |
619,008 |
18-Jul-2009 |
15:58 |
x86 |
SP2 |
SP2GDR |
Advapi32.dll |
5.2.3790.4555 |
619,008 |
18-Jul-2009 |
16:19 |
x86 |
SP2 |
SP2QFE |
Windows Server 2003、x64 Edition (KB973825)更新
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
SP 要求 |
服务分支 |
---|---|---|---|---|---|---|---|
Advapi32.dll |
5.2.3790.4555 |
1052160 |
18-Jul-2009 |
21:45 |
x64 |
SP2 |
SP2GDR |
Wadvapi32.dll |
5.2.3790.4555 |
619,008 |
18-Jul-2009 |
21:45 |
x86 |
SP2 |
WOW |
Advapi32.dll |
5.2.3790.4555 |
1065984 |
18-Jul-2009 |
16:32 |
x64 |
SP2 |
SP2QFE |
Wadvapi32.dll |
5.2.3790.4555 |
619,008 |
18-Jul-2009 |
16:32 |
x86 |
SP2 |
WOW |
适用于基于 Itanium 的系统(KB973825)的 Windows Server 2003 更新
文件名 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
SP 要求 |
服务分支 |
---|---|---|---|---|---|---|---|
Advapi32.dll |
5.2.3790.4555 |
1,482,752 |
18-Jul-2009 |
21:44 |
IA-64 |
SP2 |
SP2GDR |
Wadvapi32.dll |
5.2.3790.4555 |
619,008 |
18-Jul-2009 |
21:44 |
x86 |
SP2 |
WOW |
Advapi32.dll |
5.2.3790.4555 |
1483776 |
18-Jul-2009 |
16:32 |
IA-64 |
SP2 |
SP2QFE |
Wadvapi32.dll |
5.2.3790.4555 |
619,008 |
18-Jul-2009 |
16:32 |
x86 |
SP2 |
WOW |
解决方法
重要提示此部分、方法或任务包含告诉你如何修改注册表的步骤。但是,如果您错误地修改了注册表,可能会出现严重问题。因此,请确保仔细执行以下步骤。为增强保护,请在修改注册表之前对其进行备份。然后,如果出现问题,您可以还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756 如何在 Windows 中备份和还原注册表要解决此问题,请在尝试安装程序包之前将 PolicyScope 注册表值更改为1。若要执行此操作,请执行以下步骤。注意如果计算机已加入域,则域策略更新可能会覆盖您所做的注册表更改。我们强烈建议您先断开计算机与域的连接,然后再执行这些步骤。
-
单击“开始”,单击“运行”,键入 regedit,然后单击“确定”。
-
在注册表编辑器中,找到并单击以下注册表项:
HKEY_LOCAL_MACHINE\Software\Policies\Microsoft\Windows\Safer\CodeIdentifiers 注意 在修改此密钥之前,我们建议您备份此密钥。 若要执行此操作,请右键单击 " CodeIdentifiers",然后单击 "导出"。 将文件保存到您可以在计算机上找到它的位置。
-
更改 PolicyScope 注册表值。 若要执行此操作,请双击 " PolicyScope",然后将设置从0更改为1。
-
关闭注册表编辑器。
-
单击 "开始",单击 "运行",键入Cmd,然后单击"确定"以打开命令提示符窗口。
-
在命令提示符处,键入以下命令,然后按 Enter 键:
net stop msiserver如果该服务当前在后台运行,此命令将停止 Windows Installer 服务。 服务停止后,关闭命令提示符窗口,然后转到步骤7。 注意 如果在命令提示符处收到以下消息,请关闭命令提示符窗口,然后转到步骤7:
Windows Installer 服务未启动
-
在收到 "症状" 部分所述的错误消息时,安装你尝试安装的程序包。
-
安装程序包后,请重复步骤1和2。 然后,将 PolicyScope 注册表值更改回0。
-
如果已断开计算机与域的连接,请重新加入域,然后重新启动计算机。注意 如果您没有断开计算机与域的连接,则无需重新启动计算机。
如果上述步骤不能解决问题,请按照下列步骤操作:
-
单击 "开始",单击 "运行",键入 " control admintools",然后单击 "确定"。
-
双击 "本地安全策略"。
-
单击 "软件限制策略"。注意 如果未列出任何软件限制,请右键单击 "软件限制策略",然后单击 "创建新策略"。
-
在 "对象类型" 下,双击 "强制"。
-
单击 "除本地管理员之外的所有用户",然后单击"确定"。
-
重启计算机。
重要说明 按照上述步骤操作后,本地管理员可以安装 .msi 程序包或 .msp 程序包。 安装程序包后,按照前面的步骤重置强制级别。 在步骤5中,单击 "所有用户",而不是 "本地管理员" 以外的所有用户。 注意
-
解决方法在 Active Directory 域环境中可能不起作用。 在 Active Directory 域环境中,域策略刷新操作将覆盖本地软件限制策略。
-
向计算机添加更多 RAM 将无法解决该问题。
更多信息
从 Windows XP 开始,引入了名为 "软件限制策略" (也称为 "更安全")的安全策略,以帮助用户避免运行不安全的文件。 Windows 安装程序使用软件限制策略验证已签名的 .msi 程序包文件和已签名 .msp 程序包文件的签名。 Windows 安装程序执行此操作,以确保文件在安装到计算机之前未被篡改。 Windows XP 和 Windows Server 2003 要求将整个 .msi 程序包文件或整个 .msp 程序包文件加载到 Windows 安装程序进程的地址空间中一个连续的内存中。 如果 .msi 程序包文件或 .msp 程序包文件太大,无法容纳在一个连续的虚拟内存中,则 Windows Installer 无法验证该程序包是否正确。 在此方案中,你将遇到 "症状" 部分中所述的症状。 本文中所述的修复程序支持软件限制策略使用较少的虚拟内存来执行签名验证。 因此,Windows Installer 可以验证任何大小的文件。