I'm using Windows 7 and BitRock v18.2.0.
I'm trying to write my first "upgrade" installer. I've followed some of the suggestions on the "Updates" page of the documentation, and things seem to work correctly. However, when the "upgrade" is complete, the entry for the previous install under the "Uninstall or change a program" disappears. The "uninstall.exe" executable in the product's installdir remains, and it functions, but the presence of the product in the Uninstall are is gone.
Under <project>, I have added:
Under <initializationActionList>, I check the registry for a previous installation, and set "installdir" to the value of "Location" if it is there.
Under <preInstallationActionList>, the first thing I do is create an <actionGroup> that informs the user that an "upgrade" has been detected (if "installdir" exists), sets some Installer variables:
<setInstallerVariable name="project.allowComponentSelection" value="0"/>
<setInstallerVariable name="project.installationType" value="upgrade"/>
<setInstallerVariable name="project.parameter(installdir).ask" value="0"/>
<setInstallerVariable name="is_upgrade_mode" value="1"/>
<setInstallerVariable name="project.overwritePolicy" value="onlyIfNewer"/>
And in <readyToInstallActionList>, I have another <actionGroup> that deletes old Start Menu entries, removes the old ARP entry, and adds files installed by the previous installation to the uninstaller (all per the docs page).
The rest of the modifications are simply checking if "is_upgrade_mode" is true, and taking various actions based on it (like bypassing the install of the Visual Studio runtime, or hiding the setting of the "installdir" value by the user).
Can anybody see what I am doing wrong that might cause the Uninstaller entry to be wiped from the Windows Control panel area?
Please sign in to leave a comment.