Wix Burn, dependency installation failing

1

I have made a custom WPF UI in Burn to install my application, testing on my laptop its fine as it has .Net installed, but i have moved to a vanilla platform and have hit a snag right away. Burn tries to install .Net framework on the target, however, when i click "accept and install" a progress dialog pops up, then closes and is never heard of again. It hasnt installed anything, and the burn log is unhelpful.. i have posted it below. (i have removed anything "mespecific" from the logs, so anything in <...> has been removed. Does anyone have any ideas? bit confused why this is the case! is it something i need to do in the WPF code? (i.e. in the detection of packages?) Cheers - Chris

    [09F0:0FFC][2015-04-27T08:36:15]i001: Burn v3.9.1006.0, Windows v6.1 (Build 7601: Service Pack 1), path: D:\<APP_NAME>.exe, cmdline: '-burn.unelevated BurnPipe.<GUID> <GUID> 3784 '
    [09F0:0FFC][2015-04-27T08:36:15]i000: Initializing string variable 'BURNCOMPUTERNAME' to value 'TemporaryName'
    [09F0:0FFC][2015-04-27T08:36:15]i000: Initializing string variable 'NICNAME' to value 'tmp'
    [09F0:0FFC][2015-04-27T08:36:15]i000: Initializing string variable 'SQLSERVER' to value '<SERVERNAME>'
    [09F0:0FFC][2015-04-27T08:36:15]i000: Initializing string variable 'BURNHMIVARIANT' to value 'STANDARD'
    [09F0:0FFC][2015-04-27T08:36:15]i000: Initializing string variable 'BURNTIMEZONE' to value '(GMT) Dublin, Edinburgh, Lisbon, London'
    [09F0:0FFC][2015-04-27T08:36:16]i000: Setting string variable 'WixBundleLog' to value 'C:\Users\ADMINI~1\AppData\Local\Temp\<APP_NAME>_20150427083616.log'
    [09F0:0FFC][2015-04-27T08:36:16]i000: Setting string variable 'WixBundleOriginalSource' to value 'D:\<APP_NAME>.exe'
    [09F0:0FFC][2015-04-27T08:36:16]i000: Setting string variable 'WixBundleOriginalSourceFolder' to value 'D:\'
    [09F0:0FFC][2015-04-27T08:36:16]i000: Setting string variable 'WixBundleName' to value '<APP_NAME>'
    [09F0:0FFC][2015-04-27T08:36:16]i000: Loading prerequisite bootstrapper application because managed host could not be loaded, error: 0x80004001.
    [09F0:0A58][2015-04-27T08:36:16]i000: Setting version variable 'WixBundleFileVersion' to value '1.0.0.0'
    [09F0:0FFC][2015-04-27T08:36:16]i100: Detect begin, 7 packages
    [09F0:0FFC][2015-04-27T08:36:16]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full'
    [09F0:0FFC][2015-04-27T08:36:16]i000: Registry key not found. Key = 'SOFTWARE\Microsoft\Expression\Blend\3.0\Toolbox\WPF\v3.5\WPFToolkit'
    [09F0:0FFC][2015-04-27T08:36:16]i102: Detected related bundle: <GUID>, type: Upgrade, scope: PerMachine, version: 1.0.0.0, operation: None
    [09F0:0FFC][2015-04-27T08:36:16]i102: Detected related bundle: <GUID>, type: Upgrade, scope: PerMachine, version: 1.0.0.0, operation: None
    [09F0:0FFC][2015-04-27T08:36:16]i101: Detected package: dotNetFx40_Full_x86.exe, state: Absent, cached: None
    [09F0:0FFC][2015-04-27T08:36:16]i101: Detected package: WindowsXP_KB942288_v3_x86.exe, state: Absent, cached: None
    [09F0:0FFC][2015-04-27T08:36:16]i101: Detected package: WindowsServer2003_KB942288_v4_x64.exe, state: Absent, cached: None
    [09F0:0FFC][2015-04-27T08:36:16]i101: Detected package: WindowsXP_KB926139_v2_x86_ENU.exe, state: Absent, cached: None
    [09F0:0FFC][2015-04-27T08:36:16]i101: Detected package: WindowsServer2003_KB926139_v2_x86_ENU.exe, state: Absent, cached: None
    [09F0:0FFC][2015-04-27T08:36:16]i101: Detected package: WPFToolkit.msi, state: Absent, cached: None
    [09F0:0FFC][2015-04-27T08:36:16]i101: Detected package: <APP_INSTALL>.msi, state: Absent, cached: None
    [09F0:0FFC][2015-04-27T08:36:16]i199: Detect complete, result: 0x0
    [09F0:0FFC][2015-04-27T08:36:18]i200: Plan begin, 7 packages, action: Install
    [09F0:0FFC][2015-04-27T08:36:18]i052: Condition 'NOT (Net4FullVersion = "4.0.30319")' evaluates to true.
    [09F0:0FFC][2015-04-27T08:36:18]w321: Skipping dependency registration on package with no dependency providers: dotNetFx40_Full_x86.exe
    [09F0:0FFC][2015-04-27T08:36:18]i052: Condition '(VersionNT = v5.1) AND NOT (VersionMsi >= v4.5) AND NOT (VersionNT64)' evaluates to false.
    [09F0:0FFC][2015-04-27T08:36:18]w321: Skipping dependency registration on package with no dependency providers: WindowsXP_KB942288_v3_x86.exe
    [09F0:0FFC][2015-04-27T08:36:18]i052: Condition '(VersionNT = v5.2 OR VersionNT = v5.1) AND NOT (VersionMsi >= v4.5) AND (VersionNT64)' evaluates to false.
    [09F0:0FFC][2015-04-27T08:36:18]w321: Skipping dependency registration on package with no dependency providers: WindowsServer2003_KB942288_v4_x64.exe
    [09F0:0FFC][2015-04-27T08:36:18]i052: Condition 'VersionNT = v5.1' evaluates to false.
    [09F0:0FFC][2015-04-27T08:36:18]w321: Skipping dependency registration on package with no dependency providers: WindowsXP_KB926139_v2_x86_ENU.exe
    [09F0:0FFC][2015-04-27T08:36:18]i052: Condition 'VersionNT = v5.2' evaluates to false.
    [09F0:0FFC][2015-04-27T08:36:18]w321: Skipping dependency registration on package with no dependency providers: WindowsServer2003_KB926139_v2_x86_ENU.exe
    [09F0:0FFC][2015-04-27T08:36:18]i052: Condition 'NOT (WPFToolkit35 = "C:\Program Files\WPF Toolkit\v3.5.50211.1\")' evaluates to true.
    [09F0:0FFC][2015-04-27T08:36:18]i201: Planned package: dotNetFx40_Full_x86.exe, state: Absent, default requested: Present, ba requested: None, execute: None, rollback: None, cache: No, uncache: No, dependency: None
    [09F0:0FFC][2015-04-27T08:36:18]i201: Planned package: WindowsXP_KB942288_v3_x86.exe, state: Absent, default requested: Absent, ba requested: None, execute: None, rollback: None, cache: No, uncache: No, dependency: None
    [09F0:0FFC][2015-04-27T08:36:18]i201: Planned package: WindowsServer2003_KB942288_v4_x64.exe, state: Absent, default requested: Absent, ba requested: None, execute: None, rollback: None, cache: No, uncache: No, dependency: None
    [09F0:0FFC][2015-04-27T08:36:18]i201: Planned package: WindowsXP_KB926139_v2_x86_ENU.exe, state: Absent, default requested: Absent, ba requested: None, execute: None, rollback: None, cache: No, uncache: No, dependency: None
    [09F0:0FFC][2015-04-27T08:36:18]i201: Planned package: WindowsServer2003_KB926139_v2_x86_ENU.exe, state: Absent, default requested: Absent, ba requested: None, execute: None, rollback: None, cache: No, uncache: No, dependency: None
    [09F0:0FFC][2015-04-27T08:36:18]i201: Planned package: WPFToolkit.msi, state: Absent, default requested: Present, ba requested: None, execute: None, rollback: None, cache: No, uncache: No, dependency: None
    [09F0:0FFC][2015-04-27T08:36:18]i201: Planned package: <APP_INSTALL>.msi, state: Absent, default requested: Present, ba requested: None, execute: None, rollback: None, cache: No, uncache: No, dependency: None
    [09F0:0FFC][2015-04-27T08:36:18]i207: Planned related bundle: <GUID>, type: Upgrade, default requested: None, ba requested: None, execute: None, rollback: None, dependency: None
    [09F0:0FFC][2015-04-27T08:36:18]i207: Planned related bundle: <GUID>, type: Upgrade, default requested: None, ba requested: None, execute: None, rollback: None, dependency: None
    [09F0:0FFC][2015-04-27T08:36:18]i299: Plan complete, result: 0x0
    [09F0:0FFC][2015-04-27T08:36:18]i300: Apply begin
    [0EC8:0068][2015-04-27T08:36:18]i360: Creating a system restore point.
    [0EC8:0068][2015-04-27T08:36:18]w363: Could not create system restore point, error: 0x800703fd. Continuing...
    [0EC8:0068][2015-04-27T08:36:18]i000: Caching bundle from: 'C:\Users\ADMINI~1\AppData\Local\Temp\<GUID>\.be\<APP_NAME>.exe' to: 'C:\ProgramData\Package Cache\<GUID>\<APP_NAME>.exe'
    [0EC8:0068][2015-04-27T08:36:18]i320: Registering bundle dependency provider: <GUID>, version: 1.0.0.0
    [09F0:0FFC][2015-04-27T08:36:18]i399: Apply complete, result: 0x0, restart: None, ba requested restart:  No
    [09F0:0FFC][2015-04-27T08:36:18]i500: Shutting down, exit code: 0x0
    [09F0:0FFC][2015-04-27T08:36:18]i000: The prerequisites were already installed. The bootstrapper application will not be reloaded to prevent an infinite loop.
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: BURNCOMPUTERNAME = TemporaryName
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: BURNHMIVARIANT = STANDARD
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: BURNTIMEZONE = (GMT) Dublin, Edinburgh, Lisbon, London
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: NICNAME = tmp
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: SQLSERVER = <SERVER_NAME>
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: VersionMsi = 5.0.0.0
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: VersionNT = 6.1.0.0
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleAction = 4
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleElevated = 1
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleFileVersion = 1.0.0.0
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleInstalled = 0
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleLog = C:\Users\ADMINI~1\AppData\Local\Temp\<APP_NAME>_20150427083616.log
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleManufacturer = <MANUF_NAME>
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleName = <APP_NAME>
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleOriginalSource = D:\<APP_NAME>.exe
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleOriginalSourceFolder = D:\
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleProviderKey = <GUID>
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleTag = 
    [09F0:0FFC][2015-04-27T08:36:18]i410: Variable: WixBundleVersion = 1.0.0.0
    [09F0:0FFC][2015-04-27T08:36:18]i007: Exit code: 0x0, restarting: No
c#
wpf
wix
installation
burn
asked on Stack Overflow Apr 27, 2015 by Chris Watts

1 Answer

0

Ok, so i believe i figured it out.. There was an issue in how i had constructed the bundle xml. As the installer itself depends on the .Net, (as is mentioned on the internet in many places) this code snippet must be placed in a fragment..:

<!-- This defines the Installation packages that the main Burn ui depends on -->
<!-- think of this as the Installer prerequisites installer. -->
<PackageGroup Id="Netfx4Full">

  <ExePackage Id="Netfx4Full"
              InstallCondition="1"
              InstallCommand="/q /norestart"
              Cache="no"
              Compressed="yes"
              PerMachine="yes"
              Permanent="yes"
              Vital="yes" 
              DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 OR Netfx4x54FullVersion)"
              SourceFile="$(var.PreReqsPath).NET\v4.0\dotNetFx40_Full_x86.exe" />

</PackageGroup>

This package relies upon these registry key searches:

<util:RegistrySearch Root="HKLM"
                     Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
                     Value="Version"
                     Variable="Netfx4FullVersion" />
<util:RegistrySearch Root="HKLM"
                     Key="SOFTWARE\Microsoft\Net Framework Setup\NDP\v4\Full"
                     Value="Version"
                     Variable="Netfx4x64FullVersion"
                     Win64="yes" />

These Wix Variables also need to be included:

<WixVariable Id="WixMbaPrereqLicenseUrl" Value="" />
<WixVariable Id="WixMbaPrereqPackageId" Value="Netfx4Full" />

Oh, final note, the package has to be referenced FIRST in the chain,

<Chain>
  <PackageGroupRef Id="Netfx4Full"/>

The main problem i had was not having an "InstallCondition" ASWELL AS a "DetectCondition", once these were both in, the install started functioning correctly.

It was a bit of a nuisance, as i was copying the examples i found online. Hopefully this fully tested (and working..) example will provide people in the future a solution to the same problem.

Thanks for the help in any case, frustrating that i struggle for three days with this then fix almost as soon as i posted to StackOverflow.. such is life! ;)

answered on Stack Overflow Apr 27, 2015 by Chris Watts

User contributions licensed under CC BY-SA 3.0