aboutsummaryrefslogtreecommitdiff
path: root/src/WixTestTools/PackageInstaller.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixTestTools/PackageInstaller.cs')
-rw-r--r--src/WixTestTools/PackageInstaller.cs14
1 files changed, 14 insertions, 0 deletions
diff --git a/src/WixTestTools/PackageInstaller.cs b/src/WixTestTools/PackageInstaller.cs
index 86376b9f..d32f499b 100644
--- a/src/WixTestTools/PackageInstaller.cs
+++ b/src/WixTestTools/PackageInstaller.cs
@@ -4,6 +4,10 @@ namespace WixTestTools
4{ 4{
5 using System; 5 using System;
6 using System.IO; 6 using System.IO;
7 using System.Linq;
8 using WixToolset.Data;
9 using WixToolset.Data.Symbols;
10 using WixToolset.Data.WindowsInstaller;
7 using static WixTestTools.MSIExec; 11 using static WixTestTools.MSIExec;
8 12
9 public partial class PackageInstaller : IDisposable 13 public partial class PackageInstaller : IDisposable
@@ -13,6 +17,16 @@ namespace WixTestTools
13 this.Package = Path.Combine(testContext.TestDataFolder, $"{filename}.msi"); 17 this.Package = Path.Combine(testContext.TestDataFolder, $"{filename}.msi");
14 this.PackagePdb = Path.Combine(testContext.TestDataFolder, $"{filename}.wixpdb"); 18 this.PackagePdb = Path.Combine(testContext.TestDataFolder, $"{filename}.wixpdb");
15 this.TestContext = testContext; 19 this.TestContext = testContext;
20
21 using var wixOutput = WixOutput.Read(this.PackagePdb);
22
23 var intermediate = Intermediate.Load(wixOutput);
24 var section = intermediate.Sections.Single();
25 var platformSummary = section.Symbols.OfType<SummaryInformationSymbol>().Single(s => s.PropertyId == SummaryInformationType.PlatformAndLanguage);
26 var platformString = platformSummary.Value.Split(new char[] { ';' }, 2)[0];
27 this.IsX64 = platformString != "Intel";
28
29 this.WiData = WindowsInstallerData.Load(wixOutput);
16 } 30 }
17 31
18 public string Package { get; } 32 public string Package { get; }