Sat3CheenD89at
Posts: 5
Joined: Wed Apr 28, 2021 10:43 pm

Bootstrapper "Install" button takes a long time to transition to "ProgressDlg"

Fri Nov 12, 2021 11:30 pm

hi, I'm working with a single exe setup. For some reason, hitting the "Install" button (on the VerifyReadyDlg) takes about 45 seconds (on a VM) to transition to the ProgressDlg. Have tried numerous things to speed this up (removing an intervening custom action call, checking Install Params "Fast installation - optimized file costing" - this shaves a few seconds). When I add a Published Event to the Install button to "Display a specific dialog", the time increases to 50 seconds, before the dialog appears.

It's kind of baffling that the first Published Event off the Install button is "Close the current dialog" - which takes so long.

If I can't make this transition go any faster, I'd like to be able to disable the "Install" button, after it's clicked, or show some visual feedback that the installation has started. Haven't gotten this (disable on click) to work...

any suggestions? Thanks,

Kirk Evans

Catalin
Posts: 6539
Joined: Wed Jun 13, 2018 7:49 am

Re: Bootstrapper "Install" button takes a long time to transition to "ProgressDlg"

Mon Nov 15, 2021 12:43 pm

Hello Kirik,

I have tried testing this and everything worked just fine on my VM, the dialogs transitioned really quick.

Perhaps I did not test this the right way, because your scenario is not quite clear for me. If possible, could you please give me some more details (a step-by-step test case would really help) about this so I can further investigate this on our end?

Also, are you able to reproduce this on multiple clean machines, or is it specific to one machine only? If the latter, then I would say it might be something with that VM.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Sat3CheenD89at
Posts: 5
Joined: Wed Apr 28, 2021 10:43 pm

Re: Bootstrapper "Install" button takes a long time to transition to "ProgressDlg"

Wed Nov 17, 2021 1:22 am

hi Catalin, thanks for your reply.

The problem only occurs when we're installing to a directory that contains a previous version of the application, which contains thousands of (mostly help) files. Otherwise the dialogs progress quickly, as you report. (later in the installation process we actually uninstall the earlier application - by running msiexec /x before the InstallExe sequence commences - an ugly story, and not relevant to the issue at hand).

It appears that FolderDlg calls the InstallValidate standard action (shown in the attached log snippet), which I believe is what's taking all the time. Is there a way to disable this? I know what InstallValidate does, and might be willing to assume the risks of not running it. I also know InstallValidate is scheduled in the InstallExecuteSequence, and I disabled it there, by stipulating an always-false condition so it never runs.

thanks for your help,
Kirk Evans
install validate in dialogs.png
install validate in dialogs.png (51.12KiB)Viewed 7911 times

Catalin
Posts: 6539
Joined: Wed Jun 13, 2018 7:49 am

Re: Bootstrapper "Install" button takes a long time to transition to "ProgressDlg"

Wed Nov 17, 2021 5:33 pm

Hello Kirik,

You are always welcome!

And thank you for your followup on this.

The standard action might be invoked from the "Verify and set the selected folder path" event that is set on the "Next" button from the "FolderDlg" dialog.

Hope this helps!

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Sat3CheenD89at
Posts: 5
Joined: Wed Apr 28, 2021 10:43 pm

Re: Bootstrapper "Install" button takes a long time to transition to "ProgressDlg"

Thu Nov 18, 2021 2:03 am

hi Catalin,

I removed "Verify and set selected folder path" as you suggested, and it still runs the InstallValidate action (with the big delay). Actually this is something I tried a few days ago, and tried again, just to make sure.

I also went into Custom Actions / Show Standard Action and set an always-false condition on InstallValidate, but this only affects it in the InstallExecuteSequence, not upstream with the dialogs.

Back to FolderDlg, I tried different Validation options on the "Installation Path" tab that hangs off the "Next" button, but there's apparently no way to turn off InstallValidate from this screen. The first radio button "Use native Windows Installer validation (always used...)" says as much.

Any other ideas? I hate doing this, but I may play the game of 1) copying APPDIR to a temporary property, set APPDIR to something harmless, to get through InstallValidate quickly, and then 3) restore APPDIR. I hate doing stuff like this, but if nothing else works...

thanks,

Kirk Evans

Catalin
Posts: 6539
Joined: Wed Jun 13, 2018 7:49 am

Re: Bootstrapper "Install" button takes a long time to transition to "ProgressDlg"

Thu Nov 18, 2021 3:59 pm

Hello Kirik,

To be fully honest with you, I am a bit confused as well.

Somehow, I do not see the "InstallValidate" at all, not even in the "InstallUISequence" table.

However, from the following article InstallUISequence Table, I understand that the action is executed during the UI stage.

Unfortunately, I can not really say what event triggers the action, if any.

Best regards,
Catalin
Catalin Gheorghe - Advanced Installer Team
Follow us: Twitter - Facebook - YouTube

Return to “Building Installers”