From eedde7ee47ab7b3bef417f2d631814b586cdb011 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Wed, 23 Mar 2022 10:16:51 -0700 Subject: Simplify BaseWindowsInstallerBackendBinderExtension Move the standard symbol to table row conversion into the Binder so there is less functionality in the extension assembly. --- .../BaseWindowsInstallerBackendBinderExtension.cs | 15 ++++++++------- .../Bind/CreateWindowsInstallerDataFromIRCommand.cs | 11 ++++++++--- 2 files changed, 16 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/api/wix/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs b/src/api/wix/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs index ffff186b..e48579d7 100644 --- a/src/api/wix/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs +++ b/src/api/wix/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs @@ -63,23 +63,24 @@ namespace WixToolset.Extensibility /// /// See /// - public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable files) => null; + public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable files) + { + return null; + } /// /// See /// - public virtual string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory) => null; + public virtual string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory) + { + return null; + } /// /// See /// public virtual bool TryProcessSymbol(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData data, TableDefinitionCollection tableDefinitions) { - if (this.TableDefinitions.Any(t => t.SymbolDefinition == symbol.Definition)) - { - return this.BackendHelper.TryAddSymbolToMatchingTableDefinitions(section, symbol, data, tableDefinitions); - } - return false; } diff --git a/src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateWindowsInstallerDataFromIRCommand.cs b/src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateWindowsInstallerDataFromIRCommand.cs index a4f6200e..5b44e765 100644 --- a/src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateWindowsInstallerDataFromIRCommand.cs +++ b/src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateWindowsInstallerDataFromIRCommand.cs @@ -264,7 +264,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind break; case SymbolDefinitionType.MustBeFromAnExtension: - unknownSymbol = !this.AddSymbolFromExtension(symbol); + if (!this.AddSymbolFromExtension(symbol)) + { + unknownSymbol = !this.AddSymbolDefaultly(symbol); + } break; default: @@ -1267,8 +1270,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind return false; } - private bool AddSymbolDefaultly(IntermediateSymbol symbol) => - this.BackendHelper.TryAddSymbolToMatchingTableDefinitions(this.Section, symbol, this.Data, this.TableDefinitions); + private bool AddSymbolDefaultly(IntermediateSymbol symbol) + { + return this.BackendHelper.TryAddSymbolToMatchingTableDefinitions(this.Section, symbol, this.Data, this.TableDefinitions); + } private void EnsureModuleIgnoredTable(IntermediateSymbol symbol, string ignoredTable) { -- cgit v1.2.3-55-g6feb