aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBob Arnson <bob@firegiant.com>2023-05-18 20:47:27 -0400
committerRob Mensching <rob@firegiant.com>2023-06-13 10:36:32 -0700
commit35d30e03027cef5c402f01d671fc1883514e77a9 (patch)
tree5c48b8bb7f2b70b6157327d604d4812ad5b48649
parentf4740666c9eb2512640b7c69c79447ef8e7daa8e (diff)
downloadwix-35d30e03027cef5c402f01d671fc1883514e77a9.tar.gz
wix-35d30e03027cef5c402f01d671fc1883514e77a9.tar.bz2
wix-35d30e03027cef5c402f01d671fc1883514e77a9.zip
Improve logging to remove `(null)`.
Add detached container runtime test. Inspired by https://github.com/wixtoolset/issues/issues/7490.
-rw-r--r--src/burn/engine/apply.cpp2
-rw-r--r--src/test/burn/TestData/ContainerTests/BundleB/BundleB.wixproj19
-rw-r--r--src/test/burn/TestData/ContainerTests/BundleB/BundleB.wxs27
-rw-r--r--src/test/burn/WixToolsetTest.BurnE2E/ContainerTests.cs17
4 files changed, 64 insertions, 1 deletions
diff --git a/src/burn/engine/apply.cpp b/src/burn/engine/apply.cpp
index 9a1a7bf9..f3b05cf8 100644
--- a/src/burn/engine/apply.cpp
+++ b/src/burn/engine/apply.cpp
@@ -1798,7 +1798,7 @@ static HRESULT AcquireContainerOrPayload(
1798 1798
1799 break; 1799 break;
1800 default: 1800 default:
1801 LogExitWithRootFailure(hr, E_FILENOTFOUND, MSG_RESOLVE_SOURCE_FAILED, "Failed to resolve source, payload: %ls, package: %ls, container: %ls", wzPayloadId, pPackage ? pPackage->sczId : NULL, pContainer ? pContainer->sczId : NULL); 1801 LogExitWithRootFailure(hr, E_FILENOTFOUND, MSG_RESOLVE_SOURCE_FAILED, "Failed to resolve source, payload: %ls, package: %ls, container: %ls", wzPayloadId ? wzPayloadId : L"n/a", pPackage ? pPackage->sczId : L"n/a", pContainer ? pContainer->sczId : L"n/a");
1802 } 1802 }
1803 1803
1804 // Send 100% complete here. This is sometimes the only progress sent to the BA. 1804 // Send 100% complete here. This is sometimes the only progress sent to the BA.
diff --git a/src/test/burn/TestData/ContainerTests/BundleB/BundleB.wixproj b/src/test/burn/TestData/ContainerTests/BundleB/BundleB.wixproj
new file mode 100644
index 00000000..a91e6317
--- /dev/null
+++ b/src/test/burn/TestData/ContainerTests/BundleB/BundleB.wixproj
@@ -0,0 +1,19 @@
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<Project Sdk="WixToolset.Sdk">
3 <PropertyGroup>
4 <OutputType>Bundle</OutputType>
5 <UpgradeCode>{DC389066-79D6-48DA-8F80-A3576C4D4257}</UpgradeCode>
6 </PropertyGroup>
7 <ItemGroup>
8 <Compile Include="..\..\Templates\Bundle.wxs" Link="Bundle.wxs" />
9 </ItemGroup>
10 <ItemGroup>
11 <ProjectReference Include="..\PackageA\PackageA.wixproj" />
12 <ProjectReference Include="..\PackageB\PackageB.wixproj" />
13 <ProjectReference Include="..\..\TestBA\TestBAWixlib\testbawixlib.wixproj" />
14 </ItemGroup>
15 <ItemGroup>
16 <PackageReference Include="WixToolset.Bal.wixext" />
17 <PackageReference Include="WixToolset.NetFx.wixext" />
18 </ItemGroup>
19</Project> \ No newline at end of file
diff --git a/src/test/burn/TestData/ContainerTests/BundleB/BundleB.wxs b/src/test/burn/TestData/ContainerTests/BundleB/BundleB.wxs
new file mode 100644
index 00000000..47231a73
--- /dev/null
+++ b/src/test/burn/TestData/ContainerTests/BundleB/BundleB.wxs
@@ -0,0 +1,27 @@
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">
5 <Fragment>
6 <PackageGroup Id="BundlePackages">
7 <PackageGroupRef Id="PackageA" />
8 <PackageGroupRef Id="PackageB" />
9 </PackageGroup>
10
11 <PackageGroup Id="PackageA">
12 <MsiPackage Id="PackageA" SourceFile="$(var.PackageA.TargetPath)" />
13 </PackageGroup>
14
15 <PackageGroup Id="PackageB">
16 <MsiPackage Id="PackageB" SourceFile="$(var.PackageB.TargetPath)" />
17 </PackageGroup>
18
19 <Container Name="AAA.container" Type="detached">
20 <PackageGroupRef Id="PackageA" />
21 </Container>
22
23 <Container Name="BBB.container" Type="detached">
24 <PackageGroupRef Id="PackageB" />
25 </Container>
26 </Fragment>
27</Wix>
diff --git a/src/test/burn/WixToolsetTest.BurnE2E/ContainerTests.cs b/src/test/burn/WixToolsetTest.BurnE2E/ContainerTests.cs
index a607f7ce..8605c32e 100644
--- a/src/test/burn/WixToolsetTest.BurnE2E/ContainerTests.cs
+++ b/src/test/burn/WixToolsetTest.BurnE2E/ContainerTests.cs
@@ -25,5 +25,22 @@ namespace WixToolsetTest.BurnE2E
25 packageA.VerifyInstalled(true); 25 packageA.VerifyInstalled(true);
26 packageB.VerifyInstalled(true); 26 packageB.VerifyInstalled(true);
27 } 27 }
28
29 [RuntimeFact]
30 public void CanSupportMultipleDetachedContainers()
31 {
32 var packageA = this.CreatePackageInstaller("PackageA");
33 var packageB = this.CreatePackageInstaller("PackageB");
34 var bundleA = this.CreateBundleInstaller("BundleB");
35
36 packageA.VerifyInstalled(false);
37 packageB.VerifyInstalled(false);
38
39 bundleA.Install();
40 bundleA.VerifyRegisteredAndInPackageCache();
41
42 packageA.VerifyInstalled(true);
43 packageB.VerifyInstalled(true);
44 }
28 } 45 }
29} 46}