From 6f6e4ced9f398ff37a44b91fdba62479cde29d06 Mon Sep 17 00:00:00 2001 From: Sean Hall Date: Thu, 9 Jun 2022 15:30:48 -0500 Subject: Implement ArpEntry flavored ExePackage. 6772 --- src/test/burn/WixTestTools/BundleVerifier.cs | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) (limited to 'src/test/burn/WixTestTools/BundleVerifier.cs') diff --git a/src/test/burn/WixTestTools/BundleVerifier.cs b/src/test/burn/WixTestTools/BundleVerifier.cs index 103171cd..ff45a291 100644 --- a/src/test/burn/WixTestTools/BundleVerifier.cs +++ b/src/test/burn/WixTestTools/BundleVerifier.cs @@ -80,6 +80,29 @@ namespace WixTestTools File.Delete(expectedCachePath); } + public bool TryGetArpEntryExePackageConfiguration(string packageId, out string arpId, out string arpVersion, out bool arpWin64, out bool perMachine) + { + using var wixOutput = WixOutput.Read(this.BundlePdb); + var intermediate = Intermediate.Load(wixOutput); + var section = intermediate.Sections.Single(); + var packageSymbol = section.Symbols.OfType().SingleOrDefault(p => p.Id.Id == packageId); + var exePackageSymbol = section.Symbols.OfType().SingleOrDefault(p => p.Id.Id == packageId); + if (packageSymbol == null || exePackageSymbol == null || exePackageSymbol.DetectionType != WixBundleExePackageDetectionType.Arp) + { + arpId = null; + arpVersion = null; + arpWin64 = false; + perMachine = false; + return false; + } + + arpId = exePackageSymbol.ArpId; + arpVersion = exePackageSymbol.ArpDisplayVersion; + arpWin64 = exePackageSymbol.ArpWin64; + perMachine = packageSymbol.PerMachine == true; + return true; + } + public bool TryGetRegistration(out BundleRegistration registration) { var bundleSymbol = this.GetBundleSymbol(); -- cgit v1.2.3-55-g6feb