Good evening
I'm trying to get a simple managed UX example working without much success. The
resulting EXE keeps loading the prerequisite bootstrapper that wants to install
.NET 4. The error is:
Loading prerequisite bootstrapper application because managed host could not be
loaded, error: 0x80131700.
Fusion logging is enabled but I'm not getting anything on this error.
All I get is a window telling me that the Microsoft .NET Framework is required
with a hyperlink to the license (hyperlink works), "Accept & Install" button,
and "Decline" button. Decline cancels the install, Accept does nothing (since
.NET 4 is already installed) and gives the following message in the log:
The prerequisites were already installed. The bootstrapper application will not
be reloaded to prevent an infinite loop.
I've tried to borrow extensively from the Setup example for WiX 3.6 as managed
UX is not currently documented.
I have 4 projects in my solution:
- Application to be deployed (uses WPF 4)
- Installer MSI (written in WiX)
- Installer UX DLL (WPF 3.5 Client Profile, compiled to x86, based on WPF User
Control project)
- Installer EXE (written in WiX, targets Burn)
I've looked for this error message on the WiX list and Google, finding a couple
of entries but none seem to be what I need, near as I can tell.
Your help would be greatly appreciated. We've got 2 commercial products that
will use Burn if we can make it work.
Code follows below.
- Shaun
For my UX DLL, the only code I want to run (to prove it's working) is:
public class InstallerUX : BootstrapperApplication
{
protected override void Run()
{
MessageBox.Show("Foobar!");
this.Engine.Quit(0);
}
}
I also have a file "InstallerUX.BootstrapperCore.config" with the following:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name="wix.bootstrapper"
type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.BootstrapperSectionGroup,
BootstrapperCore">
<section name="host"
type="Microsoft.Tools.WindowsInstallerXml.Bootstrapper.HostSection,
BootstrapperCore" />
</sectionGroup>
</configSections>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v3.5" />
<!--<supportedRuntime version="v4.0" />-->
<!-- supportedRuntime version="v2.0.50727" / -->
</startup>
<wix.bootstrapper>
<host assemblyName="InstallerUX">
<supportedFramework version="v4\Full" />
<supportedFramework version="v4\Client" />
</host>
</wix.bootstrapper>
</configuration>
My bootstrapper project references WixBalExtension and WixUtilExtension. It
contains two files. The following is the code for Bundle.wxs:
<?xml version="1.0" encoding="UTF-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi">
<Bundle
Name="Burn Test App"
Version="1.0.0.0"
Manufacturer="Omnivex"
UpgradeCode="{306FA343-3D03-46AB-9BAB-A4E64F0AEBC7}"
SplashScreenSourceFile='!(wix.GraphicsPath)\SplashScreen.bmp' >
<!--<BootstrapperApplicationRef
Id="WixStandardBootstrapperApplication.RtfLicense">-->
<BootstrapperApplicationRef Id='ManagedBootstrapperApplicationHost'>
<Payload Name='BootstrapperCore.config'
SourceFile='!(wix.UXPath)\InstallerUX.BootstrapperCore.config' Compressed='no'
/>
<Payload SourceFile='!(wix.UXPath)\InstallerUX.dll' Compressed='yes' />
<Payload SourceFile='!(wix.LicensePath)\License.rtf' Compressed='yes' />
<Payload SourceFile='!(wix.NETFX40Path)\NetfxLicense.rtf'
Compressed='yes' />
</BootstrapperApplicationRef>
<Chain DisableRollback='yes'>
<PackageGroupRef Id='Netfx4Full' />
<MsiPackage Id='BurnTestAppMsi' Compressed='yes' Vital='yes'
Name='BurnTestApp.msi' SourceFile='!(wix.MSIPath)\BurnTestApp.msi' />
<!-- Note: The following PackageGroupRef is required to pull in generated
authoring from project references. -->
<PackageGroupRef Id="Bundle.Generated.Packages"/>
</Chain>
</Bundle>
</Wix>
This is the code for Netfx.wxs (lifted and slightly modified from the WiX Setup
project):
<?xml version="1.0" encoding="utf-8"?>
<Wix xmlns="http://schemas.microsoft.com/wix/2006/wi"
xmlns:util="http://schemas.microsoft.com/wix/UtilExtension">
<Fragment>
<WixVariable Id="WixMbaPrereqPackageId" Value="Netfx4Full" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="NetfxLicense.rtf" />
<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"
/>
<PackageGroup Id="Netfx4Full" >
<ExePackage
Id="Netfx4Full"
Cache="no"
Compressed="yes"
PerMachine="yes"
Permanent="yes"
Vital="yes"
Name="dotNetFx40_Full_x86_x64.exe"
SourceFile="!(wix.NETFX40Path)\dotNetFx40_Full_x86_x64.exe"
DownloadUrl="http://download.microsoft.com/download/9/5/A/95A9616B-7A37-4AF6-BC36-D6EA96C8DAAE/dotNetFx40_Full_x86_x64.exe"
DetectCondition="Netfx4FullVersion AND (NOT VersionNT64 OR
Netfx4x64FullVersion)" />
</PackageGroup>
</Fragment>
</Wix>
And here is the complete log when choosing "Accept & Install":
[1B6C:1908][2011-08-24T19:36:39]: Burn v3.6.2005.0, path: C:\Code\Junk\WiX Burn
Test\Bootstrapper\BurnTestApp.exe, cmdline: '-burn.unelevated
BurnPipe.{FC6E1C99-FDC3-45A5-AAD6-D1A4DF05CEC3}
{BB369DAB-5562-4C10-9F41-E825E5387948} 8312'
[1B6C:1908][2011-08-24T19:36:39]: Setting string variable 'WixBundleName' to
value 'Burn Test App'
[1B6C:1908][2011-08-24T19:36:39]: Setting string variable 'WixBundleLog' to
value 'C:\Users\shayward\AppData\Local\Temp\Burn_Test_App_20110824193639.log'
[1B6C:1908][2011-08-24T19:36:39]: Setting string variable
'WixBundleOriginalSource' to value 'C:\Code\Junk\WiX Burn
Test\Bootstrapper\BurnTestApp.exe'
[1B6C:1908][2011-08-24T19:36:39]: Loading prerequisite bootstrapper application
because managed host could not be loaded, error: 0x80131700.
[1B6C:1908][2011-08-24T19:36:39]: Detect 2 packages
[1B6C:1908][2011-08-24T19:36:39]: Setting string variable
'Netfx4x64FullVersion' to value '4.0.30319'
[1B6C:1908][2011-08-24T19:36:39]: Setting string variable 'Netfx4FullVersion'
to value '4.0.30319'
[1B6C:1908][2011-08-24T19:36:39]: Detected related bundle:
{27534f2f-d280-41db-89e7-3ce239f92868}, scope: PerMachine, version: 1.0.0.0,
operation: None
[1B6C:1908][2011-08-24T19:36:39]: Detected related bundle:
{4ef0a57c-3163-4c20-b3ac-d52765c48b2a}, scope: PerMachine, version: 1.0.0.0,
operation: None
[1B6C:1908][2011-08-24T19:36:39]: Detected related bundle:
{51a6376f-c388-4fe9-ac42-4f2b6c7fa97e}, scope: PerMachine, version: 1.0.0.0,
operation: None
[1B6C:1908][2011-08-24T19:36:39]: Detected related bundle:
{531d9bbf-1dd3-4daa-8875-6942e4c68f96}, scope: PerMachine, version: 1.0.0.0,
operation: None
[1B6C:1908][2011-08-24T19:36:39]: Detected related bundle:
{5886e912-81ec-43ca-8701-84e4dc91e5df}, scope: PerMachine, version: 1.0.0.0,
operation: None
[1B6C:1908][2011-08-24T19:36:39]: Condition 'Netfx4FullVersion AND (NOT
VersionNT64 OR Netfx4x64FullVersion)' evaluates to true.
[1B6C:1908][2011-08-24T19:36:39]: Detected package: Netfx4Full, state: Present,
cached: No
[1B6C:1908][2011-08-24T19:36:39]: Detect 1 msi features for package:
BurnTestAppMsi
[1B6C:1908][2011-08-24T19:36:39]: Detected feature: FEAT_Application, state:
Absent
[1B6C:1908][2011-08-24T19:36:39]: Detected package: BurnTestAppMsi, state:
Absent, cached: Yes
[1B6C:1908][2011-08-24T19:36:39]: Detect complete, result: 0x0
[1B6C:1908][2011-08-24T19:42:19]: Plan 2 packages, action: Install
[1B6C:1908][2011-08-24T19:42:19]: Planned package: Netfx4Full, state: Present,
default requested: Present, ux requested: Present, execute: None, rollback:
None, cache: Yes, uncache: Yes, dependency: Register
[1B6C:1908][2011-08-24T19:42:19]: Planned package: BurnTestAppMsi, state:
Absent, default requested: Present, ux requested: None, execute: None,
rollback: None, cache: No, uncache: No, dependency: Unregister
[1B6C:1908][2011-08-24T19:42:19]: Plan complete, result: 0x0
[1B6C:1908][2011-08-24T19:42:19]: Apply begin
[2078:2A28][2011-08-24T19:42:19]: Caching executable from: 'C:\Code\Junk\WiX
Burn Test\Bootstrapper\BurnTestApp.exe' to: 'C:\ProgramData\Package
Cache\{0e4edf15-3575-44b1-be10-c4748c9ae7d6}\BurnTestApp.exe'
[2078:2A28][2011-08-24T19:42:19]: Registering bundle dependency key:
{0e4edf15-3575-44b1-be10-c4748c9ae7d6}, version 1.0.0.0
[2078:241C][2011-08-24T19:42:19]: Caching payload from working path
'C:\Users\shayward\AppData\Local\Temp\Netfx4Full' to path
'C:\ProgramData\Package
Cache\58DA3D74DB353AAD03588CBB5CEA8234166D8B99\dotNetFx40_Full_x86_x64.exe'
[2078:2A28][2011-08-24T19:42:19]: Removing cached package:
58DA3D74DB353AAD03588CBB5CEA8234166D8B99, from path: C:\ProgramData\Package
Cache\58DA3D74DB353AAD03588CBB5CEA8234166D8B99\
[1B6C:1908][2011-08-24T19:42:19]: Apply complete, result: 0x0 restart: No
[1B6C:1908][2011-08-24T19:42:19]: Shutting down, exit code: 0x0
[1B6C:1908][2011-08-24T19:42:19]: The prerequisites were already installed. The
bootstrapper application will not be reloaded to prevent an infinite loop.
The information in this e-mail is intended solely for the addressee and access
by anyone else is unauthorized. Omnivex accepts no liability for the content
of this e-mail, or for the consequences of any actions taken on the basis of
the information provided. Any views or opinions presented in this e-mail are
solely those of the author and do not necessarily represent those of the
company. Omnivex makes no warranties, express or implied and is not
responsible for errors or omissions.
------------------------------------------------------------------------------
EMC VNX: the world's simplest storage, starting under $10K
The only unified storage solution that offers unified management
Up to 160% more powerful than alternatives and 25% more efficient.
Guaranteed. http://p.sf.net/sfu/emc-vnx-dev2dev
_______________________________________________
WiX-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/wix-users