InstallShield - 引用的DIM中的对话框无法在MSI项目UI序列中显示

时间:2013-03-05 19:22:13

标签: windows-installer installshield

我正在使用InstallShield 2012 Spring,我有一个'主'基本MSI项目。作为我们开发工作的一部分,我们正在使用DIM项目来帮助协调多开发人员的工作。在我们的环境中,我们有一个主(基本MSI)项目,它将引用其他DIM项目。 DIM项目包含(除其他外)对话框。

在DIM项目中(这里只是一个通用示例)我有一个新的对话框,它提供了“下一个”和“后退”按钮。我已经配置了'Next'和'Back'按钮行为以发出'NewDialog'事件,其中参数是下一个/上一个面板,所以显示(分别),条件是1(即总是)。

例如在DIM中我有MyDIMDialog的行为: ControlName“返回”事件“NewDialog”参数“APreviousPanelFromMainProject”条件“1” ControlName“Next”事件“NewDialog”参数“ReadyToInstall”条件“1”

基于上面的内容,MyDIMDialog是内置“准备安装”之前的最后一个面板。

在主(基本MSI)项目中,我引用了DIM模块并将其与功能相关联。我在主项目中配置了对话框,使“APreviousPanelFromMainProject”的NewDialog事件带有参考DIM对话框的参数(生成对话框名称)。

旁注 - 我正在尝试对现有UI对话框中的引用对话进行排序 - 而不是像内置的“Patch Welcome”那样的“顶级”UI序列对话框。

然而,当我构建并运行MSI(我们使用的是MSI而不是setup.exe)并且我进入APreviousPanelFromMainProject面板时,单击“下一步”不会执行任何操作 - 面板只是闪烁一点但不会继续执行我导入的DIM对话框按顺序排列。

我也尝试过配置APreviousPanelFromMainProject,使其'next'的NewDialog事件的参数为“MyDIMDialog”(即我不使用生成的引用对话框名称,格式为MyDIMDialog.XXXXXXXX_XXXX ... )。在这种情况下,当我运行安装程序时,我收到错误“错误2803.对话框视图没有找到对话框MyDIMDialog的记录。”

所以问题归结为 - >如何在基本MSI项目中对DIM引用对话框进行排序?

我的google-foo没有帮助解决这个问题,所以希望有人可以提供帮助。

由于

1 个答案:

答案 0 :(得分:0)

Using SQL Dialogs with DIM Projects上的想法是否有助于您的案例?

请注意,“后退”按钮的设置可能会使DIM比特定的消耗项目更紧密。虽然这对于分割工作很好,但是如果您稍后尝试在不同的项目中重复使用相同的DIM,请记住它。