cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
peterbi
Level 7

InstallScript upgrading question

Hi,

I recently converted an old IS6.3 project to IS2009 InstallScript type.

The original design is that the installer share the same product code since the beginning, at installation, it will check for .ini file info to determine if it's upgrading or fresh install.

The installer leave a folder with the name of the product code at [ProgramFilesFolder]InstallShield Installation Information\, it didn't put any buttons to ARP the only way to uninstall is to run a shortcut which will call the setup.exe in the above path.

After I converted to IS2009, and fixed some issues (objects, for example), fresh install is primarily working now. But when I tried to do upgrading (apply my converted building on a previous release), I immediatly got the error:

The installed version of the application could not be determined. The setup will now terminate.

I searched and couldn't find the message text in my project, so I assume it's from somewhere inside InstallShield. I know it's because it's related to the recorded (or cached) info from previous install in the described path above, since I could eliminate the error if I deleted/renamed the folder before I started to run the upgrading.

My real question is:
1) What's the reason of the error? I basically didn't do much change in the calling procedures except I switched "Program/Start: .........endprogram" to "function OnShowUI()/begin ... ... end;"

2) How can I fix the problem?The error is obviously before anything is triggered in the new package, I even tried renaming OnShowUI() to OnBegin() and put a debugging message at the beginning, but the error is still before that. So I don't know how to avoid/fix the error in my converted project, since it's right before anything (code) of my project.


Thanks,
Peter
Labels (1)
0 Kudos
(3) Replies
RobertDickau
Flexera Alumni

I gather you'll want to add code to OnSetUpdateMode that detects if your 6.x-installed product is present, and if so sets IFX_INSTALLED_VERSION to the installed version (IFX_INSTALLED_VERSION="1.2.3")...
0 Kudos
peterbi
Level 7

Robert,

You are right that I need that function call.


Thanks a lot,
Peter
0 Kudos
RobertDickau
Flexera Alumni

Great---thanks for following up!

Robert
0 Kudos