I want to have two equivalent bundles: one that has the .net framework included 
(as wix calls it, compressed), and one that will download it. I'm currently 
creating the two bundles from a single bundle file by using an <?ifdef?> that I 
pass on the command line. Everything works fine except during install, the 
bundles don't fail to install if the other one is already installed. The log 
shows that it detected the related bundle, but WixBundleInstalled is set to 0. 
Is there a way to do this so that the bundles can't be installed on top of each 
other?

Here is the bundle file:

<?xml version='1.0' encoding='Windows-1252'?>

<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi";
     xmlns:netfx='http://schemas.microsoft.com/wix/NetFxExtension'
     xmlns:bal="http://schemas.microsoft.com/wix/BalExtension";
     xmlns:util="http://schemas.microsoft.com/wix/UtilExtension";>
  <?include Settings.wxi ?>
  <Bundle UpgradeCode="850A7D02-7CE9-46FD-9AE0-EC54F918F90A" 
Version='$(var.ProductVersion)'
          Name="MyTune" DisableModify="yes"
          IconSourceFile="../icon_gear.ico" Manufacturer='GearHead Software, 
LLC' UpdateUrl='$(var.UpdateUrl)'>
    <OptionalUpdateRegistration/>
    <BootstrapperApplicationRef 
Id="WixStandardBootstrapperApplication.RtfLargeLicense">
      <bal:WixStandardBootstrapperApplication LicenseFile="..\EULA.rtf" 
SuppressOptionsUI="yes" ShowVersion="yes" ThemeFile="RtfLargeTheme.xml"
                                              
LaunchTarget="[ProgramFilesFolder]\GearHead Software\MyTune\MyTune.exe"/>
    </BootstrapperApplicationRef>
    <Chain>
      <?ifdef IncludeDotNet ?>
        <PackageGroupRef Id="NetFx40RedistCompressed"/>
      <?else?>
        <PackageGroupRef Id="NetFx40Redist"/>
      <?endif?>
      <MsiPackage Id="MyTune" SourceFile="MyTune.msi" DisplayName="MyTune" />
    </Chain>
  </Bundle>

  <Fragment>
    <util:RegistrySearchRef Id="NETFRAMEWORK40"/>

    <PackageGroup Id="NetFx40RedistCompressed">
      <ExePackage
          InstallCommand="/q /norestart /ChainingPackage 
&quot;[WixBundleName]&quot;"
          RepairCommand="/q /norestart /repair /ChainingPackage 
&quot;[WixBundleName]&quot;"
          UninstallCommand="/uninstall /q /norestart /ChainingPackage 
&quot;[WixBundleName]&quot;"
          PerMachine="yes"
          DetectCondition="NETFRAMEWORK40"
          Id="NetFx40RedistCompressed"
          Vital="yes"
          Permanent="yes"
          Protocol="netfx4"
          Compressed="yes"
          SourceFile="dotNetFx40_Full_x86_x64.exe">
      </ExePackage>
    </PackageGroup>
  </Fragment>
</Wix>


Here is the log file from installing the bundle with .net included while the 
bundle without .net is already installed:

[0EBC:0604][2014-04-16T19:54:19]i001: Burn v3.8.1128.0, Windows v5.1 (Build 
2600: Service Pack 3), path: C:\MyTune1440_setup.exe, cmdline: ''
[0EBC:0604][2014-04-16T19:54:19]i000: Initializing string variable 
'LaunchTarget' to value '[ProgramFilesFolder]\GearHead 
Software\MyTune\MyTune.exe'
[0EBC:0604][2014-04-16T19:54:19]i000: Setting string variable 'WixBundleLog' to 
value 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MyTune_20140416195419.log'
[0EBC:0604][2014-04-16T19:54:19]i000: Setting string variable 
'WixBundleOriginalSource' to value 'C:\MyTune1440_setup.exe'
[0EBC:0604][2014-04-16T19:54:19]i000: Setting string variable 'WixBundleName' 
to value 'MyTune'
[0EBC:0604][2014-04-16T19:54:19]i100: Detect begin, 2 packages
[0EBC:0604][2014-04-16T19:54:19]i000: Setting string variable 'NETFRAMEWORK40' 
to value '1'
[0EBC:0604][2014-04-16T19:54:19]i102: Detected related bundle: 
{1d4ce8b1-06c6-47dc-a5f7-0dba64aadd69}, type: Upgrade, scope: PerMachine, 
version: 1.4.4.0, operation: None
[0EBC:0604][2014-04-16T19:54:19]i052: Condition 'NETFRAMEWORK40' evaluates to 
true.
[0EBC:0604][2014-04-16T19:54:19]i101: Detected package: 
NetFx40RedistCompressed, state: Present, cached: Complete
[0EBC:0604][2014-04-16T19:54:19]i101: Detected package: MyTune, state: Present, 
cached: Complete
[0EBC:0604][2014-04-16T19:54:19]i199: Detect complete, result: 0x0
[0EBC:0F04][2014-04-16T19:54:31]i000: Setting numeric variable 
'EulaAcceptCheckbox' to value 1
[0EBC:0604][2014-04-16T19:54:31]i200: Plan begin, 2 packages, action: Install
[0EBC:0604][2014-04-16T19:54:31]w321: Skipping dependency registration on 
package with no dependency providers: NetFx40RedistCompressed
[0EBC:0604][2014-04-16T19:54:31]i201: Planned package: NetFx40RedistCompressed, 
state: Present, default requested: Present, ba requested: Present, execute: 
None, rollback: None, cache: No, uncache: No, dependency: None
[0EBC:0604][2014-04-16T19:54:31]i201: Planned package: MyTune, state: Present, 
default requested: Present, ba requested: Present, execute: None, rollback: 
None, cache: No, uncache: No, dependency: Register
[0EBC:0604][2014-04-16T19:54:31]i207: Planned related bundle: 
{1d4ce8b1-06c6-47dc-a5f7-0dba64aadd69}, type: Upgrade, default requested: None, 
ba requested: None, execute: None, rollback: None, dependency: None
[0EBC:0604][2014-04-16T19:54:31]i299: Plan complete, result: 0x0
[0EBC:0604][2014-04-16T19:54:31]i300: Apply begin
[0F00:0C10][2014-04-16T19:54:31]i360: Creating a system restore point.
[0F00:0C10][2014-04-16T19:54:33]i361: Created a system restore point.
[0F00:0C10][2014-04-16T19:54:33]i000: Caching bundle from: 
'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\{8c1caa8f-1ff2-4691-9e98-0af4f5fdffd8}\.be\MyTune1440_setup.exe'
 to: 'C:\Documents and Settings\All Users\Application Data\Package 
Cache\{8c1caa8f-1ff2-4691-9e98-0af4f5fdffd8}\MyTune1440_setup.exe'
[0F00:0C10][2014-04-16T19:54:33]i320: Registering bundle dependency provider: 
{8c1caa8f-1ff2-4691-9e98-0af4f5fdffd8}, version: 1.4.4.0
[0F00:0C10][2014-04-16T19:54:33]i323: Registering package dependency provider: 
{62105E4D-AAC1-4A87-95FB-BBDD34926285}, version: 1.4.4.0, package: MyTune
[0F00:0C10][2014-04-16T19:54:33]i325: Registering dependency: 
{8c1caa8f-1ff2-4691-9e98-0af4f5fdffd8} on package provider: 
{62105E4D-AAC1-4A87-95FB-BBDD34926285}, package: MyTune
[0EBC:0604][2014-04-16T19:54:33]i399: Apply complete, result: 0x0, restart: 
None, ba requested restart:  No
[0EBC:0604][2014-04-16T19:54:36]i500: Shutting down, exit code: 0x0
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: EulaAcceptCheckbox = 1
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: LaunchTarget = C:\Program 
Files\\GearHead Software\MyTune\MyTune.exe
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: NETFRAMEWORK40 = 1
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: ProgramFilesFolder = C:\Program 
Files\
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleAction = 4
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleElevated = 1
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleInstalled = 0
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleLog = 
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MyTune_20140416195419.log
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleManufacturer = 
GearHead Software, LLC
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleName = MyTune
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleOriginalSource = 
C:\MyTune1440_setup.exe
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleProviderKey = 
{8c1caa8f-1ff2-4691-9e98-0af4f5fdffd8}
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleTag = 
[0EBC:0604][2014-04-16T19:54:36]i410: Variable: WixBundleVersion = 1.4.4.0
[0EBC:0604][2014-04-16T19:54:37]i007: Exit code: 0x0, restarting: No


Here is the log when installing the bundle with .net included while that same 
bundle is already installed (this works correctly, WixBundleInstalled is set to 
1):

[0F94:0BE4][2014-04-16T19:56:51]i001: Burn v3.8.1128.0, Windows v5.1 (Build 
2600: Service Pack 3), path: C:\MyTune1440_setup.exe, cmdline: ''
[0F94:0BE4][2014-04-16T19:56:51]i000: Initializing string variable 
'LaunchTarget' to value '[ProgramFilesFolder]\GearHead 
Software\MyTune\MyTune.exe'
[0F94:0BE4][2014-04-16T19:56:51]i000: Setting string variable 'WixBundleLog' to 
value 'C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MyTune_20140416195651.log'
[0F94:0BE4][2014-04-16T19:56:51]i000: Setting string variable 
'WixBundleOriginalSource' to value 'C:\MyTune1440_setup.exe'
[0F94:0BE4][2014-04-16T19:56:51]i100: Detect begin, 2 packages
[0F94:0BE4][2014-04-16T19:56:51]i000: Setting string variable 'NETFRAMEWORK40' 
to value '1'
[0F94:0BE4][2014-04-16T19:56:51]i102: Detected related bundle: 
{1d4ce8b1-06c6-47dc-a5f7-0dba64aadd69}, type: Upgrade, scope: PerMachine, 
version: 1.4.4.0, operation: None
[0F94:0BE4][2014-04-16T19:56:51]i052: Condition 'NETFRAMEWORK40' evaluates to 
true.
[0F94:0BE4][2014-04-16T19:56:51]i101: Detected package: 
NetFx40RedistCompressed, state: Present, cached: Complete
[0F94:0BE4][2014-04-16T19:56:51]i101: Detected package: MyTune, state: Present, 
cached: Complete
[0F94:0BE4][2014-04-16T19:56:51]i199: Detect complete, result: 0x0
[0F94:0BE4][2014-04-16T19:56:55]i500: Shutting down, exit code: 0x642
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: LaunchTarget = C:\Program 
Files\\GearHead Software\MyTune\MyTune.exe
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: NETFRAMEWORK40 = 1
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: ProgramFilesFolder = C:\Program 
Files\
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleAction = 4
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleElevated = 0
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleInstalled = 1
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleLog = 
C:\DOCUME~1\ADMINI~1\LOCALS~1\Temp\MyTune_20140416195651.log
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleManufacturer = 
GearHead Software, LLC
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleName = MyTune
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleOriginalSource = 
C:\MyTune1440_setup.exe
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleProviderKey = 
{8c1caa8f-1ff2-4691-9e98-0af4f5fdffd8}
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleTag = 
[0F94:0BE4][2014-04-16T19:56:55]i410: Variable: WixBundleVersion = 1.4.4.0
[0F94:0BE4][2014-04-16T19:56:55]i007: Exit code: 0x642, restarting: No


------------------------------------------------------------------------------
Learn Graph Databases - Download FREE O'Reilly Book
"Graph Databases" is the definitive new guide to graph databases and their
applications. Written by three acclaimed leaders in the field,
this first edition is now available. Download your free book today!
http://p.sf.net/sfu/NeoTech
_______________________________________________
WiX-users mailing list
WiX-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wix-users

Reply via email to