Hello Amy,
 
I have been through this, here's my experience.   By the way, if some one can 
tell me there's a better way, I'd love to know.
 
Most of this is not wix specific, but can be implemented with WIX.  Some of it 
is bootstrap stuff.
 
I assume you want to upgrade each instance independently and possibly not in 
the same order you installed them.  
 
The biggest issue when it comes to major upgrade is that because an instance 
has the same UpgradeCode but a different ProductCode, it can look like another 
version of the product, so the FindRelatedProduct action will find all of the 
existing Instances when any instance is being upgraded.  The danger with this 
is that the first instance to be upgraded will upgrade one instance and remove 
all other instances at RemoveExistingProduct.  I protect against this by having 
the install write its product code to the registry.  I read this in on each 
install.  I let FindRelatedProduct do its work, but then I overwrite the list 
found by FindRelatedProduct with my instance.
 
The second thing is that you need to change the ProductCode for each of your 
instance transforms, otherwise the ProductCode is not changing for the instance 
which is not a Major Upgrade.   This can be really messy.
 
The third thing is that you now have to boot strap the MSI correctly - with the 
correct transform for the particular instance you are updating based on the 
user making a selection.   So my bootstrapper (which is a HTA) uses the 
Installer.RelatedProduct property (in the Automation Interface) to get the 
instances installed, and then lets the user select which they want to upgrade.  
 To do this the bootstrap must have a mapping of the existing ProductCode of an 
existing instance to the command string that upgrades that particular instance 
to its new instance.
 
The command line for the major upgrade will need to have MSINEWINSTANCE=1 and 
TRANSFORMS=<new or updated transform>.   You might have to experiment a bit 
with the original non-instance install (it doesn't need either of these).
 
By the way, if by chance you want to install a new instance with the new 
version (ie you have instances of the old version on the system and you want to 
add a further instance but with the new version) be carefull.  
FindRelatedProducts will still kick in and find the old versions even though 
you think its just installing, end result is that it removes the old instances. 
 I actually do all my instance installs with a property called CLEAN=1 which I 
use to stop FindRelatedProducts from running.
 
I have also had some problems with MigrateFeatuerState seeming to give me the 
union of features selected for different instances, but I really haven't got to 
the bottom of that one.
 
I hope that helps and I would like to know if you learn anything, or find a 
better way to do it.
 
Regards
 
Michael

________________________________

From: Amy Rosewater [mailto:arosewa...@spectrumhr.com]
Sent: Fri 20/02/2009 3:18 AM
To: General discussion for Windows Installer XML toolset.
Subject: [WiX-users] question about upgrades and instance transforms



Hi All,



I am in the process of making the necessary changes to my installer to
make it support a major upgrade.



I have found several resources describing the creation of a major
upgrade, and I think I understand at least for the default instance of
my product, how to write the Wix required to make this work.  However,
in my application I have supported multiple side by side installations
through the use of embedded transforms created by the Wix nodes
<InstanceTransforms> and <Instance...>.



Is there anything that I need to do differently in the creation of a
major upgrade installer so that it will work correctly with transformed
instances of my original install?



Thanks in advance,



Amy



Amy Rosewater

SPECTRUM Human Resource Systems Corporation

707 17th Street Suite 3800

Denver CO, 80202

303.592.3403

arosewa...@spectrumhr.com



------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users


------------------------------------------------------------------------------
Open Source Business Conference (OSBC), March 24-25, 2009, San Francisco, CA
-OSBC tackles the biggest issue in open source: Open Sourcing the Enterprise
-Strategies to boost innovation and cut costs with open source participation
-Receive a $600 discount off the registration fee with the source code: SFAD
http://p.sf.net/sfu/XcvMzF8H
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to