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/UpdateMediaSequencesCommand.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/UpdateMediaSequencesCommand.cs')
| -rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs | 15 |
1 files changed, 2 insertions, 13 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs index 9aab7b98..bf28b279 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs | |||
| @@ -29,9 +29,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 29 | { | 29 | { |
| 30 | var lastSequence = 0; | 30 | var lastSequence = 0; |
| 31 | 31 | ||
| 32 | // Order by Component to group the files by directory. | 32 | foreach (var facade in this.FileFacades) |
| 33 | var optimized = this.OptimizedFileFacades(); | ||
| 34 | foreach (var facade in optimized) | ||
| 35 | { | 33 | { |
| 36 | facade.Sequence = ++lastSequence; | 34 | facade.Sequence = ++lastSequence; |
| 37 | } | 35 | } |
| @@ -43,8 +41,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 43 | var patchGroups = new Dictionary<int, List<FileFacade>>(); | 41 | var patchGroups = new Dictionary<int, List<FileFacade>>(); |
| 44 | 42 | ||
| 45 | // sequence the non-patch-added files | 43 | // sequence the non-patch-added files |
| 46 | var optimized = this.OptimizedFileFacades(); | 44 | foreach (var facade in this.FileFacades) |
| 47 | foreach (var facade in optimized) | ||
| 48 | { | 45 | { |
| 49 | if (null == mediaTuple) | 46 | if (null == mediaTuple) |
| 50 | { | 47 | { |
| @@ -108,13 +105,5 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 108 | } | 105 | } |
| 109 | } | 106 | } |
| 110 | } | 107 | } |
| 111 | |||
| 112 | private IEnumerable<FileFacade> OptimizedFileFacades() | ||
| 113 | { | ||
| 114 | // TODO: Sort these facades even smarter by directory path and component id | ||
| 115 | // and maybe file size or file extension and other creative ideas to | ||
| 116 | // get optimal install speed out of MSI. | ||
| 117 | return this.FileFacades.OrderBy(f => f.ComponentRef); | ||
| 118 | } | ||
| 119 | } | 108 | } |
| 120 | } | 109 | } |
