That's the only way?

Isn't there a way to force the user to uninstall one bundle before
installing a new one?

The reason I'm resistant to a custom BA is that I don't know how to
approach programming a BA correctly.  I know perl, python, bash, some C
(from a unix world).  I have made ant scripts to run wix commands, and I
have learned wix to make an msi and a basic bundle, but the bundle will
never pass QA as it is.

Are there no other options?

On Wed, 2013-07-03 at 02:13 -0700, Blair Murri wrote:
> 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



------------------------------------------------------------------------------
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