The only way to do that today would be to write a custom BA that cycles through 
plan and apply twice: once to remove the previous bundle and the second time to 
install the MSI.
 
> From: jo...@msli.com
> To: wix-users@lists.sourceforge.net
> Date: Tue, 2 Jul 2013 18:13:45 -0700
> Subject: [WiX-users] instaling a bundle to install an older msi
> 
> Can I make a bundle that always uninstalls the previous msi before
> installing the new one?
> 
> I have a bundle that installed an msi.
> 
> The bundle Version= 2013.07.01.0,
> the msi Version = 3.0.1 
> the program build 3699.
> 
> There was a problem with build 3699 so I must release build 3698, in a
> way that is easy on the users.
> 
> May I create a bundle that will install the build 3698 some how?
> 
> I tried to increment the bundle Version= 2013.07.02.0, 
> and build using the older msi, 
> and install the bundle, 
> "Programs and Feactures" increments the bundle version,
> but the msi was not downgrade to build 3698.
> 
> How can I deal with this situation?
> 
> My bundle.wxs
> <?xml version="1.0" encoding="UTF-8"?>
> <Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";
>     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension";
>     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension";
> >
> 
>   <Bundle
>     Name="$(var.MyInstallerName)"
>     Version="$(var.BundleVersion)"
>     Manufacturer="$(var.MyCompanyName)"
>     Copyright="(c) All rights reserved."
>     UpgradeCode="$(var.Guid_Bundle)"
>     HelpTelephone="$(var.HelpPhone)"
>     HelpUrl="$(var.HelpUrl)"
>     UpdateUrl="$(var.UpdateUrl)"
>     AboutUrl="$(var.AboutUrl)"
>     Condition="((VersionNT >= v5.1) 
>     AND (ServicePackLevel >= 3)) 
>     OR ((VersionNT >= v5.2) 
>     AND (ServicePackLevel >= 2)) 
>     OR (VersionNT >= v6.0)"
>     IconSourceFile="$(var.ProdIcon)"
>   >
> 
>     <WixVariable
>       Id="WixUIBannerBmp"
>       Value="../ProgramFiles/Resources/Images/InstallerHeaderImage.bmp"
>     />
>     <!-- Display License and Logo
>          The URL is to the EULA embeded in the installer -->
>     <BootstrapperApplicationRef
>       Id="WixStandardBootstrapperApplication.HyperlinkLicense"
>     >
>       <bal:WixStandardBootstrapperApplication
>         LicenseUrl="EULA.html"
>         LogoFile="$(var.ProdIcon)"
>         SuppressRepair="yes"
>         SuppressOptionsUI="yes"
>       />      
>       <Payload Name="EULA.html" SourceFile="$(var.EULA)"/>
>     </BootstrapperApplicationRef>
> 
>     <!-- BEGIN Conditional Def -->
>     <!-- Check if WinPcap is installed and at least some version -->
>     <util:RegistrySearch
>       Id="RegistrySearchWinPcapHas" 
>       Variable="WinPcapInstalled"
>       Root="HKLM"
>         Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst"
>       Result="exists"
>     />
>     <util:RegistrySearch
>       Id="RegistrySearchWinPcapMajor" 
>       Variable="WinPcapVersionMajor"
>       Root="HKLM"
>         Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst"
>       Value="VersionMajor"
>       Format="raw"
>       Result="value"
>     />
>     <util:RegistrySearch
>       Id="RegistrySearchWinPcapMinor" 
>       Variable="WinPcapVersionMinor"
>       Root="HKLM"
>         Key="SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\WinPcapInst"
>       Value="VersionMinor"
>       Format="raw"
>       Result="value"
>     />
>     <!-- Check if Bounjour Print Services is installed -->
>     <util:RegistrySearch
>       Id="RegistrySearchBonjourHas" 
>       Variable="BonjourDLL"
>       Root="HKLM"
>         Key="SOFTWARE\Classes\AppID\Bonjour.DLL"
>       Result="exists"
>     />
>     <util:RegistrySearch
>       Id="RegistrySearchBonjourValue" 
>       Variable="BounjourVersion"
>       Root="HKLM"
>         Key="SOFTWARE\Apple Inc.\Bonjour"
>       Value="Version"
>       Format="raw"
>       Result="value"
>     />
>     <!-- Check if Avdeccproxy is installed and at least some version -->
>     <util:RegistrySearch
>       Id="RegistrySearchProxyHas" 
>       Variable="ProxyInstalled"
>       Root="HKLM"
>         Key="SOFTWARE\Meyer Sound\AVDECC Proxy"
>       Result="exists"
>     />
>     <!-- END Conditional Def -->
> 
>     <!-- Begin Chain -->
>     <Chain>
>       <!-- Will not install if 4.1.3 or better is installed
>            If installing, download from Internet -->
>       <ExePackage 
>         Id="WinPcap"
>         Name="WinPcap_4_1_3.exe"
>         Vital="no"
>         Compressed="no"
>         DownloadUrl="http://www.winpcap.org/install/bin/WinPcap_4_1_3.exe";
>         InstallCondition="NOT WinPcapInstalled OR ( 4 > WinPcapVersionMajor 
> AND 1 > WinPcapVersionMinor)"
>         Permanent="yes"
>       >
>         <RemotePayload
>           Description="WinPcap 4.1.3 installer" 
>           Hash="e2516fcd1573e70334c8f50bee5241cdfdf48a00" 
>           ProductName="WinPcap 4.1.3" 
>           Size="915128" 
>           Version="4.1.0.2980"
>         />
>       </ExePackage>
>       <!-- Will not install if 2.0.2.0 or better is installed
>            If installing download from the Internet -->
>       <ExePackage
>         Id="BonjourPSSetup"
>         Name="BonjourPSSetup.exe"
>         Vital="no"
>         Compressed="no"
>         
> DownloadUrl="http://support.apple.com/downloads/DL999/en_US/BonjourPSSetup.exe";
>         InstallCondition="NOT BonjourDLL OR v2.0.2.0 > BonjourVersion"
>         Permanent="yes"
>       >
>         <RemotePayload
>           ProductName="BonjourPrintServices"
>           Description="Bonjour Printer Services Installer"
>           Size="5436744"
>           Version="2.0.2.0"
>           Hash="847f39e0ea80d2a4d902fe59657e18f5bc32a8cb" 
>       />
>       </ExePackage>
>       <!-- Will not install if already installed 
>            msi embeded in installer -->
>       <MsiPackage
>         Id="MyProxy"
>         Name="$(var.MSI_Proxy)"
>         DisplayName="Proxy"
>         Description="Proxy Installation"
>         DisplayInternalUI="yes"
>         EnableFeatureSelection="yes"
>         Vital="yes"
>         Visible="yes"
>         ForcePerMachine="yes"
>         Cache="yes"
>         Compressed="yes"
>         Permanent="yes"
>         SourceFile="..\Installers\$(var.MSI_Proxy)"
>       />
>       <!-- Will not install if already installed and 32bit -->
>       <MsiPackage
>         Id="MyProgramInstaller"
>         Name="$(var.MSI_Product)"
>         DisplayName="Compass"
>         Description="Compass Installation"
>         DisplayInternalUI="yes"
>         EnableFeatureSelection="yes"
>         Vital="yes"
>         Visible="no"
>         ForcePerMachine="yes"
>         Cache="yes"
>         Compressed="yes"
>         Permanent="no"
>         SourceFile="..\Installers\$(var.MSI_Product)"
>       />
>     </Chain>
>   </Bundle>
> </Wix>
> 
> 
> 
> NOTICE: This email may contain confidential information.  Please see 
> http://www.meyersound.com/confidential/ for our complete policy.
> 
> ------------------------------------------------------------------------------
> This SF.net email is sponsored by Windows:
> 
> Build for Windows Store.
> 
> http://p.sf.net/sfu/windows-dev2dev
> _______________________________________________
> WiX-users mailing list
> WiX-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wix-users
                                          
------------------------------------------------------------------------------
This SF.net email is sponsored by Windows:

Build for Windows Store.

http://p.sf.net/sfu/windows-dev2dev
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to