Windows 安装程序静默失败之后升级到 Windows 安装程序 3.1

适用于: Microsoft Windows Server 2003 Datacenter Edition (32-bit x86)Microsoft Windows Server 2003 Enterprise Edition (32-bit x86)Microsoft Windows Server 2003 Standard Edition (32-bit x86)

症状


当安装 Microsoft Windows Installer (.msi) 文件包时,如果安装程序尝试安装更高版本的 Windows 文件保护 (WFP) 功能帮助保护系统文件的安装过程将以无提示方式失败。检查 Windows 安装程序日志或应用程序日志时,您会看到 Windows 安装程序错误 1931年。

原因


在 Microsoft Windows Installer 3.1 版的发布之前, 尝试无提示安装过程中安装更高版本的受 WFP 保护的文件包无法安装该文件。但是,安装过程会继续进行,并报告为成功。Windows 安装程序 3.1 版的行为已更改。3.1 版,在无提示安装过程将不会成功,然后回滚安装如果静默安装过程无法安装 WFP 受保护的文件。WFP 防止应用程序覆盖系统文件。Windows 安装程序不能覆盖 WFP 受保护的文件。

解决方案


若要解决此问题,请使用方法 1,如果您是最终用户的安装包。如果您正在创建 Windows 安装程序包,请使用方法 2。
  • 方法 1
    如果您是最终用户的安装程序包的计算机上安装软件,获得 Windows 安装程序 3.1 (v2) 可再发行组件。

    Windows 安装程序 3.1 (v2) 可再发行组件是对 Windows 安装程序 3.1 的更新。此更新解决了在"症状"一节中描述的问题。

    有关 Windows 安装程序 3.1 (v2) 的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰

    Windows 安装程序 3.1 (v2) 是可用的893803

    要确定计算机上当前安装的 Windows 安装程序的版本,请执行以下步骤︰
    1. 在 Windows 资源管理器中,找到以下文件︰
      Msi.dll
      此文件位于 Windows\System 32 文件夹中。
    2. Msi.dll,用鼠标右键单击,然后单击属性
    3. 单击版本选项卡的文件的版本号。
      • 如果版本号为 3.1.4000.1823,则计算机有安装 Windows 安装程序 3.1 (v1)。
      • 如果版本号为 3.1.4000.2435,则计算机有安装 Windows 安装程序 3.1 (v2)。
  • 方法 2
    如果您正在创建一个 Windows 安装程序包安装的应用程序已创建,我们建议您在您为项目创建的安装程序以防止 WFP 保护组件具有 WFP 的操作系统上安装的 Windows 安装程序数据库中设置条件。此方法是首选的解决方法。基于 Windows 安装程序的安装过程不应尝试更新 WFP 受保护的文件。

    若要设置一个条件,将条件添加到 Windows 安装程序数据库中的组件表的条件列中。有关详细信息,请访问下面的 Microsoft 开发人员网络 (MSDN) Web 站点︰

状态


Microsoft 已经确认这是 Microsoft Windows Installer 3.1 中的问题。

详细信息


WFP 的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰

Windows 文件保护功能的222193说明