From 678c92c50c6fb7aa9a093f0d74d4f92742abd5e8 Mon Sep 17 00:00:00 2001 From: Rob Mensching Date: Mon, 15 Jun 2020 16:07:45 -0700 Subject: Reorganize media assignment to correctly place facade order optimization --- .../Bind/BindDatabaseCommand.cs | 32 +++++++++++----------- 1 file changed, 16 insertions(+), 16 deletions(-) (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs') diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs index 6c2968ec..da92be69 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs @@ -281,19 +281,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind command.Execute(); } - // Assign files to media. - Dictionary assignedMediaRows; - Dictionary> filesByCabinetMedia; - IEnumerable uncompressedFiles; - { - var command = new AssignMediaCommand(section, this.Messaging, fileFacades, compressed); - command.Execute(); - - assignedMediaRows = command.MediaRows; - filesByCabinetMedia = command.FileFacadesByCabinetMedia; - uncompressedFiles = command.UncompressedFileFacades; - } - // stop processing if an error previously occurred if (this.Messaging.EncounteredError) { @@ -366,10 +353,23 @@ namespace WixToolset.Core.WindowsInstaller.Bind command.Execute(); } - // Update file sequence. + // Assign files to media and update file sequences. + Dictionary> filesByCabinetMedia; + IEnumerable uncompressedFiles; { - var command = new UpdateMediaSequencesCommand(section, fileFacades); - command.Execute(); + var order = new OptimizeFileFacadesOrderCommand(fileFacades); + order.Execute(); + + fileFacades = order.FileFacades; + + var assign = new AssignMediaCommand(section, this.Messaging, fileFacades, compressed); + assign.Execute(); + + filesByCabinetMedia = assign.FileFacadesByCabinetMedia; + uncompressedFiles = assign.UncompressedFileFacades; + + var update = new UpdateMediaSequencesCommand(section, fileFacades); + update.Execute(); } // stop processing if an error previously occurred -- cgit v1.2.3-55-g6feb