Summary
How to create an InstallScript wrapper to launch other installationsSynopsis
The following is a general example of authoring an InstallScript wrapper for your installation.
Depending on the installation requirements, there are occasions where checks or modifications to the target machine are needed before the main installation is run. What follows is a simplified version of an InstallScript wrapper where one of two possible installations can be run depending on the OS. Additional changes will be needed depending on the setup?s requirement and more complex changes falls outside of the scope of this article. For installations that need to be run before the main installation, use a setup prerequisite instead.
In a simplified model, an InstallScript installation will run through the OnFirstUIBefore, OnMoveData, and OnFirstUIAfter events during a first time install. As these are not needed as a wrapper, they will be stripped down and custom code will be written to only allow the wrapped installations to run.
Discussion
1. Create a new InstallScript setup. MSI based installations can run while the InstallScript installation process is running- allowing it to act as a wrapper.
2. In the Installation Designer tab, go to ?General Information? -> Maintenance Experience table entry select ?No uninstall or maintenance?. This helps ensure no uninstall key is created. The wrapper will run as a first time install regardless the number of times it is run on the target machine.
3. Go to ?Behavior and Logic? and select ?Support Files/Billboards?. In Support Files -> Place the main installation(s) in the Language Independent section.
4. Now select the InstallScript view above ?Support Files/Billboards?. Select the ?Setup.Rul?.
In the first drop down menu, select ?Before Move Data?. In the second drop down menu, select the ?OnFirstUIBefore? option. Remove all the code between the ?begin? and ?end;? from the default function. Select ?Move Data? in the first drop down menu. Select ?OnMoveData?. Remove all the code between the ?begin? and ?end;? from the default function. Finally, select ?After Move Data? in the first drop down menu and select ?OnFirstUIAfter? in the second drop down menu. Remove all the code between the ?begin? and ?end;? from the default function.
Add custom code in the OnFirstUIBefore event with the custom code to launch the wrapped installations. In this case, after a OS comparison appropriate calls to LaunchApplication are run. Note that if you are using LaunchApplication to launch an .msi instead of an .exe within an InstallScript wrapper, the InstallScript wrapper process should continue running while the .msi is running so that the cached .msi can be accessed. You can do this by passing in the LAAW_OPTION_WAIT with INFINITE as the nTimeOut parameter in LaunchApplication. Alternatively, you can use LaunchAppAndWait with WAIT for the nOptions parameter.
5. Build and test the release.
Related KB Articles
If you are using the Premier edition of InstallShield 2012 or later you can also use the Suite project type to bundle your installers: 32-bit and 64-bit Installation SupportAdditional Information
For more information on the LaunchApplication() function, please see the following Helpnet article: LaunchApplication
For information on accessing the 64-bit version of cmd.exe see the following Helpnet article: Targeting 64-Bit Operating Systems with InstallScript Installations
For information on accessing the 64-bit version of cmd.exe see the following Helpnet article: Targeting 64-Bit Operating Systems with InstallScript Installations
Was this helpful?
Related Articles
Creating an Uninstall Shortcut for an InstallScript MSI Project 6Number of Views Logging an InstallScript Project 13Number of Views Create a 64-bit Windows Registry Entry via an InstallScript Custom Action 10Number of Views Displaying a File Browse Dialog in an InstallScript Project 6Number of Views OutOfMemoryError and creating Java core Heap dumps 158Number of Views
Revenera Assistant
Online
Hi, I am Reva - Ask me anything.
Updates
No new updates
Chat
Home
Updates
/**/
Thanks for the feedback!
Your feedback has been saved.Rate this response:
1
2
3
4
5
Add Additional feedback ( Optional )
0/240
English
English
Language changed successfully
Something went wrong
Email sent successfully
Something went wrong
Case create successfully
Are you sure you want to cancel
the case creation?
Please select a product to submit the case.
Please select a product version to submit the case.
0/255
Upload Attachment
File Upload
Maximum file
size allowed is 3 MB.
File type
not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
Are you sure you want to cancel the case creation?
Case closed successfully
File Upload
Maximum file size allowed is 3 MB.
File type not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
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. | |
File Upload
Maximum file
size allowed is 3 MB.
File type
not supported.
Supported file types:
Documents (.txt, .doc, .docx, .pdf), Images (.jpg, .png), Comma Separated Files
(.csv) Speadsheets (.xlsx, .xls)
Revenera Assistant
© 2026 Flexera Software. All Rights Reserved.
Case id: 00001065
Activity: Status change: 2 hours ago