aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2020-06-15 16:07:45 -0700
committerRob Mensching <rob@firegiant.com>2020-06-16 12:15:13 -0700
commit678c92c50c6fb7aa9a093f0d74d4f92742abd5e8 (patch)
treeef4d007b74e56734a5258e2235988fbc0ef6996f /src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs
parent3fb3475b278803576badecfbe8015760de2e7414 (diff)
downloadwix-678c92c50c6fb7aa9a093f0d74d4f92742abd5e8.tar.gz
wix-678c92c50c6fb7aa9a093f0d74d4f92742abd5e8.tar.bz2
wix-678c92c50c6fb7aa9a093f0d74d4f92742abd5e8.zip
Reorganize media assignment to correctly place facade order optimization
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs32
1 files changed, 16 insertions, 16 deletions
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
281 command.Execute(); 281 command.Execute();
282 } 282 }
283 283
284 // Assign files to media.
285 Dictionary<int, MediaTuple> assignedMediaRows;
286 Dictionary<MediaTuple, IEnumerable<FileFacade>> filesByCabinetMedia;
287 IEnumerable<FileFacade> uncompressedFiles;
288 {
289 var command = new AssignMediaCommand(section, this.Messaging, fileFacades, compressed);
290 command.Execute();
291
292 assignedMediaRows = command.MediaRows;
293 filesByCabinetMedia = command.FileFacadesByCabinetMedia;
294 uncompressedFiles = command.UncompressedFileFacades;
295 }
296
297 // stop processing if an error previously occurred 284 // stop processing if an error previously occurred
298 if (this.Messaging.EncounteredError) 285 if (this.Messaging.EncounteredError)
299 { 286 {
@@ -366,10 +353,23 @@ namespace WixToolset.Core.WindowsInstaller.Bind
366 command.Execute(); 353 command.Execute();
367 } 354 }
368 355
369 // Update file sequence. 356 // Assign files to media and update file sequences.
357 Dictionary<MediaTuple, IEnumerable<FileFacade>> filesByCabinetMedia;
358 IEnumerable<FileFacade> uncompressedFiles;
370 { 359 {
371 var command = new UpdateMediaSequencesCommand(section, fileFacades); 360 var order = new OptimizeFileFacadesOrderCommand(fileFacades);
372 command.Execute(); 361 order.Execute();
362
363 fileFacades = order.FileFacades;
364
365 var assign = new AssignMediaCommand(section, this.Messaging, fileFacades, compressed);
366 assign.Execute();
367
368 filesByCabinetMedia = assign.FileFacadesByCabinetMedia;
369 uncompressedFiles = assign.UncompressedFileFacades;
370
371 var update = new UpdateMediaSequencesCommand(section, fileFacades);
372 update.Execute();
373 } 373 }
374 374
375 // stop processing if an error previously occurred 375 // stop processing if an error previously occurred