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
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! ;)
User contributions licensed under CC BY-SA 3.0