Search code examples
user-interfaceprogress-barwindows-installerinstallshieldinstallshield-2010

InstallShield (Windows Installer) Action Text not being updated for Custom Action


I'm using installshield to develop an installer for a product and I'm having issues with the ActionText (the current action description) updating for my custom action.

I've followed these steps here: http://helpnet.flexerasoftware.com/installshield17helplib/ActionTextSettings.htm which make perfect sense, and should work, but my custom action doesn't update the action text in the UI.

I'm thinking that because my custom action runs and waits for a long running process to end, maybe it's blocking whichever thread is responsible for updating the action text.

Now I write it, it doesn't seem to make sense, but I don't know what else might do it!

The main details of the Custom Action are:

Filename & Command line: wscript.exe "invisible.vbs" "longrunningbatch.bat"
Return Processing:       Synchronous
In-Script Execution:     Commit Execution in System Context

And invisible.vbs contains:

CreateObject("Wscript.Shell").Run """" & WScript.Arguments(0) & """", 0, True

The above line should hide the shell window and the 'True' ensures the shell doesn't return until the batch file has finished running.

I've also added my custom action to the Action Text list as per the link and associated it with a string.

Should work right?

Anyone else experienced this at all?


Solution

  • Ok,

    So I found this post: http://community.flexerasoftware.com/archive/index.php?t-82772.html, which basically says that since my custom action was set to commit execution, the install was effectively finished at the time it was running, and therefore there's no point in updating the progress text.

    So the fix for my situation is to move my custom action to just before InstallFinalize and switch to 'deferred execution'.

    Hope this might help someone.