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
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.
Upgrade Table: Multiple Upgrade Codes
Started by
Bryan Aho
, Jan 25 2007 23:19
5 replies to this topic
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
-Stein Åsmul
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.
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.
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.
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.
Stefan Krüger
InstallSite.org twitter facebook
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
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
Thanks again, everyone. I'll post later to let you know how it goes.
--Bryan
Bryan Aho