aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-07-21 14:31:53 -0700
committerRob Mensching <rob@firegiant.com>2020-07-21 14:41:12 -0700
commitb62a7a0beb7ceb7987de28ec768c7814cadb83b9 (patch)
tree69a9183a3182334f0d48a39ab8e411ee3fc3aecd /src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
parent414c07f7adce9c9fd0132ab0fade0267f743f665 (diff)
downloadwix-b62a7a0beb7ceb7987de28ec768c7814cadb83b9.tar.gz
wix-b62a7a0beb7ceb7987de28ec768c7814cadb83b9.tar.bz2
wix-b62a7a0beb7ceb7987de28ec768c7814cadb83b9.zip
Support implicit standard directory reference and "3264" platform folders
Completes wixtoolset/issues#5798 and wixtoolset/issues#5835
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
index a1e3ac83..02336cae 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/CalculateComponentGuids.cs
@@ -16,12 +16,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
16 /// </summary> 16 /// </summary>
17 internal class CalculateComponentGuids 17 internal class CalculateComponentGuids
18 { 18 {
19 internal CalculateComponentGuids(IMessaging messaging, IBackendHelper helper, IPathResolver pathResolver, IntermediateSection section) 19 internal CalculateComponentGuids(IMessaging messaging, IBackendHelper helper, IPathResolver pathResolver, IntermediateSection section, Platform platform)
20 { 20 {
21 this.Messaging = messaging; 21 this.Messaging = messaging;
22 this.BackendHelper = helper; 22 this.BackendHelper = helper;
23 this.PathResolver = pathResolver; 23 this.PathResolver = pathResolver;
24 this.Section = section; 24 this.Section = section;
25 this.Platform = platform;
25 } 26 }
26 27
27 private IMessaging Messaging { get; } 28 private IMessaging Messaging { get; }
@@ -32,6 +33,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind
32 33
33 private IntermediateSection Section { get; } 34 private IntermediateSection Section { get; }
34 35
36 private Platform Platform { get; }
37
35 public void Execute() 38 public void Execute()
36 { 39 {
37 Dictionary<string, RegistrySymbol> registryKeyRows = null; 40 Dictionary<string, RegistrySymbol> registryKeyRows = null;
@@ -42,7 +45,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
42 // Find components with generatable guids. 45 // Find components with generatable guids.
43 foreach (var componentSymbol in this.Section.Symbols.OfType<ComponentSymbol>()) 46 foreach (var componentSymbol in this.Section.Symbols.OfType<ComponentSymbol>())
44 { 47 {
45 // Skip components that do not specify generate guid. 48 // Skip components that do not specify generate guid.
46 if (componentSymbol.ComponentId != "*") 49 if (componentSymbol.ComponentId != "*")
47 { 50 {
48 continue; 51 continue;
@@ -135,7 +138,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
135 if (fileRow.Id.Id == componentSymbol.KeyPath) 138 if (fileRow.Id.Id == componentSymbol.KeyPath)
136 { 139 {
137 // calculate the key file's canonical target path 140 // calculate the key file's canonical target path
138 string directoryPath = this.PathResolver.GetDirectoryPath(targetPathsByDirectoryId, componentIdGenSeeds, componentSymbol.DirectoryRef, true); 141 string directoryPath = this.PathResolver.GetCanonicalDirectoryPath(targetPathsByDirectoryId, componentIdGenSeeds, componentSymbol.DirectoryRef, this.Platform);
139 string fileName = Common.GetName(fileRow.Name, false, true).ToLowerInvariant(); 142 string fileName = Common.GetName(fileRow.Name, false, true).ToLowerInvariant();
140 path = Path.Combine(directoryPath, fileName); 143 path = Path.Combine(directoryPath, fileName);
141 144