代码之家  ›  专栏  ›  技术社区  ›  vividos

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

  •  1
  • vividos  · 技术社区  · 17 年前

    关于这个 MSDN page 声明不推荐在Windows Installer上使用嵌套安装(也称为并发安装)。我目前正在安装第三方MSI,其Custon操作类型为23。

    使用什么机制可以在不使用嵌套安装的情况下安装第三方MSI?我尝试使用34型的自定义操作调用“ msiexec.exe /i {.msi-file} “但由于不允许同时进行多个安装,所以这一做法失败了。

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

    2 回复  |  直到 17 年前
        1
  •  2
  •   RobH    17 年前

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

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

        2
  •  0
  •   Riho    17 年前

    如果使用自定义操作(InstallShield有这些操作)来执行安装,会发生什么情况?和/或不是.msi创建.exe文件?