diff options
Diffstat (limited to 'src/WixTestTools/PackageVerifier.cs')
-rw-r--r-- | src/WixTestTools/PackageVerifier.cs | 30 |
1 files changed, 9 insertions, 21 deletions
diff --git a/src/WixTestTools/PackageVerifier.cs b/src/WixTestTools/PackageVerifier.cs index 073e83b0..2f42dd21 100644 --- a/src/WixTestTools/PackageVerifier.cs +++ b/src/WixTestTools/PackageVerifier.cs | |||
@@ -5,7 +5,6 @@ namespace WixTestTools | |||
5 | using System; | 5 | using System; |
6 | using System.IO; | 6 | using System.IO; |
7 | using System.Linq; | 7 | using System.Linq; |
8 | using WixToolset.Data; | ||
9 | using WixToolset.Data.WindowsInstaller; | 8 | using WixToolset.Data.WindowsInstaller; |
10 | using WixToolset.Data.WindowsInstaller.Rows; | 9 | using WixToolset.Data.WindowsInstaller.Rows; |
11 | using Xunit; | 10 | using Xunit; |
@@ -14,28 +13,18 @@ namespace WixTestTools | |||
14 | { | 13 | { |
15 | public string PackagePdb { get; } | 14 | public string PackagePdb { get; } |
16 | 15 | ||
17 | private WindowsInstallerData WiData { get; set; } | 16 | private bool IsX64 { get; } |
18 | 17 | ||
19 | public string GetInstalledFilePath(string filename) | 18 | private WindowsInstallerData WiData { get; } |
20 | { | ||
21 | return this.TestContext.GetTestInstallFolder(Path.Combine(this.GetInstallFolderName(), filename)); | ||
22 | } | ||
23 | 19 | ||
24 | private WindowsInstallerData GetWindowsInstallerData() | 20 | public string GetInstalledFilePath(string filename) |
25 | { | 21 | { |
26 | if (this.WiData == null) | 22 | return this.TestContext.GetTestInstallFolder(this.IsX64, Path.Combine(this.GetInstallFolderName(), filename)); |
27 | { | ||
28 | using var wixOutput = WixOutput.Read(this.PackagePdb); | ||
29 | this.WiData = WindowsInstallerData.Load(wixOutput); | ||
30 | } | ||
31 | |||
32 | return this.WiData; | ||
33 | } | 23 | } |
34 | 24 | ||
35 | public string GetInstallFolderName() | 25 | public string GetInstallFolderName() |
36 | { | 26 | { |
37 | var wiData = this.GetWindowsInstallerData(); | 27 | var row = this.WiData.Tables["Directory"].Rows.Single(r => r.FieldAsString(0) == "INSTALLFOLDER"); |
38 | var row = wiData.Tables["Directory"].Rows.Single(r => r.FieldAsString(0) == "INSTALLFOLDER"); | ||
39 | var value = row.FieldAsString(2); | 28 | var value = row.FieldAsString(2); |
40 | var longNameIndex = value.IndexOf('|') + 1; | 29 | var longNameIndex = value.IndexOf('|') + 1; |
41 | if (longNameIndex > 0) | 30 | if (longNameIndex > 0) |
@@ -47,8 +36,7 @@ namespace WixTestTools | |||
47 | 36 | ||
48 | public string GetProperty(string name) | 37 | public string GetProperty(string name) |
49 | { | 38 | { |
50 | var wiData = this.GetWindowsInstallerData(); | 39 | var row = this.WiData.Tables["Property"].Rows.Cast<PropertyRow>().Single(r => r.Property == name); |
51 | var row = wiData.Tables["Property"].Rows.Cast<PropertyRow>().Single(r => r.Property == name); | ||
52 | return row.Value; | 40 | return row.Value; |
53 | } | 41 | } |
54 | 42 | ||
@@ -67,7 +55,7 @@ namespace WixTestTools | |||
67 | 55 | ||
68 | public void DeleteTestRegistryValue(string name) | 56 | public void DeleteTestRegistryValue(string name) |
69 | { | 57 | { |
70 | using (var root = this.TestContext.GetTestRegistryRoot()) | 58 | using (var root = this.TestContext.GetTestRegistryRoot(this.IsX64)) |
71 | { | 59 | { |
72 | Assert.NotNull(root); | 60 | Assert.NotNull(root); |
73 | root.DeleteValue(name); | 61 | root.DeleteValue(name); |
@@ -76,13 +64,13 @@ namespace WixTestTools | |||
76 | 64 | ||
77 | public void VerifyTestRegistryRootDeleted() | 65 | public void VerifyTestRegistryRootDeleted() |
78 | { | 66 | { |
79 | using var testRegistryRoot = this.TestContext.GetTestRegistryRoot(); | 67 | using var testRegistryRoot = this.TestContext.GetTestRegistryRoot(this.IsX64); |
80 | Assert.Null(testRegistryRoot); | 68 | Assert.Null(testRegistryRoot); |
81 | } | 69 | } |
82 | 70 | ||
83 | public void VerifyTestRegistryValue(string name, string expectedValue) | 71 | public void VerifyTestRegistryValue(string name, string expectedValue) |
84 | { | 72 | { |
85 | using (var root = this.TestContext.GetTestRegistryRoot()) | 73 | using (var root = this.TestContext.GetTestRegistryRoot(this.IsX64)) |
86 | { | 74 | { |
87 | Assert.NotNull(root); | 75 | Assert.NotNull(root); |
88 | var actualValue = root.GetValue(name) as string; | 76 | var actualValue = root.GetValue(name) as string; |