如何使用Visual Studio Installer安装pre-requsite软件?

时间:2017-06-21 11:00:24

标签: c# windows-installer install installer visual-studio-setup-proje

我有必备的软件安装程序xyz.msi,应该通过主安装程序pqr.msi安装。我使用Visual Studio 2015安装程序项目来创建pqr.msi安装程序。

我还需要检查某些条件,例如是否已在目标计算机上安装xyz.msi。

据我所知,我可以在pqr安装程序中添加xyz.msi作为程序集,并在下面设置属性以有条件地复制xyz.msi:

  

条件

但是,如何在主安装程序静默之前调用pre-requsite安装程序以首先安装/启动。这会导致嵌套安装并失败吗?还有其他更好的办法吗?

1 个答案:

答案 0 :(得分:1)

您所指的副本上的条件实际上只是将文件安装到目标系统的条件,而是将文件复制到(例如)应用程序文件夹。它不会安装MSI,只会运行您安装的某个exe文件。

您也无法从自定义操作(即嵌套安装失败)安装MSI,因此您需要一种方法在自己的MSI之前安装它。我知道有两种选择:

  1. 引导程序清单生成器可用于构建一个setup.exe,它将安装先决条件MSI,然后安装MSI。从这里开始:
  2. https://msdn.microsoft.com/en-us/library/ms165429.aspx

    1. 使用WiX生成一个捆绑包,其中您将先决条件MSI标记为您的先决条件。您使用MsiPackage安装MSI。
    2. http://wixtoolset.org/documentation/manual/v3/bundle/bundle_author_chain.html http://wixtoolset.org/documentation/manual/v3/bundle/

      请注意,您不是使用WiX构建MSI,而只是构建引导程序包。

      如果该先决条件MSI来自第三方,那么他们可能有其他安装方式,例如您添加到自己的MSI构建中的合并模块。