Jump to content


This is a ready-only archive of the InstallSite Forum. You cannot post any new content here. / Dies ist ein Archiv des InstallSite Forums. Hier können keine neuen Beiträge veröffentlicht werden.
Photo

Major upgrade Issues


4 replies to this topic

pjaiswal

pjaiswal
  • Full Members
  • 19 posts

Posted 24 June 2008 - 06:00


Hi,

I am creating a major upgrade (for the first time, so please excuse me if my questions are silly) for one of our products. I want to uninstall the previous versions (1.0.0.0, 1.0.0.1, 1.0.0.2) whichever the users have, and install this latest version 1.0.0.3. I followed the instructions for creating a major upgrade and did these:

1. Had the original msi (1.0.0.0) and so ran upgradesync choosing the option "major upgrade".
2. After running the upgradesync tool, I went to the Upgrades view under the Installation Expert, it had the correct upgrade code(I verified it from the original install), set the minimum version to 1.0.0.0, checked the "Include minimum version in range". Then set the maximum version to 1.0.0.3 and did not check "Include maximum version in range". Set languages to 1033.
3. In action property I chose to create a new property called "OLDAPPFOUND" (Actually first time I left the default - UPGRADE_1). Checked the options to continue installation & migrate features.
4. After this checked the upgrade table to see if the entries look fine and it had the versionmin & max set fine. The attributes were set to 261 & Action Pproperty was set to OLDAPPFOUND.
5. I then moved the "RemoveExistingProducts" step in the InstallExecute sequence to run after Installvalidate and before Installinitialize as I wanted to uninstall first and then install on a clean machine.

Bu, when I tried installing it I did not notice this uninstalling the previous version. Even though the latest versioned files got installed, the add remove programs had 2 entries of the product.

Then just to see if the "ActionProperty" is being set after FindRelatedProducts, I added the OLDAPPFOUND property on the welcome dialog, but its empty and I assume thats why the old product is not getting uninstalled.

1. Do I need to do something else to set this action property?
2. If I want to restrict the users to let this version 1.0.0.3 install only if they have had earlier versions (0,1 & 2) is there something I can set?

Thanks,
Pragya

Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 24 June 2008 - 12:10

The problem is that Windows Installer ignores the fourth filed of the ProductVersion, so essentially it sees all these versions as 1.0.0. So from Windows Installer's perspective you didn't change the version number. Increment the ProductVersion to 1.0.1 (or 1.0.3) this should fix the problem.

pjaiswal

pjaiswal
  • Full Members
  • 19 posts

Posted 24 June 2008 - 18:34

Thanks! that fixed it. Also, does this major upgrade only install if the previous versions are present? If not, is there a way for me to restrict this install only to those users?

pjaiswal

pjaiswal
  • Full Members
  • 19 posts

Posted 25 June 2008 - 08:38

I was able to restrict the users to install the product only if the previous versions are present by putting an if statement. I added a display message and terminate Installation action just after the FindRelatedproducts action, wrapped the terminate action with an If condition that tests Upgrade table action property. That seemed to work fine on install. But after putting an if condition to check for the actionproperty, I am having issues uninstalling.On choosing to uninstall from add remove programs, I get a message which says configuring the uninstall and then a blank message box and then the uninstall terminates. I generated a verbose log for uninstall but could not figure out what is going wrong. I am attaching the log file along with this message. Any help would be appreciated.

Attached Files



Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 27 June 2008 - 17:16

Append "And Not Installed" (without quotes) to your error message condition.