启动条件:Windows OS 服务包版本 OS 位

Launch Condition : Windows OS service pack version with OS bit

对于 windows 应用程序,我正在 VS2010 中创建部署项目。我想添加 Launch Condition 例如:

安装应开始于:

目前我尝试使用条件 (VersionNT = "501") AND (ServicePackLevel = "3") 但此条件仅检查 Windows XP 和适用于 32 位 Windows XP 的 Service Pack 版本 3,但是当我 运行 在 64 位上 Windows XP 它给出了我给出的消息。

那么如何检查 Windows 版本和 Bit 以及服务包版本?

我通过这个启动条件编写实现了这一点:

((VersionNT = "501") AND (Not VersionNT64) AND (ServicePackLevel = "3")) OR ((VersionNT = "501") AND (VersionNT64) AND (ServicePackLevel = "2"))

VersionNTServicePackLevel 将检查 Windows OS 名称和服务包版本。阅读更多@ https://msdn.microsoft.com/en-us/library/aa370556%28v=vs.85%29.aspx

VersionNT64表示OS的64位,Not VersionNT64OS是32位。阅读更多@ http://blogs.flexerasoftware.com/installtalk/2010/11/using-msi-launch-conditions-to-prevent-installation-on-unsupported-windows-platforms.html