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