diff options
Diffstat (limited to 'src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs')
-rw-r--r-- | src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs | 22 |
1 files changed, 11 insertions, 11 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs index 624cbb43..f1605eca 100644 --- a/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs +++ b/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs | |||
@@ -304,7 +304,8 @@ namespace WixToolset.Core.WindowsInstaller.Databases | |||
304 | throw new InvalidOperationException("Failed to fetch a File row from the database that was merged in from a module."); | 304 | throw new InvalidOperationException("Failed to fetch a File row from the database that was merged in from a module."); |
305 | } | 305 | } |
306 | 306 | ||
307 | recordUpdate.SetInteger(1, file.File.Sequence); | 307 | //recordUpdate.SetInteger(1, file.File.Sequence); |
308 | throw new NotImplementedException(); | ||
308 | 309 | ||
309 | // update the file attributes to match the compression specified | 310 | // update the file attributes to match the compression specified |
310 | // on the Merge element or on the Package element | 311 | // on the Merge element or on the Package element |
@@ -316,26 +317,25 @@ namespace WixToolset.Core.WindowsInstaller.Databases | |||
316 | attributes = recordUpdate.GetInteger(2); | 317 | attributes = recordUpdate.GetInteger(2); |
317 | } | 318 | } |
318 | 319 | ||
319 | if (YesNoType.Yes == file.File.Compressed) | 320 | // not specified |
321 | if (!file.File.Compressed.HasValue) | ||
322 | { | ||
323 | // clear any compression bits | ||
324 | attributes &= ~MsiInterop.MsidbFileAttributesCompressed; | ||
325 | attributes &= ~MsiInterop.MsidbFileAttributesNoncompressed; | ||
326 | } | ||
327 | else if (file.File.Compressed.Value) | ||
320 | { | 328 | { |
321 | // these are mutually exclusive | 329 | // these are mutually exclusive |
322 | attributes |= MsiInterop.MsidbFileAttributesCompressed; | 330 | attributes |= MsiInterop.MsidbFileAttributesCompressed; |
323 | attributes &= ~MsiInterop.MsidbFileAttributesNoncompressed; | 331 | attributes &= ~MsiInterop.MsidbFileAttributesNoncompressed; |
324 | } | 332 | } |
325 | else if (YesNoType.No == file.File.Compressed) | 333 | else if (!file.File.Compressed.Value) |
326 | { | 334 | { |
327 | // these are mutually exclusive | 335 | // these are mutually exclusive |
328 | attributes |= MsiInterop.MsidbFileAttributesNoncompressed; | 336 | attributes |= MsiInterop.MsidbFileAttributesNoncompressed; |
329 | attributes &= ~MsiInterop.MsidbFileAttributesCompressed; | 337 | attributes &= ~MsiInterop.MsidbFileAttributesCompressed; |
330 | } | 338 | } |
331 | else // not specified | ||
332 | { | ||
333 | Debug.Assert(YesNoType.NotSet == file.File.Compressed); | ||
334 | |||
335 | // clear any compression bits | ||
336 | attributes &= ~MsiInterop.MsidbFileAttributesCompressed; | ||
337 | attributes &= ~MsiInterop.MsidbFileAttributesNoncompressed; | ||
338 | } | ||
339 | 339 | ||
340 | recordUpdate.SetInteger(2, attributes); | 340 | recordUpdate.SetInteger(2, attributes); |
341 | 341 | ||