aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs21
1 files changed, 18 insertions, 3 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
index 92ddad6f..1aa4065e 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs
@@ -9,15 +9,22 @@ namespace WixToolset.Core.WindowsInstaller.Bind
9 using WixToolset.Data; 9 using WixToolset.Data;
10 using WixToolset.Data.Tuples; 10 using WixToolset.Data.Tuples;
11 using WixToolset.Data.WindowsInstaller; 11 using WixToolset.Data.WindowsInstaller;
12 using WixToolset.Extensibility;
12 13
13 internal class LoadTableDefinitionsCommand 14 internal class LoadTableDefinitionsCommand
14 { 15 {
15 public LoadTableDefinitionsCommand(IntermediateSection section) => this.Section = section; 16 public LoadTableDefinitionsCommand(IntermediateSection section, IEnumerable<IWindowsInstallerBackendBinderExtension> backendExtensions)
16 17 {
17 public TableDefinitionCollection TableDefinitions { get; private set; } 18 this.Section = section;
19 this.BackendExtensions = backendExtensions;
20 }
18 21
19 private IntermediateSection Section { get; } 22 private IntermediateSection Section { get; }
20 23
24 private IEnumerable<IWindowsInstallerBackendBinderExtension> BackendExtensions { get; }
25
26 public TableDefinitionCollection TableDefinitions { get; private set; }
27
21 public TableDefinitionCollection Execute() 28 public TableDefinitionCollection Execute()
22 { 29 {
23 var tableDefinitions = new TableDefinitionCollection(WindowsInstallerStandardInternal.GetTableDefinitions()); 30 var tableDefinitions = new TableDefinitionCollection(WindowsInstallerStandardInternal.GetTableDefinitions());
@@ -28,6 +35,14 @@ namespace WixToolset.Core.WindowsInstaller.Bind
28 tableDefinitions.Add(customTableDefinition); 35 tableDefinitions.Add(customTableDefinition);
29 } 36 }
30 37
38 foreach (var backendExtension in this.BackendExtensions)
39 {
40 foreach (var tableDefinition in backendExtension.TableDefinitions)
41 {
42 tableDefinitions.Add(tableDefinition);
43 }
44 }
45
31 this.TableDefinitions = tableDefinitions; 46 this.TableDefinitions = tableDefinitions;
32 return this.TableDefinitions; 47 return this.TableDefinitions;
33 } 48 }