cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
guidoman
Level 2

Can't detect previous version of application installed with InstallShield 9

I am developing a new Basic MSI Project with the Evaluation version of InstallShield 2011 Professional edition. This new installer for the latest version of our application must be able to upgrade a previous version, installed by an installer built with InstallShield 9.
The problem is that the MSI installer doesn't detect that a previous version of the application is installed, and it installs the new version on the old one (BTW, without overwriting existing files).
From the MSI log I get the following:

MSI (c) (44:8C) [14:27:00:324]: APPCOMPAT: looking for appcompat database entry with ProductCode '{...}'.
MSI (c) (44:8C) [14:27:00:324]: APPCOMPAT: no matching ProductCode found in database.


Further information:
1) The 2011 ProductCode matches of course the ProductGUID and the InstallGuid of the old installer.
2) I have tried to implement some InstallScript code to debug this problem running inside the MSI. I can't even detect any installed version by calling "VerProductGetInstalledVersion" (which returns a result < ISERR_SUCCESS).
3) I have configured Media > Upgrades as "Minor/Small: Prompt" and "Major: Complete Uninstall Then Reinstall".
Labels (1)
0 Kudos
(3) Replies
RobertDickau
Flexera Alumni

Just to confirm, was the older product installed using a Windows Installer project (and not an InstallScript project)? If so, in the Media > Upgrades view, did you create a minor upgrade or major upgrade item, as opposed to just configuring those upgrade properties?
0 Kudos
guidoman
Level 2

No, it was created as an InstallShield project.
0 Kudos
RobertDickau
Flexera Alumni

An MSI project won't automatically remove an installed InstallScript project; perhaps calling RegDBGetUninstCmdLine and running that command if it exists would do the trick. (Some modification would be required for a silent uninstallation, but first things first.)
0 Kudos