问题
My installer has .NET 4.5 as a prerequisite, when running my installer on Vista (with .NET 4.0 installed) it launches the prerequisite bootstrapper as expected. Clicking "Install" moves the dialog to a progress page, and that's where it stops. It just sits at 0% for a while, and then the bootstrapper disappears (exits).
Log snippet:
[0A30:0360][2013-07-11T10:41:23]i300: Apply begin
[093C:06F4][2013-07-11T10:41:23]i360: Creating a system restore point.
[093C:06F4][2013-07-11T10:41:28]i361: Created a system restore point.
[0A30:0360][2013-07-11T10:41:28]i399: Apply complete, result: 0x0, restart: None, ba requested restart: No
[0A30:0360][2013-07-11T10:41:28]i500: Shutting down, exit code: 0x0
[0A30:0360][2013-07-11T10:41:28]i000: The prerequisites were not successfully installed, error: 0x0. The bootstrapper application will be not reloaded.
My .NET package (Which is the first package in the bundle):
<PackageGroup Id="Netfx45Full">
<ExePackage Id="Netfx45Full"
Cache="no"
Compressed="yes"
PerMachine="yes"
Permanent="yes"
Vital="yes"
SourceFile="..\Common\PreRequisites\MSIL\dotNetFx45_Full_x86_x64.exe"
InstallCondition="NOT (Netfx4FullVersion="4.5.50709" OR Netfx4x64FullVersion="4.5.50709")"
DetectCondition="(Netfx4FullVersion="4.5.50709") AND (NOT VersionNT64 OR (Netfx4x64FullVersion="4.5.50709"))" />
</PackageGroup>
My bootstrappercore.config has got the following:
<wix.bootstrapper>
<host assemblyName="Bootstrapper">
<supportedFramework version="v4.5" />
</host>
</wix.bootstrapper>
I have been snooping around %temp% and various other locations, and I have been unable to find a .NET install log, so I assume it doesn't get to that point. Any ideas as to why .NET fails to install or how to troubleshoot it further are greatly appreciated. Thank you
回答1:
I had a similar problem. The installer started with .NET 4.0 installed but later crashed, even if I had referenced the .NET 4.5 package in the bundle. My solution was to add the sku attribute to supportedRuntime in BootstrapperCore.config like this:
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
</startup>
回答2:
There is a more simple way of installing .NET in Burn in stead of creating your own ExePackage
.
http://wix.sourceforge.net/manual-wix3/install_dotnet.htm
Since you want to install .NET 4.5 you should use the WixNetfxExtension
PackageGroup
: NetFx45Redist
Here is the complete PackageGroup
list:
http://wix.sourceforge.net/manual-wix3/wixnetfxextension.htm
来源:https://stackoverflow.com/questions/17590981/prerequisite-bootstrapper-application-fails-to-install-net-4-5