aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs
diff options
context:
space:
mode:
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs24
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;