@joebigelow / wix / commits / 6e9c25cb

Fix compression of files without file hashes

Rob Mensching committed Dec 12, 2017 at 12:04 UTC 6e9c25cb45cb59b4790ec3c32ee40d2077da521c
1 file changed +7 -11
src/WixToolset.Core.WindowsInstaller/Bind/CabinetBuilder.cs
+7 -11
@@ -164,22 +164,18 @@ namespace WixToolset.Core.WindowsInstaller.Bind
164 string cabinetFileName = Path.GetFileName(cabinetWorkItem.CabinetFile);
165 string cabinetDirectory = Path.GetDirectoryName(cabinetWorkItem.CabinetFile);
166
167 - //using (WixCreateCab cab = new WixCreateCab(cabinetFileName, cabinetDirectory, cabinetWorkItem.FileFacades.Count(), maxCabinetSize, cabinetWorkItem.MaxThreshold, cabinetWorkItem.CompressionLevel))
168 - //{
169 - // foreach (FileFacade facade in cabinetWorkItem.FileFacades)
170 - // {
171 - // cab.AddFile(facade);
172 - // }
173 -
174 - // cab.Complete(newCabNamesCallBackAddress);
175 - //}
176 -
177 - var files = cabinetWorkItem.FileFacades.Select(facade => new CabinetCompressFile(facade.WixFile.Source.Path, facade.File.File, facade.Hash.HashPart1, facade.Hash.HashPart2, facade.Hash.HashPart3, facade.Hash.HashPart4)).ToList();
167 + var files = cabinetWorkItem.FileFacades
168 + .Select(facade => facade.Hash == null ?
169 + new CabinetCompressFile(facade.WixFile.Source.Path, facade.File.File) :
170 + new CabinetCompressFile(facade.WixFile.Source.Path, facade.File.File, facade.Hash.HashPart1, facade.Hash.HashPart2, facade.Hash.HashPart3, facade.Hash.HashPart4))
171 + .ToList();
172
173 var cabinetCompressionLevel = (CabinetCompressionLevel)cabinetWorkItem.CompressionLevel;
174
175 var cab = new Cabinet(cabinetPath);
176 cab.Compress(files, cabinetCompressionLevel, maxCabinetSize, cabinetWorkItem.MaxThreshold);
177 +
178 + // TODO: Handle newCabNamesCallBackAddress from compression.
179 }
180 }
181 }