Summary
When adding a custom action to a merge module, extra steps need to be taken in the Direct Editor view so that this action will be properly scheduled in the built installation that includes the module.Synopsis
When adding a custom action to a merge module, extra steps need to be taken in the Direct Editor view so that this action will be properly scheduled in the built installation that includes the module.
Discussion
- In the Custom Actions view, launch and complete the Custom Action Wizard to add your action to the project. For more information, see the References section of this article.
- Open the Additional Tools | Direct Editor view.
- Browse to the ModuleInstallExecuteSequence table to add the action to the Execute sequence or to the ModuleInstallUISequence to add the action to the User Interface sequence of the base installer.
- Assume that the action should be added after the CostFinalize action in the Execute sequence of the base install. A row that references this action needs to be added to the ModuleInstallExecuteSequence table. Then, when the merge module is added to a project, the custom action will be sequenced relative to CostFinalize.
To add this row, set the Action column to CostFinalize and the Sequence column to 1000.
This Sequence number was selected because it is the default Sequence Number of the CostFinalize event in a new Basic MSI project. You can check for the Sequence number of any action by checking the Sequences view of a new Basic MSI project. - A row can be added to the ModuleInstallExecuteSequence table to sequence the custom action relative to the row created in Step 4 according to the following steps:
- Open the Custom Action table of the Direct Editor and copy the entry in the Action column, including the GUID.
- Paste this in the Action column of a new row in the ModuleInstallExecuteSequence table.
- Set the Base Action column to CostFinalize, referring to the row created in Step 4.
- Set the After column to 0 if the action should run before CostFinalize or 1 if it should run after CostFinalize.
- Open the Custom Action table of the Direct Editor and copy the entry in the Action column, including the GUID.
- Build the module and include it in a new project. This sequences the action before or after the CostFinalize event in the Execute sequence.
Here is a sample illustrating how the ModuleInstallExecuteSequence table should be populated in this example.
| Action | Sequence | Base Action | After | Condition |
|---|---|---|---|---|
| CostFinalize | 1000 | |||
| NewCustomAction1.EA72A259_E8FC_4980_8543_033597ABEABE | CostFinalize | 1 |
Related KB Articles
Additional Information
Any action can be used instead of CostFinalize as long as the name and sequence numbers are properly referenced.
The ModuleInstallExecuteSequence and ModuleUISequence tables are documented further by Microsoft.
For more information on creating custom actions, see Help Library topic Using the Custom Action Wizard.
Related Articles
Snow’s Approach to Product Upgrades 4Number of Views Custom Actions sequence incorrect in InstallShield Express. 3Number of Views Associating Actions to Product Features in the Pre-Install or Post-Install Sequences 4Number of Views Why does the FlexNet Operations ALM Reporter feel different from other product features of FlexNet Operations? 3Number of Views What FlexNet inventory agent and beacon release number corresponds to each product version? 305Number of Views
Hi, I am Reva - Ask me anything.
No new updates
Thanks for the feedback!
Your feedback has been saved.Rate this response:
Add Additional feedback ( Optional )
Are you sure you want to cancel
the case creation?
Are you sure you want to cancel the case creation?
Are you sure you want to close this case
| Products | Region | Phone Numbers |
|---|---|---|
| FlexNet Operations FlexNet Embedded FlexNet Publisher FlexNet Connect FlexNet Code Insight InstallAnywhere InstallShield |
North America * |
+1 630-332-2513 (toll) +1 877-279-2853 (toll-free in North America) |
| Europe * |
+44 1925 944367 (toll) +44 800 047 8642 (toll-free in Europe) |
|
| Japan * | +81 3-4540-5335 (select option 2) | |
| Australia * |
+61 3 9895 2177 +61 1800 560 603 (toll-free in Australia) |
|
|
Usage Intelligence (formerly
Revulytics) Compliance Intelligence |
Please use the Case Portal to submit your support ticket or reach out to your Revenera contact. | |
Case id: 00001065
Activity: Status change: 2 hours ago