【问题标题】:Why is WiX detecting Windows Installer 4.05 when 4.5 is installed?为什么在安装 4.5 时 WiX 会检测到 Windows Installer 4.05?
【发布时间】:2010-01-21 09:55:47
【问题描述】:

这是一个有点奇怪的问题。我有一个安装程序需要检查机器上的 Windows Installer 版本,所以我使用 VersionMsi 属性来执行此操作。

但是,在 Vista 32 位机器上试用时,我发现它报告说我安装了 4.05。于是查了msi.dll、msiexec等,发现都是4.5。

必须有一个注册表值或其他仍然指向 4.05 的东西,所以我想知道是否有办法安全地回滚到 4.05,然后再次应用更新?

谢谢

【问题讨论】:

    标签: windows-vista wix windows-installer


    【解决方案1】:

    wix Package elementInstallerVersion 属性的文档显示了一个提示(重点由我添加):

    Windows 的最低版本 安装此工具需要安装程序 包裹。获取主要版本的 所需的 Windows 安装程序和 乘以 100 然后加上小数 Windows 安装程序的版本。为了 例如,“200”代表 Windows 安装程序 2.0 和 "405" 将 代表 Windows Installer 4.5。 对于 64 位 Windows 安装程序包, 此属性必须设置为 200 或 更大。

    另外,如果您考虑一下,如果您将点解释为数字分隔符而不是小数点,4.054.5 完全相同。 05 只是在这种情况下用两位数编写5 的一种方式。

    【讨论】:

    • 哦,哇,谢谢老兄,一百万年我都不会发现:)
    【解决方案2】:

    我的猜测是,WiX 和/或您的注册表内部发生了一些奇怪的事情,因为“05”部分既不是微软也不是普遍接受的产品版本控制方式。

    【讨论】:

    • 这很奇怪,因为我刚刚尝试使用 Windows Installer 4.5 修补程序更新具有 3.0 的 Windows XP 机器,它还报告了 4.05。我现在在考虑是否有可能 VersionMsi 属性本身错误地将 4.5 检测为 4.05
    猜你喜欢
    • 1970-01-01
    • 2018-01-23
    • 2012-06-20
    • 1970-01-01
    • 2011-02-07
    • 2010-11-11
    • 2013-12-17
    • 2015-02-03
    • 1970-01-01
    相关资源
    最近更新 更多