| 1 | <!-- Copyright (c) .NET Foundation and contributors. All rights reserved. Licensed under the Microsoft Reciprocal License. See LICENSE.TXT file in the project root for full license information. --> |
| 2 | |
| 3 | |
| 4 | <Wix xmlns="http://wixtoolset.org/schemas/v4/wxs" xmlns:bal="http://wixtoolset.org/schemas/v4/wxs/bal" xmlns:util="http://wixtoolset.org/schemas/v4/wxs/util"> |
| 5 | <Fragment> |
| 6 | <BootstrapperApplication Id="BrokenMba" SourceFile="!(bindpath.net2x86)\TestBA.exe" |
| 7 | Secondary="yes"> |
| 8 | <Payload Name="good.config" SourceFile="!(bindpath.net2x86)\TestBA.exe.config" /> |
| 9 | <Payload Name="TestBA.exe.config" SourceFile="bad.config" /> |
| 10 | <Payload SourceFile="!(bindpath.net2x86)\mbanative.dll" /> |
| 11 | <Payload SourceFile="!(bindpath.net2x86)\WixToolset.BootstrapperApplicationApi.dll" /> |
| 12 | <Payload SourceFile="$(var.PrereqBaf.TargetPath)" bal:BAFunctions="yes" /> |
| 13 | |
| 14 | <bal:WixPrerequisiteBootstrapperApplication /> |
| 15 | </BootstrapperApplication> |
| 16 | </Fragment> |
| 17 | |
| 18 | <Fragment> |
| 19 | <util:FileSearch Variable="GoodConfigPresent" Path="[BARuntimeDirectory]\good.config" Result="exists" /> |
| 20 | <Variable Name="CAUSEINFINITELOOP" bal:Overridable="yes" /> |
| 21 | |
| 22 | <PackageGroup Id="BundlePackages"> |
| 23 | <ExePackage SourceFile="$(var.ReplaceConfig.TargetPath)" bal:PrereqPackage="yes" |
| 24 | Permanent="yes" DetectCondition="NOT GoodConfigPresent OR CAUSEINFINITELOOP = 1" |
| 25 | InstallArguments=""[BARuntimeDirectory]TestBA.exe.config" "[BARuntimeDirectory]good.config" "[BARuntimeDirectory]bad.config"" /> |
| 26 | <MsiPackage Id="PackageB" SourceFile="$(var.PackageB.TargetPath)" bal:PrereqPackage="yes" Permanent="yes" /> |
| 27 | <MsiPackage Id="PackageC" SourceFile="$(var.PackageC.TargetPath)" /> |
| 28 | </PackageGroup> |
| 29 | </Fragment> |
| 30 | </Wix> |