Increment the version so the new ones remove the old ones?
On Fri, Jun 14, 2013 at 6:17 PM, jo...@msli.com <jo...@msli.com> wrote: > Is there a way to prevent a bundle from being installed multiple times? > I see many entries in "Programs and Features". > > 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.Version)" > 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)" > > > > <!-- 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)" > InstallCondition="NOT ProxyInstalled" > /> > <!-- Will not install if already installed and 32bit --> > <MsiPackage > Id="MyProgramInstaller" > Name="$(var.MSI_Product)" > DisplayName="MyProgram" > Description="MyProgram Installation" > DisplayInternalUI="yes" > EnableFeatureSelection="yes" > Vital="yes" > Visible="no" > ForcePerMachine="yes" > Cache="yes" > Compressed="yes" > Permanent="no" > SourceFile="..\Installers\$(var.MSI_Product)" > InstallCondition="NOT Installed" > /> > </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