Simplify BaseWindowsInstallerBackendBinderExtension
Move the standard symbol to table row conversion into the Binder so there is less functionality in the extension assembly.
Rob Mensching committed
Mar 23, 2022 at 10:16 UTC
eedde7ee47ab7b3bef417f2d631814b586cdb011
2 files changed
+16
-10
src/api/wix/WixToolset.Extensibility/BaseWindowsInstallerBackendBinderExtension.cs
+8
-7
@@ -63,23 +63,24 @@ namespace WixToolset.Extensibility
63
/// <summary>
64
/// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
65
/// </summary>
66
- public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files) => null;
66
+ public virtual IResolvedCabinet ResolveCabinet(string cabinetPath, IEnumerable<IBindFileWithPath> files)
67
+ {
68
+ return null;
69
+ }
70
71
/// <summary>
72
/// See <see cref="IWindowsInstallerBackendBinderExtension.PreBackendBind(IBindContext)"/>
73
/// </summary>
71
- public virtual string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory) => null;
74
+ public virtual string ResolveMedia(MediaSymbol mediaRow, string mediaLayoutDirectory, string layoutDirectory)
75
+ {
76
+ return null;
77
+ }
78
79
/// <summary>
80
/// See <see cref="IWindowsInstallerBackendBinderExtension.TryProcessSymbol(IntermediateSection, IntermediateSymbol, WindowsInstallerData, TableDefinitionCollection)"/>
81
/// </summary>
82
public virtual bool TryProcessSymbol(IntermediateSection section, IntermediateSymbol symbol, WindowsInstallerData data, TableDefinitionCollection tableDefinitions)
83
{
78
- if (this.TableDefinitions.Any(t => t.SymbolDefinition == symbol.Definition))
79
- {
80
- return this.BackendHelper.TryAddSymbolToMatchingTableDefinitions(section, symbol, data, tableDefinitions);
81
- }
82
-
84
return false;
85
}
86
src/wix/WixToolset.Core.WindowsInstaller/Bind/CreateWindowsInstallerDataFromIRCommand.cs
+8
-3
@@ -264,7 +264,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
264
break;
265
266
case SymbolDefinitionType.MustBeFromAnExtension:
267
- unknownSymbol = !this.AddSymbolFromExtension(symbol);
267
+ if (!this.AddSymbolFromExtension(symbol))
268
+ {
269
+ unknownSymbol = !this.AddSymbolDefaultly(symbol);
270
+ }
271
break;
272
273
default:
@@ -1267,8 +1270,10 @@ namespace WixToolset.Core.WindowsInstaller.Bind
1270
return false;
1271
}
1272
1270
- private bool AddSymbolDefaultly(IntermediateSymbol symbol) =>
1271
- this.BackendHelper.TryAddSymbolToMatchingTableDefinitions(this.Section, symbol, this.Data, this.TableDefinitions);
1273
+ private bool AddSymbolDefaultly(IntermediateSymbol symbol)
1274
+ {
1275
+ return this.BackendHelper.TryAddSymbolToMatchingTableDefinitions(this.Section, symbol, this.Data, this.TableDefinitions);
1276
+ }
1277
1278
private void EnsureModuleIgnoredTable(IntermediateSymbol symbol, string ignoredTable)
1279
{