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

Reply via email to