【问题标题】:How to detect if it is Windows 8 using Installshield?如何使用 Installshield 检测是否是 Windows 8?
【发布时间】:2012-01-17 10:39:25
【问题描述】:

我正在使用 InstallShield 为 Windows 创建一个新的安装程序。我是 InstallShield 的新手。在安装程序中,我只在 Windows 8 上安装一个组件。

那么我应该在该组件的安装条件中添加什么?我可以使用VersionNTMsiNTProductType

但是我找不到这些变量在 Windows 8 中的值。还有其他方法吗?

提前致谢。

【问题讨论】:

    标签: installshield windows-8


    【解决方案1】:

    您是否尝试过这种情况:VersionNT > 601

    【讨论】:

    • 为了澄清,这将允许 Windows 7 之后的 Windows 版本上的组件。我同意这可能是所需的行为,但问题要求“仅在 Windows 8 上”。这很可能是 VersionNT=602,但至少在 beta 之前我不会相信新版本号。
    • 可以下载操作系统并安装它以记录安装并找出答案。此外,FWIW,Stefan Krueger 最近在推特上发布了一条链接,表明 Win8 将是 Win 6.2,正如您所指出的,在 MSI 中是 602。 channel9.msdn.com/Events/BUILD/BUILD2011/APP-116T
    • 谢谢博格丹。我现在明白了。此 URL[链接] (msdn.microsoft.com/en-us/library/windows/desktop/…) 提供了详细信息。
    【解决方案2】:

    FWIW,我通常避免在条件下使用这样的操作系统版本属性。我通常会尝试做的是问自己这个平台对我来说真正重要的是什么。我需要特定版本的 IIS 吗?我是否需要该版本中的某个新服务?我是否需要更高版本的 .NET 框架等等。

    然后我根据这种关系编写搜索和条件。

    【讨论】:

    • 谢谢克里斯托弗。我得到了答案。
    • 在我看来,VersionNT 耦合得太紧了。您的组件依赖于 Windows 8 中的新内容,而在 8.x+ 中它可能会消失。编写经得起时间考验的安装程序。
    • 是的。你说的对。但是,我们有一些仅适用于 Windows 8 的组件。
    猜你喜欢
    • 2014-07-14
    • 2012-04-26
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    • 2010-11-11
    • 2011-06-22
    • 2011-02-12
    相关资源
    最近更新 更多