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

Upgrade Table: Multiple Upgrade Codes


5 replies to this topic

Bryan Aho

Bryan Aho
  • Full Members
  • 10 posts

Posted 25 January 2007 - 23:19

Hi Stefan,

Do you know if it is possible for Windows Installer to upgrade multiple installations in a certain order?

Our old app consisted of a client MSI and several plug-in MSIs. The client MSI must be installed first, because it contained utilities used by the plugins. These utilities were also used when the plugins were uninstalled, so the client needed to be uninstalled last.

Our new app combines the client and the plugins, so on this next major upgrade, I need to have the upgrade uninstall the previous installations in a specific order.

I've referred to the MSDN Windows Installer documentation, and it isn't clear how Windows Installer processes entries in the Upgrade table.

Do you know by experience in what order they are processed? For example, does Row 1 of the upgrade table get handled before Row 2, etc?

Thanks for your assistance,
Bryan
Bryan Aho

Glytzhkof

Glytzhkof
  • Moderators
  • 1,447 posts

Posted 26 January 2007 - 09:43

I haven't tested how the Upgrade table is really processed. However, I would definitely not rely on it to uninstall your setups in any specific order. Instead I would use a custom setup.exe launcher that would take care of uninstall in the correct order, and then install the new application. In order to support large scale deployment (corporate deployment) - it is generally a good idea to make this upgrade process transparent with a batch file (meaning that repackagers can see what you are doing and incorporate the same logic in their SMS deployment package - or whatever other distribution system is used).
Regards
-Stein Åsmul

Dominik Oberlin

Dominik Oberlin
  • Full Members
  • 12 posts

Posted 29 January 2007 - 11:42

Hi Bryan Aho
If you understand german language, you can use the instructions of following post:
http://www.doctordep...grade-t396.html.
In UpgradeTable you must use an other ActionProperty for the Product that you want to remove first. Then you set the definitvely ActionProperty via CustomAction Type 51.


Stefan Krueger

Stefan Krueger

    InstallSite.org

  • Administrators
  • 13,269 posts

Posted 30 January 2007 - 09:32

This trick relies on the behaviour that Windows Installer removes existing products in the order they are listed in the ActionProperty. As far as I know this behaviour is not documented anywhere, so it's not guaranteed to work.

Note that users could manually uninstall msi setups in any random order, so if possible you should change your design to remove these uninstall dependencies.

Bryan Aho

Bryan Aho
  • Full Members
  • 10 posts

Posted 09 February 2007 - 20:28

QUOTE (Dominik Oberlin @ 2007-01-29 11:42)
Hi Bryan Aho
If you understand german language, you can use the instructions of following post:
http://www.doctordep...grade-t396.html.
In UpgradeTable you must use an other ActionProperty for the Product that you want to remove first. Then you set the definitvely ActionProperty via CustomAction Type 51.

Hi Dominik,

Thanks for the information. I'll run it through AltaVista BabelFish, and give that approach a try.

I have a support incident open with Microsoft, but they have not offered any approaches yet. If this works, I'll close that case with them.

Thanks again,
Bryan
Bryan Aho

Bryan Aho

Bryan Aho
  • Full Members
  • 10 posts

Posted 09 February 2007 - 20:30

QUOTE (Stefan Krueger @ 2007-01-30 09:32)


Note that users could manually uninstall msi setups in any random order, so if possible you should change your design to remove these uninstall dependencies.

Hi Stefan,

Thanks for your reply. Yes, we are changing the approach with our new release. There were business requirements for that approach which now no longer exist smile.gif

Thanks again, everyone. I'll post later to let you know how it goes.

--Bryan
Bryan Aho