如何在Advanced Installer中安装VC可再发行组件?

时间:2010-11-01 19:19:41

标签: installer windows-installer runtime

有很多关于如何在MSI文件中包含VC运行时的文章和帖子。

我正在使用Advanced Installer和VS2008

有人说使用合并模块;我不确定他们会正常工作,即。如果他们在我的服务(依赖于他们)之前进入,在安装期间启动,并且合并模块seme有一个烦人的习惯,要求重新启动卸载;

我试过简单地从MS复制.exe redistrutable包并在Install下使用自定义操作来使用/ q开关执行它们。我可以运行这样的其他安装程序(例如SQLITE)并且它可以工作。但MS文件似乎没有安装。它们肯定不会显示在“程序”或“更新”列表中。

有人知道将VC2008运行时合并到MSI安装中的简单有效方法吗?

2 个答案:

答案 0 :(得分:3)

这通常是通过先决条件完成的。目前,Advanced Installer具有大多数Visual C ++可再发行组件的预定义先决条件。所以你需要做的就是将它们添加到你的项目中。

答案 1 :(得分:1)

如果在没有/ q开关的情况下运行Visual C ++ Redistributable作为Advanced Installer自定义操作的一部分,您将看到它失败并显示错误'另一个安装正在进行中'。

我正在尝试首先安装先决条件(在安装程序的安装阶段之前),或者如果失败,我将使用预定义的先决条件(上面)。但是,当预定义的先决条件需要企业许可时,要在VCRedist上拥有/ q,我没有...

更新

解决方法如下:

  1. 在您的安装程序中包含VCRedist
  2. 有一个新的自定义操作以“启动已安装的文件”,从已安装的文件中选择VCRedist
  3. 使用命令行/ install / q / norestart
  4. 在完成执行'
  5. 之后,将自定义操作拖到列表的最后

    您的自定义操作对话框应如下所示

    enter image description here