diff options
| author | Rob Mensching <rob@firegiant.com> | 2020-06-04 10:32:28 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2020-06-04 11:32:20 -0700 |
| commit | f89238b23402e33c2fc09b13a02217f03b722216 (patch) | |
| tree | b783409460e7ed00fd3e07ca1934c05ac0c6096b /src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | |
| parent | 110bfc5b5bfee7c4592d9898406d2250f3c96ca3 (diff) | |
| download | wix-f89238b23402e33c2fc09b13a02217f03b722216.tar.gz wix-f89238b23402e33c2fc09b13a02217f03b722216.tar.bz2 wix-f89238b23402e33c2fc09b13a02217f03b722216.zip | |
Drive merge process from tuples not rows and fix merge table suppression
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs')
| -rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs index d9d246f5..8887d4eb 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | |||
| @@ -350,11 +350,16 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 350 | output = command.Output; | 350 | output = command.Output; |
| 351 | } | 351 | } |
| 352 | 352 | ||
| 353 | // Modularize identifiers. | 353 | IEnumerable<string> suppressedTableNames = null; |
| 354 | if (output.Type == OutputType.Module) | 354 | if (output.Type == OutputType.Module) |
| 355 | { | 355 | { |
| 356 | var command = new ModularizeCommand(output, modularizationSuffix, section.Tuples.OfType<WixSuppressModularizationTuple>()); | 356 | // Modularize identifiers. |
| 357 | command.Execute(); | 357 | var modularize = new ModularizeCommand(output, modularizationSuffix, section.Tuples.OfType<WixSuppressModularizationTuple>()); |
| 358 | modularize.Execute(); | ||
| 359 | |||
| 360 | // Ensure all sequence tables in place because, mergemod.dll requires them. | ||
| 361 | var unsuppress = new AddBackSuppresedSequenceTablesCommand(output, tableDefinitions); | ||
| 362 | suppressedTableNames = unsuppress.Execute(); | ||
| 358 | } | 363 | } |
| 359 | else if (output.Type == OutputType.Patch) | 364 | else if (output.Type == OutputType.Patch) |
| 360 | { | 365 | { |
| @@ -486,12 +491,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 486 | { | 491 | { |
| 487 | this.Messaging.Write(VerboseMessages.MergingModules()); | 492 | this.Messaging.Write(VerboseMessages.MergingModules()); |
| 488 | 493 | ||
| 489 | var command = new MergeModulesCommand(this.Messaging); | 494 | var command = new MergeModulesCommand(this.Messaging, fileFacades, section, suppressedTableNames, this.OutputPath, this.IntermediateFolder); |
| 490 | command.FileFacades = fileFacades; | ||
| 491 | command.IntermediateFolder = this.IntermediateFolder; | ||
| 492 | command.Output = output; | ||
| 493 | command.OutputPath = this.OutputPath; | ||
| 494 | command.TableDefinitions = tableDefinitions; | ||
| 495 | command.Execute(); | 495 | command.Execute(); |
| 496 | } | 496 | } |
| 497 | 497 | ||
| @@ -591,7 +591,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 591 | 591 | ||
| 592 | foreach (Data.WindowsInstaller.Rows.ComponentRow row in componentTable.Rows) | 592 | foreach (Data.WindowsInstaller.Rows.ComponentRow row in componentTable.Rows) |
| 593 | { | 593 | { |
| 594 | // we don't care about unmanaged components and if there's a * GUID remaining, | 594 | // We don't care about unmanaged components and if there's a * GUID remaining, |
| 595 | // there's already an error that prevented it from being replaced with a real GUID. | 595 | // there's already an error that prevented it from being replaced with a real GUID. |
| 596 | if (!String.IsNullOrEmpty(row.Guid) && "*" != row.Guid) | 596 | if (!String.IsNullOrEmpty(row.Guid) && "*" != row.Guid) |
| 597 | { | 597 | { |
| @@ -633,13 +633,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 633 | command.Execute(); | 633 | command.Execute(); |
| 634 | } | 634 | } |
| 635 | 635 | ||
| 636 | private string ResolveMedia(MediaTuple mediaRow, string mediaLayoutDirectory, string layoutDirectory) | 636 | private string ResolveMedia(MediaTuple media, string mediaLayoutDirectory, string layoutDirectory) |
| 637 | { | 637 | { |
| 638 | string layout = null; | 638 | string layout = null; |
| 639 | 639 | ||
| 640 | foreach (var extension in this.BackendExtensions) | 640 | foreach (var extension in this.BackendExtensions) |
| 641 | { | 641 | { |
| 642 | layout = extension.ResolveMedia(mediaRow, mediaLayoutDirectory, layoutDirectory); | 642 | layout = extension.ResolveMedia(media, mediaLayoutDirectory, layoutDirectory); |
| 643 | if (!String.IsNullOrEmpty(layout)) | 643 | if (!String.IsNullOrEmpty(layout)) |
| 644 | { | 644 | { |
| 645 | break; | 645 | break; |
