Summary
How to use predefined properties to determine the state and action of the installation.
Synopsis
Windows Installer can use properties to evaluate conditions for package installation, feature and component installation, running standard or custom actions, and for dialog behavior. This article discusses how to use predefined properties to determine the state and action of the installation.
Discussion
Windows Installer defines a number of properties at run time. The properties are used to control the flow of installation and to determine the required action, such as an administrative install, advertisement, local installation, maintenance, repair, upgrade, or uninstall. Properties' values can be used in the conditions to check the type of action being performed. The following is the list of the most commonly used properties:
- Installed is set only if the product has been installed per-machine or for the current user. Use Not Installed condition to check for a first installation (not maintenance).
- REMOVE is set to the list of features to be uninstalled. Use REMOVE=ALL condition to check for uninstallation of a package.
- RESUME is set after a reboot is complete, and the installation is resumed.
- PATCH is set when applying a patch.
- Detect Property, shown in the Upgrades' Advanced view of the DevStudio and Developer IDEs, is set to the list of products being upgraded. Use this property to determine if the package is upgrading another product.
- UPGRADINGPRODUCTCODE is set to the product code of a package that performs the major upgrade of the current installation. Use this property to determine whether the package is being removed by an upgrade.
An example of using these properties is the ResolveSource standard action condition in a Basic MSI or InstallScript MSI project: Not Installed And Not PATCH. This condition is true only for a first installation. Any maintenance (modify, repair, remove) or applying a patch would skip this action. The explanation of this condition lies in the nature of the action. ResolveSource evaluates the folder from which the package is installed and verifies that the folder is available. Obviously, the source folder may not necessarily be available on uninstall.
Related Articles
Hiding Confidential Information Stored in a Property from an MSI Log File 3Number of Views Creating a Custom Action that Displays a Property 3Number of Views How to handle Navigation Controls using Checkbox property in Suite wizard pages? 4Number of Views PowerShell cmdlet get-property Used in a Custom Action 6Number of Views Uninstalling an InstallShield Installation Manually 18Number 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