我使用Basic MSI项目来支持多个实例,最大实例数为16。
这是要求,当安装第6个实例时,多实例选择对话框如下所示,
我想在单击“下一步”按钮时提示一个新的消息框,怎么做?我在项目中找不到这个对话框资源。
答案 0 :(得分:1)
InstallShield没有提供直接执行此操作的方法。 setup.exe在启动MSI之前会显示此对话框,因为一旦调用Windows Installer,它就会被锁定到该特定实例中。根据您要显示的消息框,您可以将其作为MSI的一部分,并在正确的情况下尽早显示。然而,要想做到这一点并不是一件容易的事。
最简单的方法是引用InstanceId
属性,因为它指示您所在的实例。但是,在安装和卸载几个实例后,您安装的下一个实例可能无法反映系统上当前的数字。
要完全正确,您必须对setup.exe知道的其他实例有类似的知识:它维护一个带有产品代码的实例列表(以及更多),以便检测它们是否已安装。如果您的MSI具有此信息,它还可以检测其他MSI(可能通过设置为仅检测的主要升级条目,引用其他实例的各种UpgradeCode
值。)
在任何一种情况下,一旦您确定了您的近似或确切数量,您就可以制作您的信息,并将其显示在对话框中(例如将其放入标签中显示的属性中) ),或通过拨打MsiProcessMessage
来显示。