Basically my problem is this:
I am working on an installer, and I want to remove the previous version. I have all the package codes, and upgrade codes of all previous versions. How do I go about checking if there is a previous installation on the system, and then removing it before installing the latest version. What tables do I need to adjust?
0 Comments   [ + ] Show Comments

Comments

Please log in to comment

Rating comments in this legacy AppDeploy message board thread won't reorder them,
so that the conversation will remain readable.

Answers

0
See the details of upgrade table , you ll come to know
Answered 03/17/2009 by: dpu_bansal83
Orange Belt

Please log in to comment
0
I have already looked at the upgrade table on msdn, I know that I should be using the upgrade table, but everytime I install the latest version over an older version, it installs, I want the maintenance dialog to be displayed, so the user can first remove the old version.
Answered 03/17/2009 by: kristjan84
Orange Belt

Please log in to comment
0
You will have to match the upgrade codes of both versions of package and then use that in upgrade table .Note that the product codes of both versions should be different.
Answered 03/17/2009 by: dpu_bansal83
Orange Belt

Please log in to comment
0
Once you have populated the upgrade table correctly and added the name of the upgrade to the SecureCustomProperties property, then the previous versions should be removed when the new app is installed.

If you're expecting the newer version to appear with the maintenance dialog to appear when you first run the newer versions installation, that will not happen. The maintenance window will only appear an application is installed (which in your case, it isn't), e.g. when you launch the installation a second time or from Add/Remove Programs. So you're new version is doing what it should do.

When you're installing your new version, it should detect that a previous version (specified in the upgrade table) is installed and it will remove it whenever the Action 'RemoveExistingProducts' is launched. RemoveExistingProducts is normally found either near the end or the start of the 'Execute Immediate' sequence.

You're best bet is to use Windows Installer Logging when you install your newer version to see if is detecting that previous versions are installed. If not, then you can start you're troubleshooting from there.

Cood luck.
Answered 03/17/2009 by: michaelnowell
Second Degree Blue Belt

Please log in to comment
0
thanks for your answers guys, i´ll start looking into what im doing wrong [:D]
Answered 03/17/2009 by: kristjan84
Orange Belt

Please log in to comment
0
Hi,

The RemoveExistingProducts action to be run be scheduled to run in three ways
  1. InstallValidate action and the InstallInitialize action where the installer would remove the previous application before installing the new one.
  2. After InstallInitialse.
  3. After InstallFinalise action. Microsoft recommends this method as the most effeicient method while working with upgrades.

I think you can use any of the above three methods to do your upgrade along with populating the Upgrade table correctly just as Mike suggested. And as usual the analyzing the verbose logs will help a lot as well.
Answered 03/18/2009 by: India_Repackaging
Blue Belt

Please log in to comment
0
I want the maintenance dialog to be displayed, so the user can first remove the old version. The different responses here will get you the result you want. An important lesson to learn is that absolutely the LAST thing you do is allow users the opportunity to mess with the install process. They will, almost without exception, choose the WRONG option and at whose door do you think the blame will be laid?
Answered 03/18/2009 by: VBScab
Red Belt

Please log in to comment
0
Answered 03/18/2009 by: jmcfadyen
Fifth Degree Black Belt

Please log in to comment
Answer this question or Comment on this question for clarity