aboutsummaryrefslogtreecommitdiff
path: root/src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.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/UpdateMediaSequencesCommand.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/UpdateMediaSequencesCommand.cs')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs15
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}