how to show EULA during upgrade using installshield

有些话、适合烂在心里 提交于 2019-12-13 03:03:42

问题


the EULA window is enabled through the Interview panel in Installshield 2011, and it works fine when installing the program first time. However, it won't show in the dialog sequence when we do the upgrade.

I guess it is a default behaviour in Installshield, is it possible to show it all the time? is it wise to do so?


回答1:


You can Launch Eula window (License Agreement dialog) or custom dialog anytime you want.

When upgrade, launch Eula Dialog from NextButton on SetupResume Dialog, move another conditions to Next Button Eula Dialog, if using License Agreement dialog you must add another conditions "Not Installed" to old Eula Dialog conditions

Next Button Events For License Agreement Dialog will be like this:

Event: NewDialog, Argument: LicenseAgreement, Condition: Not Installed

Event: EndDialog, Argument: Return, Condition: OutOfNoRbDiskSpace <> 1 AND Installed

Next Button Events For SetupResume Dialog: Event: NewDialog, Argument: LicenseAgreement, Condition: 1




回答2:


I ran into this problem rather recently with InstallShield 2014, and was having a hard time getting the EULA to pop up on the automagic upgrade path even when adding it to the Next button of the SetupInitialization dialog.

I did find a way to make it happen though:

Go into the Behavior and Logic group, select Custom Actions and Sequences. Expand Sequences > Installation > User Interface.

You can right-click and Insert objects into here. From the Insert Action dialog, select Dialogs in the first dropdown. Then select the EULA-displaying dialog (LicenseAgreement in my case). That will insert it into the UI portion of the Installation Sequence.

From there, you can drag it to where you need it. I dropped it in right after SetupInitialization, but you can also drag it down to just after the PatchWelcome / InstallWelcome / SetupResume / MaintenanceWelcome UI components.

If you do this, you'll want to go to your InstallWelcome dialog (normal installation) and make sure that you skip the EULA there in order to avoid showing it twice. Setting the target to ReadyToInstall (the next step of the LicenseAgreement in my case) allowed me to do that.

That said, doing this means that the EULA will come up every time the installer runs. Ensure that this is what you really want to do.



来源:https://stackoverflow.com/questions/18246114/how-to-show-eula-during-upgrade-using-installshield

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!