You need to change your MajorUpgrade@Schedule attribute to something like 
afterInstallInitialize.  This will ensure that the previous version is removed 
before the downgrade version is installed.  A downgrade like this won't allow 
you an overlapped upgrade.

--
John Merryweather Cooper
Senior Software Engineer | Enterprise Service Applications | Continuing 
Development
Jack Henry & Associates, Inc.® | Lenexa, KS  66214 | Ext:  431050 
|jocoo...@jackhenry.com



-----Original Message-----
From: Rich Fowler [mailto:richwfow...@gmail.com] 
Sent: Wednesday, November 26, 2014 12:04 PM
To: wix-users@lists.sourceforge.net
Subject: [WiX-users] Need to support Downgrade installs

I need to allow  Downgrading installations. This is for an internal application 
where a user may need to install version "N" over version "N+1". Yes, I know 
this is frowned upon, but management insists. We need to make it seamless to 
our users. Forcing the user to first uninstall is not an option.

I've searched most everywhere and think I am close to getting it right.
However, after installing version "N" over top of "N+1" only the unchanged 
files remain. It looks like the installer is determining which files to install 
before version "N+1" is removed.

Following is a stripped down installation file. The "ACMEVERSION" property 
changes from release to release as well as the file version withing the 
executable.
After version 4.0.5.7 is installed, the directory contains two files - the exe 
and txt file. After 4.0.4.4 is installed, the directory only contains the txt 
file, which is unchanged between the versions.

Any advice or comments are deeply appreciated.

<?xml version="1.0" encoding="UTF-8"?><Wix
xmlns="http://schemas.microsoft.com/wix/2006/wi";>      <?define
ACMEVERSION = "4.0.04.04" ?><!--  THIS IS THE ONLY LINE THAT CHANGES
-->      <?define UpgradeCode =
"83ED9349-6CE8-49AF-AA9D-76A63BBF3667"?>    <Product Id="*"
Name="MyApp" Language="1033" Version="$(var.ACMEVERSION)"
Manufacturer="Acme" UpgradeCode="$(var.UpgradeCode)">      <Package
InstallerVersion="405" Compressed="yes"  Manufacturer="Acme" /> <Property 
Id="ALLUSERS" Value="1" />
       <MajorUpgrade AllowDowngrades="yes"
Schedule="afterInstallValidate" RemoveFeatures="ProductFeature" />
<!--InstallExecuteSequence>      <RemoveExistingProducts
After='InstallInitialize' />      <InstallExecute
After="RemoveExistingProducts" />    </InstallExecuteSequence -->
       <!-- Force uninstall of any previously installed version (Allow
Upgrade AND DownGrade -->      <Property
Id='PREVIOUSVERSIONSINSTALLED' Secure='yes' />      <Upgrade
Id='$(var.UpgradeCode)'>      <UpgradeVersion Minimum='1.0.0.0'
Maximum='99.0.0.0'
Property='PREVIOUSVERSIONSINSTALLED'
MigrateFeatures="yes" IncludeMinimum='yes' IncludeMaximum='no' /> </Upgrade>
     <MediaTemplate EmbedCab='yes' />
     <Feature Id="ProductFeature" Title="MyApp"
Level="1">                      <ComponentGroupRef Id="ProductComponents"
/>              </Feature>      </Product>    <!-- we want to install into 
C:\Acme\
-->     <Fragment>    <Directory Id="TARGETDIR" Name="SourceDir">
<Directory Id="ACMEINSTALLFOLDER" Name="Acme" />    </Directory>
<SetDirectory Id="TARGETDIR" Value="[WindowsVolume]" />  </Fragment>
        <Fragment>              <ComponentGroup Id="ProductComponents" >      
<Component
Id="AcmeAppComponent" Guid="304961E1-C871-4124-A802-76EFBA17E3A6"
            Directory="ACMEINSTALLFOLDER" >        <RemoveFile
Id="RmvFile" Name="AcmeApp.exe" On="install" />        <File
Id="AcmeEXE" Name="AcmeApp.exe"
Source="..\$(var.ACMEVERSION)\AcmeApp.exe" />      </Component>
<Component Id="DocumentComponent"
Guid="AD9DED34-7158-454E-8A3C-A9FC04F28621"
Directory="ACMEINSTALLFOLDER" >        <File Id="NOTES"
Name="Notes.txt"  KeyPath="yes" />      </Component>
</ComponentGroup>       </Fragment></Wix>
------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! 
Instantly Supercharge Your Business Reports and Dashboards with Interactivity, 
Sharing, Native Excel Exports, App Integration & more Get technology previously 
reserved for billion-dollar corporations, FREE 
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users
NOTICE: This electronic mail message and any files transmitted with it are 
intended
exclusively for the individual or entity to which it is addressed. The message, 
together with any attachment, may contain confidential and/or privileged 
information.
Any unauthorized review, use, printing, saving, copying, disclosure or 
distribution 
is strictly prohibited. If you have received this message in error, please 
immediately advise the sender by reply email and delete all copies.


------------------------------------------------------------------------------
Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server
from Actuate! Instantly Supercharge Your Business Reports and Dashboards
with Interactivity, Sharing, Native Excel Exports, App Integration & more
Get technology previously reserved for billion-dollar corporations, FREE
http://pubads.g.doubleclick.net/gampad/clk?id=157005751&iu=/4140/ostg.clktrk
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to