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