/// <summary> /// Adds an extension. /// </summary> /// <param name="extension">The extension to add.</param> public void AddExtension(WixExtension extension) { if (null != extension.TableDefinitions) { foreach (TableDefinition tableDefinition in extension.TableDefinitions) { if (!this.tableDefinitions.Contains(tableDefinition.Name)) { this.tableDefinitions.Add(tableDefinition); } else { throw new WixException(WixErrors.DuplicateExtensionTable(extension.GetType().ToString(), tableDefinition.Name)); } } } }
/// <summary> /// Adds an extension. /// </summary> /// <param name="extension">The extension to add.</param> public void AddExtensionData(IExtensionData extension) { if (null != extension.TableDefinitions) { foreach (TableDefinition tableDefinition in extension.TableDefinitions) { if (!this.tableDefinitions.Contains(tableDefinition.Name)) { this.tableDefinitions.Add(tableDefinition); } else { Messaging.Instance.OnMessage(WixErrors.DuplicateExtensionTable(extension.GetType().ToString(), tableDefinition.Name)); } } } }
/// <summary> /// Adds an extension's data. /// </summary> /// <param name="extension">The extension data to add.</param> public void AddExtensionData(IExtensionData extension) { if (null != extension.TableDefinitions) { foreach (TableDefinition tableDefinition in extension.TableDefinitions) { try { this.TableDefinitions.Add(tableDefinition); } catch (ArgumentException) { Messaging.Instance.OnMessage(WixErrors.DuplicateExtensionTable(extension.GetType().ToString(), tableDefinition.Name)); } } } }