0

EULA 窗口通过 Installshield 2011 中的 Interview 面板启用,并且在第一次安装程序时运行良好。但是,当我们进行升级时,它不会显示在对话框序列中。

我想这是 Installshield 中的默认行为,是否可以一直显示它?这样做是否明智?

4

2 回答 2

0

您可以随时启动 Eula 窗口(许可协议对话框)或自定义对话框。

升级时,从 SetupResume Dialog 上的 NextButton 启动 Eula Dialog,将另一个条件移动到 Next Button Eula Dialog,如果使用许可协议对话框,您必须将另一个条件“未安装”添加到旧的 Eula Dialog 条件

许可协议对话框的下一个按钮事件将如下所示:

事件:NewDialog,参数:LicenseAgreement,条件:未安装

事件:EndDialog,参数:返回,条件:OutOfNoRbDiskSpace <> 1 并且已安装

SetupResume 对话框的下一个按钮事件:事件:NewDialog,参数:LicenseAgreement,条件:1

于 2013-09-03T14:35:56.427 回答
0

我最近在使用 InstallShield 2014 时遇到了这个问题,即使将 EULA 添加到 SetupInitialization 对话框的 Next 按钮,也很难让 EULA 在自动升级路径中弹出。

我确实找到了一种方法来实现它:

进入行为和逻辑组,选择自定义操作和序列。展开序列 > 安装 > 用户界面。

您可以右键单击并将对象插入此处。在“插入操作”对话框中,在第一个下拉菜单中选择“对话框”。然后选择显示 EULA 的对话框(在我的例子中是 LicenseAgreement)。这会将其插入到安装序列的 UI 部分。

从那里,你可以将它拖到你需要的地方。我在 SetupInitialization 之后立即将其放入,但您也可以将其拖到 PatchWelcome / InstallWelcome / SetupResume / MaintenanceWelcome UI 组件之后。

如果执行此操作,您将需要转到 InstallWelcome 对话框(正常安装)并确保在此处跳过 EULA 以避免显示两次。将目标设置为 ReadyToInstall(在我的情况下是 LicenseAgreement 的下一步)允许我这样做。

也就是说,这样做意味着每次安装程序运行时都会出现 EULA。确保这是您真正想要做的。

于 2018-11-12T20:17:52.027 回答