Wix 预安装要求

Posted

技术标签:

【中文标题】Wix 预安装要求【英文标题】:Wix pre-installation requirments 【发布时间】:2014-02-27 10:35:44 【问题描述】:

我正在使用 wix3.8 为我的应用程序编写安装程序。

在安装之前,我需要检查一些机器要求,如果当前机器没有这些要求,请不要安装我的应用程序。

要求是: 1. 操作系统-win 8.1 及更高版本。 2. CPU-HSW GT2 及以上。

如何在 wix 中添加对这些要求的检查? 谁能帮帮我?

【问题讨论】:

【参考方案1】:

我认为您需要编写一个自定义操作来检查 CPU,但对于操作系统,您可以进行这样的检查

<Condition Message="This application is only supported on Windows 8.1, or higher.">
    <![CDATA[Installed OR (VersionNT >= 603)]]>
</Condition>

参考:How To: Block Installation Based on OS Version

要开发自定义操作,您可以参考以下文章。基本上,您需要创建一个函数来执行您想要的所有检查并将其公开在您的自定义操作库中。然后你可以从你的安装脚本中调用这个函数。

参考:

Adding Custom Actions Custom actions in C#

【讨论】:

Windows 8.1 的 VersionNT 值为 603。600 用于 windows vista 和 server 2008。 谢谢!你能给我一个解释我如何写一个服装吗? 添加了对上述帖子的一些引用。 谢谢,会调查的。在哪里写条件重要吗? 按顺序调用它们,因此选择适当的 span> 【参考方案2】:

使用内置的 Windows Installer LaunchCondition 功能

http://wixtoolset.org/documentation/manual/v3/howtos/redistributables_and_install_checks/block_install_on_os.html

语句用条件语句语法编写:

http://msdn.microsoft.com/en-us/library/aa368012(v=vs.85).aspx

以下是操作系统属性值

http://msdn.microsoft.com/en-us/library/aa370556(v=vs.85).aspx

以下是一些示例(未测试):

Vista:不是 VersionNT 或(VersionNT >= 600) Windows 8.1:版本NT=603 WindowsBuild=9600

我认为您也可以为 CPU 使用 LaunchCondition 功能,检查硬件属性:http://msdn.microsoft.com/en-us/library/aa370905(v=vs.85).aspx#hardware_properties

【讨论】:

谢谢。启动条件功能按预期工作。至于 CPU——硬件属性对我没有帮助。

以上是关于Wix 预安装要求的主要内容,如果未能解决你的问题,请参考以下文章

如何使用更新条件在 Wix 中设置变量?

无需卸载的 Wix 安装程序升级

如何使用 WiX 安装和启动 Windows 服务

wix 生成新的升级代码

Wix 重大升级,无论文件版本较新,都替换文件

如何使用 Wix 和项目参考部署本机映像 (NGen)