Closed wixbot closed 8 years ago
See http://wixtoolset.org/issues/edit/3738 for details.
Originally posted by
barnson
We would like that too.
Originally posted by
dev
Originally changed by
rseanhall
AssignedTo
set toshall
Originally changed by
rseanhall
Release
changed fromv3.x
tov3.9
Pull request https://github.com/wixtoolset/wix3/pull/30 accepted.
Originally posted by
rseanhall
Resolution
set tofixed
Status
changed fromOpen
toResolved
How exactly is this supposed to work?
I use the NetFx extension to install NetFx 4.52 and am trying to additionally install another required runtime.
The NetFx part works as intended.
<WixVariable Id="WixMbaPrereqPackageId" Value="NetFx452Redist" />
<WixVariable Id="WixMbaPrereqLicenseUrl" Value="redist\Netfx_eula452.rtf" />
If NetFx is installed by mbaprereq, the other runtime will also be installed.
The problem is, mbaprereq will not install the other runtime when NetFx is already present.
In my bundle I use a condition that correctly checks for a required runtime's install status:
<util:RegistrySearch Id="someruntime_check" Root="HKCR" Key="Installer\Products\blah" Value="ProductName" Variable="someruntime_installed" Result="exists" Win64="yes"/>
The runtime is declared like this:
<ExePackage SuppressSignatureVerification="yes" Id="SomeRuntime" Name="redist\SomeRuntime64.exe" SourceFile="..\redist\someRuntime64.exe" InstallCommand="/q /log" RepairCommand="/q /log" UninstallCommand="/x /log" Compressed="no" Permanent="yes" DetectCondition="someruntime_installed" PerMachine="yes" bal:PrereqSupportPackage="yes"/>
The custom BA creates a BootstrapperApplicationData.xml with this:
<MbaPrerequisiteSupportPackage PackageId="SomeRuntime" />
<WixPackageProperties Package="SomeRuntime" Vital="yes" DisplayName="SomeRuntimeInstaller" Description="Starts the installation of SomeRuntime" DownloadSize="12345" PackageSize="12345" InstalledSize="12345" PackageType="Exe" Permanent="yes" LogPathVariable="WixBundleLog_SomeRuntime" RollbackLogPathVariable="WixBundleRollbackLog_SomeRuntime" Compressed="no" DisplayInternalUI="no" Version="1.0.0" Cache="yes" />
<WixPayloadProperties Payload="SomeRuntime" Package="SomeRuntime" Name="redist\SomeRuntime64.exe" Size="12345" LayoutOnly="no" />
Log extract from case when NetFx is not present and both packages will install correctly:
[12AC:12A0][2014-10-06T17:07:58]i000: Loading prerequisite bootstrapper application because managed host could not be loaded, error: 0x80070490.
[12AC:12A0][2014-10-06T17:07:59]i100: Detect begin, 8 packages
[12AC:12A0][2014-10-06T17:07:59]i000: Registry key not found. Key = 'Installer\Products\blah'
[12AC:12A0][2014-10-06T17:07:59]i000: Setting numeric variable 'someruntime_installed' to value 0
[12AC:12A0][2014-10-06T17:07:59]i052: Condition 'NETFRAMEWORK45 >= 379893' evaluates to false.
[12AC:12A0][2014-10-06T17:07:59]i052: Condition 'someruntime_installed' evaluates to false.
[12AC:12A0][2014-10-06T17:07:59]i101: Detected package: NetFx452Redist, state: Absent, cached: None
[12AC:12A0][2014-10-06T17:07:59]i101: Detected package: SomeRuntime, state: Absent, cached: None
[12AC:12A0][2014-10-06T17:09:09]i201: Planned package: NetFx452Redist, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: Yes, uncache: No, dependency: None
[12AC:12A0][2014-10-06T17:09:09]i201: Planned package: SomeRuntime, state: Absent, default requested: Present, ba requested: Present, execute: Install, rollback: None, cache: Yes, uncache: No, dependency: None[12AC:12A0][2014-10-06T17:09:09]i300: Apply begin
[0548:067C][2014-10-06T17:09:09]i360: Creating a system restore point.
[0548:067C][2014-10-06T17:09:09]w363: Could not create system restore point, error: 0x80070422. Continuing...
[0548:067C][2014-10-06T17:09:09]i000: Caching bundle from: 'C:\Users\testuser\AppData\Local\Temp\{573afafc-4167-4eb3-be82-47e4fecbd345}\.be\Installer.exe' to: 'C:\ProgramData\Package Cache\{573afafc-4167-4eb3-be82-47e4fecbd345}\Installer.exe'
[0548:067C][2014-10-06T17:09:09]i320: Registering bundle dependency provider: {613B798B-2CEE-40CF-800B-93908489AD0B}, version: 4.4.0.0
[12AC:1274][2014-10-06T17:09:09]i338: Acquiring package: NetFx452Redist, payload: NetFx452Redist, copy from: C:\Users\testuser\Desktop\debug\redist\NDP452-KB2901907-x86-x64-AllOS-ENU.exe
[12AC:1274][2014-10-06T17:09:09]i000: Setting string variable 'WixBundleLastUsedSource' to value 'C:\Users\testuser\Desktop\debug\'
[0548:08D8][2014-10-06T17:09:30]i305: Verified acquired payload: NetFx452Redist at path: C:\ProgramData\Package Cache\.unverified\NetFx452Redist, moving to: C:\ProgramData\Package Cache\89F86F9522DC7A8A965FACCE839ABB790A285A63\redist\NDP452-KB2901907-x86-x64-AllOS-ENU.exe.
[12AC:1274][2014-10-06T17:09:30]i338: Acquiring package: SomeRuntime, payload: SomeRuntime, copy from: C:\Users\testuser\Desktop\debug\redist\SomeRuntime64.exe
[0548:08D8][2014-10-06T17:09:31]i305: Verified acquired payload: SomeRuntime at path: C:\ProgramData\Package Cache\.unverified\SomeRuntime, moving to: C:\ProgramData\Package Cache\503115FA2E651D3CEF6F7403585E53AF344CCD3E\redist\SomeRuntime64.exe.
[0548:067C][2014-10-06T17:09:31]i301: Applying execute package: NetFx452Redist, action: Install, path: C:\ProgramData\Package Cache\89F86F9522DC7A8A965FACCE839ABB790A285A63\redist\NDP452-KB2901907-x86-x64-AllOS-ENU.exe, arguments: '"C:\ProgramData\Package Cache\89F86F9522DC7A8A965FACCE839ABB790A285A63\redist\NDP452-KB2901907-x86-x64-AllOS-ENU.exe" /q /norestart /ChainingPackage "Testoftware" /log "C:\Users\testuser\AppData\Local\Temp\Testsoftware_20141006170758_0_NetFx452Redist.log.html"'
[12AC:12A0][2014-10-06T17:13:53]i319: Applied execute package: NetFx452Redist, result: 0x0, restart: None
[0548:067C][2014-10-06T17:13:53]i301: Applying execute package: SomeRuntime, action: Install, path: C:\ProgramData\Package Cache\503115FA2E651D3CEF6F7403585E53AF344CCD3E\redist\SomeRuntime64.exe, arguments: '"C:\ProgramData\Package Cache\503115FA2E651D3CEF6F7403585E53AF344CCD3E\redist\SomeRuntime64.exe" /q /log'
[12AC:12A0][2014-10-06T17:14:35]i319: Applied execute package: SomeRuntime, result: 0x0, restart: None
[12AC:12A0][2014-10-06T17:14:35]i399: Apply complete, result: 0x0, restart: None, ba requested restart: No
[12AC:12A0][2014-10-06T17:14:35]i500: Shutting down, exit code: 0x0
[12AC:12A0][2014-10-06T17:14:35]i000: The prerequisites were successfully installed. The bootstrapper application will be reloaded.
[12AC:12A0][2014-10-06T17:14:35]i006: Bootstrapper application requested to be reloaded.
[12AC:12A0][2014-10-06T17:14:35]i000: Loading managed bootstrapper application.
[12AC:12A0][2014-10-06T17:14:35]i000: Creating BA thread to run asynchronously.
Am I interpreting this correctly that the mbaprereq will only ever start if the Burn engine for some reason fails to actually load the custom BA.dll?
Originally posted by
js69
Status
changed fromResolved
toUntriaged
Please use wix-users for discussion.
Originally posted by
barnson
Status
changed fromUntriaged
toResolved
Currently only one package can be provided as "the" pre-req package for .NET (for managed BAs). That isn't sufficient for .NET on XP/2003 since they require two packages (WIC and CLR).