diff options
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs')
| -rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs index 1aa4065e..fe13391b 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/LoadTableDefinitionsCommand.cs | |||
| @@ -10,15 +10,19 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 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 | using WixToolset.Extensibility; |
| 13 | using WixToolset.Extensibility.Services; | ||
| 13 | 14 | ||
| 14 | internal class LoadTableDefinitionsCommand | 15 | internal class LoadTableDefinitionsCommand |
| 15 | { | 16 | { |
| 16 | public LoadTableDefinitionsCommand(IntermediateSection section, IEnumerable<IWindowsInstallerBackendBinderExtension> backendExtensions) | 17 | public LoadTableDefinitionsCommand(IMessaging messaging, IntermediateSection section, IEnumerable<IWindowsInstallerBackendBinderExtension> backendExtensions) |
| 17 | { | 18 | { |
| 19 | this.Messaging = messaging; | ||
| 18 | this.Section = section; | 20 | this.Section = section; |
| 19 | this.BackendExtensions = backendExtensions; | 21 | this.BackendExtensions = backendExtensions; |
| 20 | } | 22 | } |
| 21 | 23 | ||
| 24 | public IMessaging Messaging { get; } | ||
| 25 | |||
| 22 | private IntermediateSection Section { get; } | 26 | private IntermediateSection Section { get; } |
| 23 | 27 | ||
| 24 | private IEnumerable<IWindowsInstallerBackendBinderExtension> BackendExtensions { get; } | 28 | private IEnumerable<IWindowsInstallerBackendBinderExtension> BackendExtensions { get; } |
| @@ -39,6 +43,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 39 | { | 43 | { |
| 40 | foreach (var tableDefinition in backendExtension.TableDefinitions) | 44 | foreach (var tableDefinition in backendExtension.TableDefinitions) |
| 41 | { | 45 | { |
| 46 | if (tableDefinitions.Contains(tableDefinition.Name)) | ||
| 47 | { | ||
| 48 | this.Messaging.Write(ErrorMessages.DuplicateExtensionTable(backendExtension.GetType().Assembly.Location, tableDefinition.Name)); | ||
| 49 | } | ||
| 50 | |||
| 42 | tableDefinitions.Add(tableDefinition); | 51 | tableDefinitions.Add(tableDefinition); |
| 43 | } | 52 | } |
| 44 | } | 53 | } |
