diff options
| author | Rob Mensching <rob@firegiant.com> | 2019-05-23 15:37:56 -0700 |
|---|---|---|
| committer | Rob Mensching <rob@firegiant.com> | 2019-05-23 16:02:37 -0700 |
| commit | 354f6d5b79404544cb7c0e11a0d9212b4780ce09 (patch) | |
| tree | 1082ce6dd66604f7da315d6a15c85ac3f56b745a /src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs | |
| parent | 3051bf2fc300df125115c9538a0bfc8256bfde6a (diff) | |
| download | wix-354f6d5b79404544cb7c0e11a0d9212b4780ce09.tar.gz wix-354f6d5b79404544cb7c0e11a0d9212b4780ce09.tar.bz2 wix-354f6d5b79404544cb7c0e11a0d9212b4780ce09.zip | |
Integrate latest Data changes for FileTuple and AssemblyTuple
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs')
| -rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs | 32 |
1 files changed, 15 insertions, 17 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs index 8c6a3e67..2199bbde 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/AssignMediaCommand.cs | |||
| @@ -156,13 +156,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 156 | throw new WixException(ErrorMessages.MaximumUncompressedMediaSizeTooLarge(null, maxPreCabSizeInMB)); | 156 | throw new WixException(ErrorMessages.MaximumUncompressedMediaSizeTooLarge(null, maxPreCabSizeInMB)); |
| 157 | } | 157 | } |
| 158 | 158 | ||
| 159 | foreach (FileFacade facade in this.FileFacades) | 159 | foreach (var facade in this.FileFacades) |
| 160 | { | 160 | { |
| 161 | // When building a product, if the current file is not to be compressed or if | 161 | // When building a product, if the current file is not to be compressed or if |
| 162 | // the package set not to be compressed, don't cab it. | 162 | // the package set not to be compressed, don't cab it. |
| 163 | if (SectionType.Product == this.Section.Type && | 163 | if (SectionType.Product == this.Section.Type && (facade.Uncompressed || !this.FilesCompressed)) |
| 164 | ((facade.File.Compressed.HasValue && !facade.File.Compressed.Value) || | ||
| 165 | (!facade.File.Compressed.HasValue && !this.FilesCompressed))) | ||
| 166 | { | 164 | { |
| 167 | uncompressedFiles.Add(facade); | 165 | uncompressedFiles.Add(facade); |
| 168 | continue; | 166 | continue; |
| @@ -171,8 +169,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 171 | if (currentCabIndex == MaxCabIndex) | 169 | if (currentCabIndex == MaxCabIndex) |
| 172 | { | 170 | { |
| 173 | // Associate current file with last cab (irrespective of the size) and cab index is not incremented anymore. | 171 | // Associate current file with last cab (irrespective of the size) and cab index is not incremented anymore. |
| 174 | List<FileFacade> cabinetFiles = filesByCabinetMedia[currentMediaRow]; | 172 | var cabinetFiles = filesByCabinetMedia[currentMediaRow]; |
| 175 | facade.WixFile.DiskId = currentCabIndex; | 173 | facade.File.DiskId = currentCabIndex; |
| 176 | cabinetFiles.Add(facade); | 174 | cabinetFiles.Add(facade); |
| 177 | continue; | 175 | continue; |
| 178 | } | 176 | } |
| @@ -187,8 +185,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 187 | mediaRows.Add(currentMediaRow.DiskId, currentMediaRow); | 185 | mediaRows.Add(currentMediaRow.DiskId, currentMediaRow); |
| 188 | filesByCabinetMedia.Add(currentMediaRow, new List<FileFacade>()); | 186 | filesByCabinetMedia.Add(currentMediaRow, new List<FileFacade>()); |
| 189 | 187 | ||
| 190 | List<FileFacade> cabinetFileRows = filesByCabinetMedia[currentMediaRow]; | 188 | var cabinetFileRows = filesByCabinetMedia[currentMediaRow]; |
| 191 | facade.WixFile.DiskId = currentCabIndex; | 189 | facade.File.DiskId = currentCabIndex; |
| 192 | cabinetFileRows.Add(facade); | 190 | cabinetFileRows.Add(facade); |
| 193 | // Now files larger than MaxUncompressedMediaSize will be the only file in its cabinet so as to respect MaxUncompressedMediaSize | 191 | // Now files larger than MaxUncompressedMediaSize will be the only file in its cabinet so as to respect MaxUncompressedMediaSize |
| 194 | currentPreCabSize = (ulong)facade.File.FileSize; | 192 | currentPreCabSize = (ulong)facade.File.FileSize; |
| @@ -205,8 +203,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 205 | } | 203 | } |
| 206 | 204 | ||
| 207 | // Associate current file with current cab. | 205 | // Associate current file with current cab. |
| 208 | List<FileFacade> cabinetFiles = filesByCabinetMedia[currentMediaRow]; | 206 | var cabinetFiles = filesByCabinetMedia[currentMediaRow]; |
| 209 | facade.WixFile.DiskId = currentCabIndex; | 207 | facade.File.DiskId = currentCabIndex; |
| 210 | cabinetFiles.Add(facade); | 208 | cabinetFiles.Add(facade); |
| 211 | } | 209 | } |
| 212 | } | 210 | } |
| @@ -264,17 +262,17 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 264 | 262 | ||
| 265 | foreach (FileFacade facade in fileFacades) | 263 | foreach (FileFacade facade in fileFacades) |
| 266 | { | 264 | { |
| 267 | if (!mediaRows.TryGetValue(facade.WixFile.DiskId, out var mediaRow)) | 265 | if (!mediaRows.TryGetValue(facade.DiskId, out var mediaRow)) |
| 268 | { | 266 | { |
| 269 | this.Messaging.Write(ErrorMessages.MissingMedia(facade.File.SourceLineNumbers, facade.WixFile.DiskId)); | 267 | this.Messaging.Write(ErrorMessages.MissingMedia(facade.File.SourceLineNumbers, facade.DiskId)); |
| 270 | continue; | 268 | continue; |
| 271 | } | 269 | } |
| 272 | 270 | ||
| 273 | // When building a product, if the current file is not to be compressed or if | 271 | // When building a product, if the current file is to be uncompressed or if |
| 274 | // the package set not to be compressed, don't cab it. | 272 | // the package set not to be compressed, don't cab it. |
| 275 | if (SectionType.Product == this.Section.Type && | 273 | var compressed = (facade.File.Attributes & FileTupleAttributes.Compressed) == FileTupleAttributes.Compressed; |
| 276 | ((!facade.File.Compressed.HasValue && !this.FilesCompressed) || | 274 | var uncompressed = (facade.File.Attributes & FileTupleAttributes.Uncompressed) == FileTupleAttributes.Uncompressed; |
| 277 | (facade.File.Compressed.HasValue && !facade.File.Compressed.Value))) | 275 | if (SectionType.Product == this.Section.Type && (uncompressed || (!compressed && !this.FilesCompressed))) |
| 278 | { | 276 | { |
| 279 | uncompressedFiles.Add(facade); | 277 | uncompressedFiles.Add(facade); |
| 280 | } | 278 | } |
| @@ -286,7 +284,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind | |||
| 286 | } | 284 | } |
| 287 | else | 285 | else |
| 288 | { | 286 | { |
| 289 | this.Messaging.Write(ErrorMessages.ExpectedMediaCabinet(facade.File.SourceLineNumbers, facade.File.Id.Id, facade.WixFile.DiskId)); | 287 | this.Messaging.Write(ErrorMessages.ExpectedMediaCabinet(facade.File.SourceLineNumbers, facade.File.Id.Id, facade.DiskId)); |
| 290 | } | 288 | } |
| 291 | } | 289 | } |
| 292 | } | 290 | } |
