diff options
| author | Rob Mensching <rob@firegiant.com> | 2020-06-15 16:07:45 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2020-06-16 12:15:13 -0700 |
| commit | 678c92c50c6fb7aa9a093f0d74d4f92742abd5e8 (patch) | |
| tree | ef4d007b74e56734a5258e2235988fbc0ef6996f /src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs | |
| parent | 3fb3475b278803576badecfbe8015760de2e7414 (diff) | |
| download | wix-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.cs | 32 |
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 |
