【问题标题】:Add Condition to check operating system type for custom action in Visual studio Install Shield project添加条件以在 Visual Studio Install Shield 项目中检查操作系统类型以进行自定义操作
【发布时间】:2016-03-10 12:15:05
【问题描述】:

我已经创建了一个 Windows 服务的安装文件。作为先决条件,我必须在目标机器上安装第三方软件。这个第 3 方软件有 2 个版本的操作系统类型,64 位和 32 位。我已将其包含在自定义操作中,如下所示:

现在我想为这个安装添加操作系统类型条件,但我没有找到任何选项来添加如下所示的条件:

如您所见,我们没有任何选项可以显式键入条件。我读过识别操作系统类型的条件是NOT VersionNT64VersionNT64 并检查它是否安装它是NOT Installed 等,您可以将其指定为条件。但正如我之前所说,我没有看到任何关于在何处指定此条件的选项。对此的任何建议或见解都将非常有帮助。如果需要任何进一步的细节,请告诉我。

【问题讨论】:

    标签: c# visual-studio-2012 custom-action windows-installer installshield-le


    【解决方案1】:

    条件构建器用于启动条件,仅在满足操作系统条件时才允许安装继续。对于自定义操作的条件,请在自定义操作的 Condition 属性中使用 VersionNT64。 Installed 属性适用于您的产品 - 未安装意味着您的 MSI 未安装 - 它与操作系统版本或其他产品无关。

    这些情况通常使用先决条件和引导程序首先安装这些先决条件来处理:

    https://msdn.microsoft.com/en-us/library/ms165429.aspx

    从您的安装程序安装其他安装程序的问题是,如果它们基于 MSI,它们可能会失败,因为您无法进行递归 MSI 安装(您调用另一个安装程序)。

    对于不同的架构,构建两个 MSI 也很常见(并且通常是必要的)。

    https://blogs.msdn.microsoft.com/heaths/2008/01/15/different-packages-are-required-for-different-processor-architectures/

    因此,您将构建一个 32 位 MSI 和一个 64 位 MSI,然后别无选择 - 您只需安装 MSI 随附的第 3 方软件。

    【讨论】:

      猜你喜欢
      • 2018-02-24
      • 2019-01-15
      • 1970-01-01
      • 2014-11-05
      • 2013-01-15
      • 1970-01-01
      • 2011-09-06
      • 1970-01-01
      • 2014-10-28
      相关资源
      最近更新 更多