cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Shuttledude
Level 7

Basic MSI CA is firing very slowly

I have a Basic MSI with a custom interior dialog that has one command button. In the Dialogs view, I selected Behavior, and selected the pushbutton control. The event I chose was DoAction, and for the argument I selected a Custom Action that I wrote using InstallScript. The Condition is 1. The custom action fires OK (all I'm doing is displaying a message box!), but it's realllllly s-l-o-w.

My worry is this: I'm thinking of converting several InstallScript MSI projects over to Basic MSI projects, and some of the projects have complicated scripts that I'd need to convert to Custom Actions, that are fired whenever the user interacts with the GUI. But if it takes so long to just display a messagebox, then I'm concerned that a computationally intensive function behind a pushbutton event would be prohibitively slow.

Is there a setting to make in the list of Custom Actions that might make it fire faster? Right now the In-Script Execution is Immediate Execution, and the Execution Scheduling is Always Execute.

Would using a different script language (instead of InstallScript) speed it up? All the functions I'd want to use are already written in InstallScript, so I'd really like to use them if possible.
Labels (1)
0 Kudos
(2) Replies
dan_galender
Level 10

InstallScript custom actions, in general, do take a little time (a second or 2) to fire up (set up the InstallScript engine). If that's a killer for you, you might look to rewrite the CA(s) in another language.

Actions that take place in the User Interface sequence must be immediate. If you schedule them to also run in the Execute sequence (if they have to run if the installation is run silently or with a reduced UI), you might schedule them to run only once (but that won't affect the load time).
0 Kudos
Christopher_Pai
Level 16

I wrote about this a few years ago:

http://blog.deploymentengineering.com/2006/06/installscript-ca-performance-issue.html


Basically the performance hit is in startup time, not script execution time.
0 Kudos