Installshield:如何在多个实例选择对话框中添加消息框?

时间:2014-08-28 06:16:16

标签: windows-installer installshield

我使用Basic MSI项目来支持多个实例,最大实例数为16。

这是要求,当安装第6个实例时,多实例选择对话框如下所示,

enter image description here

我想在单击“下一步”按钮时提示一个新的消息框,怎么做?我在项目中找不到这个对话框资源。

1 个答案:

答案 0 :(得分:1)

InstallShield没有提供直接执行此操作的方法。 setup.exe在启动MSI之前会显示此对话框,因为一旦调用Windows Installer,它就会被锁定到该特定实例中。根据您要显示的消息框,您可以将其作为MSI的一部分,并在正确的情况下尽早显示。然而,要想做到这一点并不是一件容易的事。

最简单的方法是引用InstanceId属性,因为它指示您所在的实例。但是,在安装和卸载几个实例后,您安装的下一个实例可能无法反映系统上当前的数字。

要完全正确,您必须对setup.exe知道的其他实例有类似的知识:它维护一个带有产品代码的实例列表(以及更多),以便检测它们是否已安装。如果您的MSI具有此信息,它还可以检测其他MSI(可能通过设置为仅检测的主要升级条目,引用其他实例的各种UpgradeCode值。)

在任何一种情况下,一旦您确定了您的近似或确切数量,您就可以制作您的信息,并将其显示在对话框中(例如将其放入标签中显示的属性中) ),或通过拨打MsiProcessMessage来显示。