Currently I can do a major upgrade of a specific instance. There are a
couple problems though.
    1. The default instance is upgraded fine. The transforms are upgraded,
BUT the previous version is not removed. So they both show up in ARP.
    2. I need to be able to not downgrade a specific instance, but be able
to install an old version as a different instance.

I am currently giving each instance it's own upgrade code and then
scheduling the FindRelatedProducts action after the upgrade codes are set.


Here is the current code:

<Product Id="YOURGUID-7AF1-4854-9B4F-01A6C77CC4AB"
                     Name="InstanceTransforms"
                     Language="1033"
                     Version="8.1.0.0"
                     Manufacturer="DCT"
                     UpgradeCode="{YOURGUID-F8CA-4F91-B74D-DF92AE4AB8FF}">

        ...

        <MajorUpgrade AllowDowngrades="no" DowngradeErrorMessage="A new
version of [ProductName] is already installed. Exiting installation."
Schedule="afterInstallFinalize" />

        <Property Id="INSTANCEID" Value="Default Instance" Secure="yes" />
        <InstanceTransforms Property="INSTANCEID">
            <Instance Id="Instance_1"
ProductCode="YOURGUID-975B-4CBA-B2CC-B363CAA4312C"
ProductName="InstanceTransforms"/>
            <Instance Id="Instance_2"
ProductCode="YOURGUID-CB52-485A-BE2A-1B2A407CD878"
ProductName="InstanceTransforms"/>
        </InstanceTransforms>

        <CustomAction Id="SetUpgradeCode_1" Property="UpgradeCode"
Value="{YOURGUID-975B-4CBA-B2CC-B363CAA4312C}" />
        <CustomAction Id="SetUpgradeCode_2" Property="UpgradeCode"
Value="{YOURGUID-CB52-485A-BE2A-1B2A407CD878}" />

        ...

        <InstallUISequence>
            <Custom Action="SetUpgradeCode_1" Before="AppSearch" >INSTANCEID
= "Instance_1"</Custom>
            <Custom Action="SetUpgradeCode_2" Before="AppSearch" >INSTANCEID
= "Instance_2"</Custom>
            <FindRelatedProducts After ="SetUpgradeCode_2"/> <!--Do
FindRelatedProducts after the last upgradecode CA runs.-->
        </InstallUISequence>
        <InstallExecuteSequence>
            <Custom Action="SetUpgradeCode_1" Before="AppSearch" >INSTANCEID
= "Instance_1"</Custom>
            <Custom Action="SetUpgradeCode_2" Before="AppSearch" >INSTANCEID
= "Instance_2"</Custom>
            <FindRelatedProducts After="SetUpgradeCode_2"/>
        </InstallExecuteSequence>
        ...
</Product>

-- 
Tyler Walters - Duck Creek Technologies
------------------------------------------------------------------------------
Benefiting from Server Virtualization: Beyond Initial Workload 
Consolidation -- Increasing the use of server virtualization is a top
priority.Virtualization can reduce costs, simplify management, and improve 
application availability and disaster protection. Learn more about boosting 
the value of server virtualization. http://p.sf.net/sfu/vmware-sfdev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to