从MSI安装VC ++可再发行套件

时间:2013-09-23 13:45:40

标签: windows-installer

随着几个文件的部署(在.MSI机柜本身中放在一起),MSI需要生成一个用Visual C ++开发的自定义exe。通过在MSI安装程序中实现自定义脚本来实现此自定义可执行生成要求。即使MSI的自定义脚本成功生成自定义可执行文件,由于目标系统上缺少必要的系统库,操作系统无法运行该exe。安装VC ++ Redistributable Kit正在目标系统上部署必要的系统库,因此该工具包应该作为目标系统中已安装的应用程序提供,以便自定义exe正确执行。 由于此VC ++ Redist工具包是此自定义可执行文件的先决条件,因此我们考虑在生成自定义exe之前从MSI安装程序本身安装此VC ++ Redist Kit。我们成功地通过用于生成自定义可执行文件的相同自定义脚本生成VC ++ Redist Kit。完成MSI执行后,我们可以在“添加/删除程序”列表中看到此VC ++ Redist Kit。但问题是即使安装了此工具包,Custom可执行文件也无法识别Kit的存在,因此自定义可执行文件仍然无法运行。 能否请你引导我们走向MSI部署过程中安装应用程序,使所安装的应用程序的有效的直接(不直到MSI执行完毕等待)建成后的使得其他子进程MSI安装程序是否识别应用程序存在?

1 个答案:

答案 0 :(得分:0)

要使用MSI安装可再发行组件,建议use merge modules。这比自定义操作稳定得多。

要让新安装的应用程序识别可再发行组件,请确保使用延迟自定义操作在安装过程的最后或非常接近时启动它,以便系统中合并模块注册的DLL可用。

没有办法(推荐)从MSI包中提前在机器上提供可再发行组件。您可以在启动主MSI之前使用引导程序将它们作为先决条件安装,但这意味着您有一个EXE作为输出包,它捆绑了先决条件和主MSI包。