如何在Windows Installer上替换嵌套安装?

时间:2009-02-18 09:37:26

标签: windows-installer

在此MSDN page上,声明不推荐使用Windows Installer上的嵌套安装(也称为并发安装)。我目前正在安装第三方msi,其中包含custon操作类型23。

我可以使用什么机制安装第三方msi而不使用嵌套安装?我尝试使用类型34的自定义操作调用“msiexec.exe /i {.msi-file}”但由于不允许同时进行多次安装而失败。

不幸的是,没有可用于安装msi的合并模块。

2 个答案:

答案 0 :(得分:2)

不幸的是,对于您(以及在这种情况下的其他所有人),您将不得不创建一个引导程序,检查先决条件并在必要时启动其安装程序,然后启动安装程序。

如果您的先决条件需求仅依赖于某些功能而不是整个程序包,那将是非常不幸的,因为这意味着您还必须在引导程序应用程序中实现用户界面。 (我们就是这样,但幸运的是,无论如何我们都是从头开始,所以我们不必重新创建我们已经在MSI中实现的用户界面。我们实际上尝试了一种混合方法,其中前几个屏幕UI是在引导程序应用程序中,其余部分在MSI中,但涉及的挫折太多,所以我们在短时间内放弃了这个想法。)使用引导程序应用程序中的UI,用户将选择功能他们想要安装,然后引导应用程序将在必要时显示一个页面,其中说明正在安装必备软件并在此之前安装它们,然后再转到下一页。启动安装程序时,引导程序应用程序会通过命令行参数向其提供从UI收集的所有信息。您甚至可能希望将启动条件放入MSI中,以防止它在卸载或修复情况下直接运行。

答案 1 :(得分:0)

如果您使用自定义操作(Installshield有那些)来执行您的安装会发生什么?和/或代替.msi创建.exe文件?