This website uses cookies. By clicking Accept, you consent to the use of cookies. Click Here to learn more about how we use cookies.
Turn on suggestions
Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.
- Revenera Community
- :
- InstallShield
- :
- InstallShield Forum
- :
- Basic MSI CA is firing very slowly
Subscribe
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Subscribe
- Mute
- Printer Friendly Page
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 16, 2009
11:28 AM
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.
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.
(2) Replies
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 16, 2009
11:47 AM
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).
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).
- Mark as New
- Subscribe
- Mute
- Permalink
- Report Inappropriate Content
‎Feb 17, 2009
10:37 PM
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.
http://blog.deploymentengineering.com/2006/06/installscript-ca-performance-issue.html
Basically the performance hit is in startup time, not script execution time.
![](/skins/images/7A3C4A6C12A4A0FF95DE2D6B899D5F47/responsive_peak/images/icon_anonymous_message.png)