diff options
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs')
| -rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs | 21 |
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 | } |
