如何在使用installshield升级期间显示EULA

时间:2013-08-15 04:00:47

标签: installshield eula

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

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

2 个答案:

答案 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。确保这是您真正想要做的。