EULA 窗口通过 Installshield 2011 中的 Interview 面板启用,并且在第一次安装程序时运行良好。但是,当我们进行升级时,它不会显示在对话框序列中。
我想这是 Installshield 中的默认行为,是否可以一直显示它?这样做是否明智?
EULA 窗口通过 Installshield 2011 中的 Interview 面板启用,并且在第一次安装程序时运行良好。但是,当我们进行升级时,它不会显示在对话框序列中。
我想这是 Installshield 中的默认行为,是否可以一直显示它?这样做是否明智?
您可以随时启动 Eula 窗口(许可协议对话框)或自定义对话框。
升级时,从 SetupResume Dialog 上的 NextButton 启动 Eula Dialog,将另一个条件移动到 Next Button Eula Dialog,如果使用许可协议对话框,您必须将另一个条件“未安装”添加到旧的 Eula Dialog 条件
许可协议对话框的下一个按钮事件将如下所示:
事件:NewDialog,参数:LicenseAgreement,条件:未安装
事件:EndDialog,参数:返回,条件:OutOfNoRbDiskSpace <> 1 并且已安装
SetupResume 对话框的下一个按钮事件:事件:NewDialog,参数:LicenseAgreement,条件:1
我最近在使用 InstallShield 2014 时遇到了这个问题,即使将 EULA 添加到 SetupInitialization 对话框的 Next 按钮,也很难让 EULA 在自动升级路径中弹出。
我确实找到了一种方法来实现它:
进入行为和逻辑组,选择自定义操作和序列。展开序列 > 安装 > 用户界面。
您可以右键单击并将对象插入此处。在“插入操作”对话框中,在第一个下拉菜单中选择“对话框”。然后选择显示 EULA 的对话框(在我的例子中是 LicenseAgreement)。这会将其插入到安装序列的 UI 部分。
从那里,你可以将它拖到你需要的地方。我在 SetupInitialization 之后立即将其放入,但您也可以将其拖到 PatchWelcome / InstallWelcome / SetupResume / MaintenanceWelcome UI 组件之后。
如果执行此操作,您将需要转到 InstallWelcome 对话框(正常安装)并确保在此处跳过 EULA 以避免显示两次。将目标设置为 ReadyToInstall(在我的情况下是 LicenseAgreement 的下一步)允许我这样做。
也就是说,这样做意味着每次安装程序运行时都会出现 EULA。确保这是您真正想要做的。