Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 添加条件以检查Visual studio Install Shield项目中自定义操作的操作系统类型_C#_Visual Studio 2012_Custom Action_Windows Installer_Installshield Le - Fatal编程技术网

C# 添加条件以检查Visual studio Install Shield项目中自定义操作的操作系统类型

C# 添加条件以检查Visual studio Install Shield项目中自定义操作的操作系统类型,c#,visual-studio-2012,custom-action,windows-installer,installshield-le,C#,Visual Studio 2012,Custom Action,Windows Installer,Installshield Le,我已经创建了windows服务的安装文件。除此之外,我还必须在目标机器上安装第三方软件。此第三方软件适用于2个版本的操作系统类型,64位和32位。我已将其包含在自定义操作中,如下所示: 现在,我想将OS类型的条件添加到此安装中,但我找不到任何可在如下所示的条件下添加的选项: 正如您所看到的,没有任何选项可以显式地键入条件。我已经了解到,识别操作系统类型的条件是非VersionNT64和VersionNT64,并检查其是否已安装,是否将未安装等,您可以将其指定为条件。但正如我前面所说的,我看不

我已经创建了windows服务的安装文件。除此之外,我还必须在目标机器上安装第三方软件。此第三方软件适用于2个版本的操作系统类型,64位和32位。我已将其包含在自定义操作中,如下所示:

现在,我想将OS类型的条件添加到此安装中,但我找不到任何可在如下所示的条件下添加的选项:


正如您所看到的,没有任何选项可以显式地键入条件。我已经了解到,识别操作系统类型的条件是
非VersionNT64
VersionNT64
,并检查其是否已安装,是否将
未安装
等,您可以将其指定为条件。但正如我前面所说的,我看不到在哪里指定此条件的任何选项。任何关于这方面的建议或见解都将非常有用。如果需要任何进一步的详细信息,请告诉我。

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

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

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

对于不同的体系结构,构建两个MSI也是常见的(通常是必要的)

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