Weird MSI problems on Vista caused by InstallShield bug
Recently, I've seen posts about some problems that really sounded weird to me. From the forum posts I was unable to tell what the setup authors might have done wrong. Here are some of the symptoms that have been reported in setup communities:
- After a Major Upgrade, you have two entries in Add/Remove Programs control panel.
- Error message "1: ALLUSERS property is not 1 - this MSM cannot be used for a per-user or fallback-to-per-user install" during installation, although ALLUERS had been set to 1.
When attempting to uninstall the application you may also see the following error messages:
- "Another version of this product is already installed. Installation of this version cannot continue. To configure or remove the existing version of this product, use Add/Remove Programs on the Control Panel." (Windows Installer error code 1638)
- "This action is only valid for products that are installed". (Windows Installer error code 1605)
As it turns out, this can be caused by a problem in InstallShield 2008. If a Basic MSI setup includes a custom action written in InstallScript, the script engine changes the value of the ALLUSERS property.
Macrovision has released a hotfix to address this problem, and also documented some workarounds: