aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorRob Mensching <rob@firegiant.com>2019-10-26 13:40:49 -0700
committerRob Mensching <rob@firegiant.com>2019-10-26 13:56:11 -0700
commit6eab6255f832007886c4b01861dc39d5582177ef (patch)
treecb3e11ad38046ed74eede94126c9923e4dfc287b /src
parentf01d284101e95d490497062c2dc9065423d0cf37 (diff)
downloadwix-6eab6255f832007886c4b01861dc39d5582177ef.tar.gz
wix-6eab6255f832007886c4b01861dc39d5582177ef.tar.bz2
wix-6eab6255f832007886c4b01861dc39d5582177ef.zip
Update to WindowsInstallerData rename from Data
Diffstat (limited to 'src')
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs10
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs8
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs6
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs4
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs76
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs4
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs2
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs4
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs4
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs6
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Differ.cs8
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Patch.cs6
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs4
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs8
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs12
-rw-r--r--src/WixToolset.Core.WindowsInstaller/Validator.cs4
-rw-r--r--src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs4
-rw-r--r--src/WixToolset.Core/ExtensibilityServices/WindowsInstallerBackendHelper.cs4
-rw-r--r--src/test/Example.Extension/ExampleWindowsInstallerBackendExtension.cs2
-rw-r--r--src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs6
20 files changed, 91 insertions, 91 deletions
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs
index 77d0c9bb..a783ebaa 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindDatabaseCommand.cs
@@ -312,7 +312,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
312 } 312 }
313 313
314 // Time to create the output object. Try to put as much above here as possible, updating the IR is better. 314 // Time to create the output object. Try to put as much above here as possible, updating the IR is better.
315 Output output; 315 WindowsInstallerData output;
316 { 316 {
317 var command = new CreateOutputFromIRCommand(this.Messaging, section, tableDefinitions, this.BackendExtensions); 317 var command = new CreateOutputFromIRCommand(this.Messaging, section, tableDefinitions, this.BackendExtensions);
318 command.Execute(); 318 command.Execute();
@@ -534,7 +534,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
534 this.TrackedFiles = trackedFiles; 534 this.TrackedFiles = trackedFiles;
535 } 535 }
536 536
537 private WixOutput CreateWixout(List<ITrackedFile> trackedFiles, Intermediate intermediate, Output output) 537 private WixOutput CreateWixout(List<ITrackedFile> trackedFiles, Intermediate intermediate, WindowsInstallerData output)
538 { 538 {
539 WixOutput wixout; 539 WixOutput wixout;
540 540
@@ -834,7 +834,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
834 /// Duplicate GUIDs without conditions are an error condition; with conditions, it's a 834 /// Duplicate GUIDs without conditions are an error condition; with conditions, it's a
835 /// warning, as the conditions might be mutually exclusive. 835 /// warning, as the conditions might be mutually exclusive.
836 /// </remarks> 836 /// </remarks>
837 private void ValidateComponentGuids(Output output) 837 private void ValidateComponentGuids(WindowsInstallerData output)
838 { 838 {
839 Table componentTable = output.Tables["Component"]; 839 Table componentTable = output.Tables["Component"];
840 if (null != componentTable) 840 if (null != componentTable)
@@ -874,7 +874,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
874 /// Update Control and BBControl text by reading from files when necessary. 874 /// Update Control and BBControl text by reading from files when necessary.
875 /// </summary> 875 /// </summary>
876 /// <param name="output">Internal representation of the msi database to operate upon.</param> 876 /// <param name="output">Internal representation of the msi database to operate upon.</param>
877 private void UpdateControlText(Output output) 877 private void UpdateControlText(WindowsInstallerData output)
878 { 878 {
879 var command = new UpdateControlTextCommand(); 879 var command = new UpdateControlTextCommand();
880 command.Messaging = this.Messaging; 880 command.Messaging = this.Messaging;
@@ -925,7 +925,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
925 /// <param name="databaseFile">The database file to create.</param> 925 /// <param name="databaseFile">The database file to create.</param>
926 /// <param name="keepAddedColumns">Whether to keep columns added in a transform.</param> 926 /// <param name="keepAddedColumns">Whether to keep columns added in a transform.</param>
927 /// <param name="useSubdirectory">Whether to use a subdirectory based on the <paramref name="databaseFile"/> file name for intermediate files.</param> 927 /// <param name="useSubdirectory">Whether to use a subdirectory based on the <paramref name="databaseFile"/> file name for intermediate files.</param>
928 private IEnumerable<ITrackedFile> GenerateDatabase(Output output, TableDefinitionCollection tableDefinitions, string databaseFile, bool keepAddedColumns, bool useSubdirectory) 928 private IEnumerable<ITrackedFile> GenerateDatabase(WindowsInstallerData output, TableDefinitionCollection tableDefinitions, string databaseFile, bool keepAddedColumns, bool useSubdirectory)
929 { 929 {
930 var command = new GenerateDatabaseCommand(); 930 var command = new GenerateDatabaseCommand();
931 command.BackendHelper = this.BackendHelper; 931 command.BackendHelper = this.BackendHelper;
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs
index 2936ad7b..8757024e 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/BindTransformCommand.cs
@@ -21,7 +21,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
21 21
22 public string TempFilesLocation { private get; set; } 22 public string TempFilesLocation { private get; set; }
23 23
24 public Output Transform { private get; set; } 24 public WindowsInstallerData Transform { private get; set; }
25 25
26 public IMessaging Messaging { private get; set; } 26 public IMessaging Messaging { private get; set; }
27 27
@@ -31,8 +31,8 @@ namespace WixToolset.Core.WindowsInstaller.Bind
31 { 31 {
32 int transformFlags = 0; 32 int transformFlags = 0;
33 33
34 Output targetOutput = new Output(null); 34 WindowsInstallerData targetOutput = new WindowsInstallerData(null);
35 Output updatedOutput = new Output(null); 35 WindowsInstallerData updatedOutput = new WindowsInstallerData(null);
36 36
37 // TODO: handle added columns 37 // TODO: handle added columns
38 38
@@ -456,7 +456,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
456 return compared.Value; 456 return compared.Value;
457 } 457 }
458 458
459 private void GenerateDatabase(Output output, string outputPath, bool keepAddedColumns) 459 private void GenerateDatabase(WindowsInstallerData output, string outputPath, bool keepAddedColumns)
460 { 460 {
461 var command = new GenerateDatabaseCommand(); 461 var command = new GenerateDatabaseCommand();
462 command.Codepage = output.Codepage; 462 command.Codepage = output.Codepage;
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs
index a2cf2076..1651f9d8 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/CopyTransformDataCommand.cs
@@ -22,7 +22,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
22 22
23 public IMessaging Messaging { private get; set; } 23 public IMessaging Messaging { private get; set; }
24 24
25 public Output Output { private get; set; } 25 public WindowsInstallerData Output { private get; set; }
26 26
27 public TableDefinitionCollection TableDefinitions { private get; set; } 27 public TableDefinitionCollection TableDefinitions { private get; set; }
28 28
@@ -431,7 +431,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
431 /// <param name="mainTransform">The primary authoring transform.</param> 431 /// <param name="mainTransform">The primary authoring transform.</param>
432 /// <param name="pairedTransform">The secondary patch transform.</param> 432 /// <param name="pairedTransform">The secondary patch transform.</param>
433 /// <param name="mainFileRow">The file row that contains information about the patched file.</param> 433 /// <param name="mainFileRow">The file row that contains information about the patched file.</param>
434 private void AddPatchFilesActionToSequenceTable(SequenceTable table, Output mainTransform, Output pairedTransform, Row mainFileRow) 434 private void AddPatchFilesActionToSequenceTable(SequenceTable table, WindowsInstallerData mainTransform, WindowsInstallerData pairedTransform, Row mainFileRow)
435 { 435 {
436 // Find/add PatchFiles action (also determine sequence for it). 436 // Find/add PatchFiles action (also determine sequence for it).
437 // Search mainTransform first, then pairedTransform (pairedTransform overrides). 437 // Search mainTransform first, then pairedTransform (pairedTransform overrides).
@@ -524,7 +524,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
524 /// Signal a warning if a non-keypath file was changed in a patch without also changing the keypath file of the component. 524 /// Signal a warning if a non-keypath file was changed in a patch without also changing the keypath file of the component.
525 /// </summary> 525 /// </summary>
526 /// <param name="output">The output to validate.</param> 526 /// <param name="output">The output to validate.</param>
527 private void ValidateFileRowChanges(Output transform) 527 private void ValidateFileRowChanges(WindowsInstallerData transform)
528 { 528 {
529 Table componentTable = transform.Tables["Component"]; 529 Table componentTable = transform.Tables["Component"];
530 Table fileTable = transform.Tables["File"]; 530 Table fileTable = transform.Tables["File"];
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs
index a9b0f5f5..50dc7e3f 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/CreateCabinetsCommand.cs
@@ -69,7 +69,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
69 69
70 public IEnumerable<IWindowsInstallerBackendBinderExtension> BackendExtensions { private get; set; } 70 public IEnumerable<IWindowsInstallerBackendBinderExtension> BackendExtensions { private get; set; }
71 71
72 public Output Output { private get; set; } 72 public WindowsInstallerData Output { private get; set; }
73 73
74 public string LayoutDirectory { private get; set; } 74 public string LayoutDirectory { private get; set; }
75 75
@@ -180,7 +180,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
180 /// <param name="mediaRow">MediaRow containing information about the cabinet.</param> 180 /// <param name="mediaRow">MediaRow containing information about the cabinet.</param>
181 /// <param name="fileFacades">Collection of files in this cabinet.</param> 181 /// <param name="fileFacades">Collection of files in this cabinet.</param>
182 /// <returns>created CabinetWorkItem object</returns> 182 /// <returns>created CabinetWorkItem object</returns>
183 private CabinetWorkItem CreateCabinetWorkItem(Output output, string cabinetDir, MediaTuple mediaRow, CompressionLevel compressionLevel, IEnumerable<FileFacade> fileFacades) 183 private CabinetWorkItem CreateCabinetWorkItem(WindowsInstallerData output, string cabinetDir, MediaTuple mediaRow, CompressionLevel compressionLevel, IEnumerable<FileFacade> fileFacades)
184 { 184 {
185 CabinetWorkItem cabinetWorkItem = null; 185 CabinetWorkItem cabinetWorkItem = null;
186 string tempCabinetFileX = Path.Combine(this.TempFilesLocation, mediaRow.Cabinet); 186 string tempCabinetFileX = Path.Combine(this.TempFilesLocation, mediaRow.Cabinet);
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
index 081644cb..d7056bb8 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
@@ -36,11 +36,11 @@ namespace WixToolset.Core.WindowsInstaller.Bind
36 36
37 private IntermediateSection Section { get; } 37 private IntermediateSection Section { get; }
38 38
39 public Output Output { get; private set; } 39 public WindowsInstallerData Output { get; private set; }
40 40
41 public void Execute() 41 public void Execute()
42 { 42 {
43 var output = new Output(this.Section.Tuples.First().SourceLineNumbers); 43 var output = new WindowsInstallerData(this.Section.Tuples.First().SourceLineNumbers);
44 output.Codepage = this.Section.Codepage; 44 output.Codepage = this.Section.Codepage;
45 output.Type = SectionTypeToOutputType(this.Section.Type); 45 output.Type = SectionTypeToOutputType(this.Section.Type);
46 46
@@ -49,7 +49,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
49 this.Output = output; 49 this.Output = output;
50 } 50 }
51 51
52 private void AddSectionToOutput(IntermediateSection section, Output output) 52 private void AddSectionToOutput(IntermediateSection section, WindowsInstallerData output)
53 { 53 {
54 foreach (var tuple in section.Tuples) 54 foreach (var tuple in section.Tuples)
55 { 55 {
@@ -243,7 +243,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
243 } 243 }
244 } 244 }
245 245
246 private void AddAssemblyTuple(AssemblyTuple tuple, Output output) 246 private void AddAssemblyTuple(AssemblyTuple tuple, WindowsInstallerData output)
247 { 247 {
248 var attributes = tuple.Type == AssemblyType.Win32Assembly ? 1 : (int?)null; 248 var attributes = tuple.Type == AssemblyType.Win32Assembly ? 1 : (int?)null;
249 249
@@ -256,7 +256,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
256 row[4] = attributes; 256 row[4] = attributes;
257 } 257 }
258 258
259 private void AddBBControlTuple(BBControlTuple tuple, Output output) 259 private void AddBBControlTuple(BBControlTuple tuple, WindowsInstallerData output)
260 { 260 {
261 var attributes = tuple.Attributes; 261 var attributes = tuple.Attributes;
262 attributes |= tuple.Enabled ? WindowsInstallerConstants.MsidbControlAttributesEnabled : 0; 262 attributes |= tuple.Enabled ? WindowsInstallerConstants.MsidbControlAttributesEnabled : 0;
@@ -281,7 +281,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
281 row[8] = tuple.Text; 281 row[8] = tuple.Text;
282 } 282 }
283 283
284 private void AddClassTuple(ClassTuple tuple, Output output) 284 private void AddClassTuple(ClassTuple tuple, WindowsInstallerData output)
285 { 285 {
286 var table = output.EnsureTable(this.TableDefinitions["Class"]); 286 var table = output.EnsureTable(this.TableDefinitions["Class"]);
287 var row = table.CreateRow(tuple.SourceLineNumbers); 287 var row = table.CreateRow(tuple.SourceLineNumbers);
@@ -300,7 +300,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
300 row[12] = tuple.RelativePath ? (int?)1 : null; 300 row[12] = tuple.RelativePath ? (int?)1 : null;
301 } 301 }
302 302
303 private void AddControlTuple(ControlTuple tuple, Output output) 303 private void AddControlTuple(ControlTuple tuple, WindowsInstallerData output)
304 { 304 {
305 var text = tuple.Text; 305 var text = tuple.Text;
306 var attributes = tuple.Attributes; 306 var attributes = tuple.Attributes;
@@ -340,7 +340,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
340 row[10] = tuple.Help; 340 row[10] = tuple.Help;
341 } 341 }
342 342
343 private void AddComponentTuple(ComponentTuple tuple, Output output) 343 private void AddComponentTuple(ComponentTuple tuple, WindowsInstallerData output)
344 { 344 {
345 var attributes = ComponentLocation.Either == tuple.Location ? WindowsInstallerConstants.MsidbComponentAttributesOptional : 0; 345 var attributes = ComponentLocation.Either == tuple.Location ? WindowsInstallerConstants.MsidbComponentAttributesOptional : 0;
346 attributes |= ComponentLocation.SourceOnly == tuple.Location ? WindowsInstallerConstants.MsidbComponentAttributesSourceOnly : 0; 346 attributes |= ComponentLocation.SourceOnly == tuple.Location ? WindowsInstallerConstants.MsidbComponentAttributesSourceOnly : 0;
@@ -365,7 +365,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
365 row[5] = tuple.KeyPath; 365 row[5] = tuple.KeyPath;
366 } 366 }
367 367
368 private void AddCustomActionTuple(CustomActionTuple tuple, Output output) 368 private void AddCustomActionTuple(CustomActionTuple tuple, WindowsInstallerData output)
369 { 369 {
370 var type = tuple.Win64 ? WindowsInstallerConstants.MsidbCustomActionType64BitScript : 0; 370 var type = tuple.Win64 ? WindowsInstallerConstants.MsidbCustomActionType64BitScript : 0;
371 type |= tuple.IgnoreResult ? WindowsInstallerConstants.MsidbCustomActionTypeContinue : 0; 371 type |= tuple.IgnoreResult ? WindowsInstallerConstants.MsidbCustomActionTypeContinue : 0;
@@ -401,7 +401,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
401 row[4] = tuple.PatchUninstall ? (int?)WindowsInstallerConstants.MsidbCustomActionTypePatchUninstall : null; 401 row[4] = tuple.PatchUninstall ? (int?)WindowsInstallerConstants.MsidbCustomActionTypePatchUninstall : null;
402 } 402 }
403 403
404 private void AddDialogTuple(DialogTuple tuple, Output output) 404 private void AddDialogTuple(DialogTuple tuple, WindowsInstallerData output)
405 { 405 {
406 var attributes = tuple.Visible ? WindowsInstallerConstants.MsidbDialogAttributesVisible : 0; 406 var attributes = tuple.Visible ? WindowsInstallerConstants.MsidbDialogAttributesVisible : 0;
407 attributes|= tuple.Modal ? WindowsInstallerConstants.MsidbDialogAttributesModal : 0; 407 attributes|= tuple.Modal ? WindowsInstallerConstants.MsidbDialogAttributesModal : 0;
@@ -431,7 +431,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
431 output.EnsureTable(this.TableDefinitions["ListBox"]); 431 output.EnsureTable(this.TableDefinitions["ListBox"]);
432 } 432 }
433 433
434 private void AddDirectoryTuple(DirectoryTuple tuple, Output output) 434 private void AddDirectoryTuple(DirectoryTuple tuple, WindowsInstallerData output)
435 { 435 {
436 var sourceName = GetMsiFilenameValue(tuple.SourceShortName, tuple.SourceName); 436 var sourceName = GetMsiFilenameValue(tuple.SourceShortName, tuple.SourceName);
437 var targetName = GetMsiFilenameValue(tuple.ShortName, tuple.Name); 437 var targetName = GetMsiFilenameValue(tuple.ShortName, tuple.Name);
@@ -450,7 +450,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
450 row[2] = defaultDir; 450 row[2] = defaultDir;
451 } 451 }
452 452
453 private void AddEnvironmentTuple(EnvironmentTuple tuple, Output output) 453 private void AddEnvironmentTuple(EnvironmentTuple tuple, WindowsInstallerData output)
454 { 454 {
455 var action = String.Empty; 455 var action = String.Empty;
456 var system = tuple.System ? "*" : String.Empty; 456 var system = tuple.System ? "*" : String.Empty;
@@ -488,7 +488,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
488 row[3] = tuple.ComponentRef; 488 row[3] = tuple.ComponentRef;
489 } 489 }
490 490
491 private void AddFeatureTuple(FeatureTuple tuple, Output output) 491 private void AddFeatureTuple(FeatureTuple tuple, WindowsInstallerData output)
492 { 492 {
493 var attributes = tuple.DisallowAbsent ? WindowsInstallerConstants.MsidbFeatureAttributesUIDisallowAbsent : 0; 493 var attributes = tuple.DisallowAbsent ? WindowsInstallerConstants.MsidbFeatureAttributesUIDisallowAbsent : 0;
494 attributes |= tuple.DisallowAdvertise ? WindowsInstallerConstants.MsidbFeatureAttributesDisallowAdvertise : 0; 494 attributes |= tuple.DisallowAdvertise ? WindowsInstallerConstants.MsidbFeatureAttributesDisallowAdvertise : 0;
@@ -508,7 +508,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
508 row[7] = attributes; 508 row[7] = attributes;
509 } 509 }
510 510
511 private void AddFileTuple(FileTuple tuple, Output output) 511 private void AddFileTuple(FileTuple tuple, WindowsInstallerData output)
512 { 512 {
513 var table = output.EnsureTable(this.TableDefinitions["File"]); 513 var table = output.EnsureTable(this.TableDefinitions["File"]);
514 var row = (FileRow)table.CreateRow(tuple.SourceLineNumbers); 514 var row = (FileRow)table.CreateRow(tuple.SourceLineNumbers);
@@ -537,7 +537,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
537 } 537 }
538 } 538 }
539 539
540 private void AddIniFileTuple(IniFileTuple tuple, Output output) 540 private void AddIniFileTuple(IniFileTuple tuple, WindowsInstallerData output)
541 { 541 {
542 var tableName = (InifFileActionType.AddLine == tuple.Action || InifFileActionType.AddTag == tuple.Action || InifFileActionType.CreateLine == tuple.Action) ? "IniFile" : "RemoveIniFile"; 542 var tableName = (InifFileActionType.AddLine == tuple.Action || InifFileActionType.AddTag == tuple.Action || InifFileActionType.CreateLine == tuple.Action) ? "IniFile" : "RemoveIniFile";
543 543
@@ -553,7 +553,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
553 row[7] = tuple.ComponentRef; 553 row[7] = tuple.ComponentRef;
554 } 554 }
555 555
556 private void AddMediaTuple(MediaTuple tuple, Output output) 556 private void AddMediaTuple(MediaTuple tuple, WindowsInstallerData output)
557 { 557 {
558 if (this.Section.Type != SectionType.Module) 558 if (this.Section.Type != SectionType.Module)
559 { 559 {
@@ -568,7 +568,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
568 } 568 }
569 } 569 }
570 570
571 private void AddModuleConfigurationTuple(ModuleConfigurationTuple tuple, Output output) 571 private void AddModuleConfigurationTuple(ModuleConfigurationTuple tuple, WindowsInstallerData output)
572 { 572 {
573 var table = output.EnsureTable(this.TableDefinitions["ModuleConfiguration"]); 573 var table = output.EnsureTable(this.TableDefinitions["ModuleConfiguration"]);
574 var row = table.CreateRow(tuple.SourceLineNumbers); 574 var row = table.CreateRow(tuple.SourceLineNumbers);
@@ -585,7 +585,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
585 row[9] = tuple.HelpKeyword; 585 row[9] = tuple.HelpKeyword;
586 } 586 }
587 587
588 private void AddMsiEmbeddedUITuple(MsiEmbeddedUITuple tuple, Output output) 588 private void AddMsiEmbeddedUITuple(MsiEmbeddedUITuple tuple, WindowsInstallerData output)
589 { 589 {
590 var attributes = tuple.EntryPoint ? WindowsInstallerConstants.MsidbEmbeddedUI : 0; 590 var attributes = tuple.EntryPoint ? WindowsInstallerConstants.MsidbEmbeddedUI : 0;
591 attributes |= tuple.SupportsBasicUI ? WindowsInstallerConstants.MsidbEmbeddedHandlesBasic : 0; 591 attributes |= tuple.SupportsBasicUI ? WindowsInstallerConstants.MsidbEmbeddedHandlesBasic : 0;
@@ -599,7 +599,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
599 row[4] = tuple.Source; 599 row[4] = tuple.Source;
600 } 600 }
601 601
602 private void AddMsiFileHashTuple(MsiFileHashTuple tuple, Output output) 602 private void AddMsiFileHashTuple(MsiFileHashTuple tuple, WindowsInstallerData output)
603 { 603 {
604 var table = output.EnsureTable(this.TableDefinitions["MsiFileHash"]); 604 var table = output.EnsureTable(this.TableDefinitions["MsiFileHash"]);
605 var row = table.CreateRow(tuple.SourceLineNumbers); 605 var row = table.CreateRow(tuple.SourceLineNumbers);
@@ -611,7 +611,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
611 row[5] = tuple.HashPart4; 611 row[5] = tuple.HashPart4;
612 } 612 }
613 613
614 private void AddMsiServiceConfigTuple(MsiServiceConfigTuple tuple, Output output) 614 private void AddMsiServiceConfigTuple(MsiServiceConfigTuple tuple, WindowsInstallerData output)
615 { 615 {
616 var events = tuple.OnInstall ? WindowsInstallerConstants.MsidbServiceConfigEventInstall : 0; 616 var events = tuple.OnInstall ? WindowsInstallerConstants.MsidbServiceConfigEventInstall : 0;
617 events |= tuple.OnReinstall ? WindowsInstallerConstants.MsidbServiceConfigEventReinstall : 0; 617 events |= tuple.OnReinstall ? WindowsInstallerConstants.MsidbServiceConfigEventReinstall : 0;
@@ -627,7 +627,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
627 row[5] = tuple.ComponentRef; 627 row[5] = tuple.ComponentRef;
628 } 628 }
629 629
630 private void AddMsiServiceConfigFailureActionsTuple(MsiServiceConfigFailureActionsTuple tuple, Output output) 630 private void AddMsiServiceConfigFailureActionsTuple(MsiServiceConfigFailureActionsTuple tuple, WindowsInstallerData output)
631 { 631 {
632 var events = tuple.OnInstall ? WindowsInstallerConstants.MsidbServiceConfigEventInstall : 0; 632 var events = tuple.OnInstall ? WindowsInstallerConstants.MsidbServiceConfigEventInstall : 0;
633 events |= tuple.OnReinstall ? WindowsInstallerConstants.MsidbServiceConfigEventReinstall : 0; 633 events |= tuple.OnReinstall ? WindowsInstallerConstants.MsidbServiceConfigEventReinstall : 0;
@@ -646,7 +646,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
646 row[8] = tuple.ComponentRef; 646 row[8] = tuple.ComponentRef;
647 } 647 }
648 648
649 private void AddMoveFileTuple(MoveFileTuple tuple, Output output) 649 private void AddMoveFileTuple(MoveFileTuple tuple, WindowsInstallerData output)
650 { 650 {
651 var table = output.EnsureTable(this.TableDefinitions["MoveFile"]); 651 var table = output.EnsureTable(this.TableDefinitions["MoveFile"]);
652 var row = table.CreateRow(tuple.SourceLineNumbers); 652 var row = table.CreateRow(tuple.SourceLineNumbers);
@@ -659,7 +659,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
659 row[6] = tuple.Delete ? WindowsInstallerConstants.MsidbMoveFileOptionsMove : 0; 659 row[6] = tuple.Delete ? WindowsInstallerConstants.MsidbMoveFileOptionsMove : 0;
660 } 660 }
661 661
662 private void AddPropertyTuple(PropertyTuple tuple, Output output) 662 private void AddPropertyTuple(PropertyTuple tuple, WindowsInstallerData output)
663 { 663 {
664 if (String.IsNullOrEmpty(tuple.Value)) 664 if (String.IsNullOrEmpty(tuple.Value))
665 { 665 {
@@ -672,7 +672,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
672 row.Value = tuple.Value; 672 row.Value = tuple.Value;
673 } 673 }
674 674
675 private void AddRemoveFileTuple(RemoveFileTuple tuple, Output output) 675 private void AddRemoveFileTuple(RemoveFileTuple tuple, WindowsInstallerData output)
676 { 676 {
677 var installMode = tuple.OnInstall == true ? WindowsInstallerConstants.MsidbRemoveFileInstallModeOnInstall : 0; 677 var installMode = tuple.OnInstall == true ? WindowsInstallerConstants.MsidbRemoveFileInstallModeOnInstall : 0;
678 installMode |= tuple.OnUninstall == true ? WindowsInstallerConstants.MsidbRemoveFileInstallModeOnRemove : 0; 678 installMode |= tuple.OnUninstall == true ? WindowsInstallerConstants.MsidbRemoveFileInstallModeOnRemove : 0;
@@ -686,7 +686,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
686 row[4] = installMode; 686 row[4] = installMode;
687 } 687 }
688 688
689 private void AddRegistryTuple(RegistryTuple tuple, Output output) 689 private void AddRegistryTuple(RegistryTuple tuple, WindowsInstallerData output)
690 { 690 {
691 var value = tuple.Value; 691 var value = tuple.Value;
692 692
@@ -738,7 +738,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
738 row[5] = tuple.ComponentRef; 738 row[5] = tuple.ComponentRef;
739 } 739 }
740 740
741 private void AddRegLocatorTuple(RegLocatorTuple tuple, Output output) 741 private void AddRegLocatorTuple(RegLocatorTuple tuple, WindowsInstallerData output)
742 { 742 {
743 var type = (int)tuple.Type; 743 var type = (int)tuple.Type;
744 type |= tuple.Win64 ? WindowsInstallerConstants.MsidbLocatorType64bit : 0; 744 type |= tuple.Win64 ? WindowsInstallerConstants.MsidbLocatorType64bit : 0;
@@ -752,7 +752,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
752 row[4] = type; 752 row[4] = type;
753 } 753 }
754 754
755 private void AddRemoveRegistryTuple(RemoveRegistryTuple tuple, Output output) 755 private void AddRemoveRegistryTuple(RemoveRegistryTuple tuple, WindowsInstallerData output)
756 { 756 {
757 if (tuple.Action == RemoveRegistryActionType.RemoveOnInstall) 757 if (tuple.Action == RemoveRegistryActionType.RemoveOnInstall)
758 { 758 {
@@ -776,7 +776,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
776 } 776 }
777 } 777 }
778 778
779 private void AddServiceControlTuple(ServiceControlTuple tuple, Output output) 779 private void AddServiceControlTuple(ServiceControlTuple tuple, WindowsInstallerData output)
780 { 780 {
781 var events = tuple.InstallRemove ? WindowsInstallerConstants.MsidbServiceControlEventDelete : 0; 781 var events = tuple.InstallRemove ? WindowsInstallerConstants.MsidbServiceControlEventDelete : 0;
782 events |= tuple.UninstallRemove ? WindowsInstallerConstants.MsidbServiceControlEventUninstallDelete : 0; 782 events |= tuple.UninstallRemove ? WindowsInstallerConstants.MsidbServiceControlEventUninstallDelete : 0;
@@ -795,7 +795,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
795 row[5] = tuple.ComponentRef; 795 row[5] = tuple.ComponentRef;
796 } 796 }
797 797
798 private void AddServiceInstallTuple(ServiceInstallTuple tuple, Output output) 798 private void AddServiceInstallTuple(ServiceInstallTuple tuple, WindowsInstallerData output)
799 { 799 {
800 var errorControl = (int)tuple.ErrorControl; 800 var errorControl = (int)tuple.ErrorControl;
801 errorControl |= tuple.Vital ? WindowsInstallerConstants.MsidbServiceInstallErrorControlVital : 0; 801 errorControl |= tuple.Vital ? WindowsInstallerConstants.MsidbServiceInstallErrorControlVital : 0;
@@ -820,7 +820,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
820 row[12] = tuple.Description; 820 row[12] = tuple.Description;
821 } 821 }
822 822
823 private void AddShortcutTuple(ShortcutTuple tuple, Output output) 823 private void AddShortcutTuple(ShortcutTuple tuple, WindowsInstallerData output)
824 { 824 {
825 var table = output.EnsureTable(this.TableDefinitions["Shortcut"]); 825 var table = output.EnsureTable(this.TableDefinitions["Shortcut"]);
826 var row = table.CreateRow(tuple.SourceLineNumbers); 826 var row = table.CreateRow(tuple.SourceLineNumbers);
@@ -842,7 +842,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
842 row[15] = tuple.DescriptionResourceId; 842 row[15] = tuple.DescriptionResourceId;
843 } 843 }
844 844
845 private void AddTextStyleTuple(TextStyleTuple tuple, Output output) 845 private void AddTextStyleTuple(TextStyleTuple tuple, WindowsInstallerData output)
846 { 846 {
847 var styleBits = tuple.Bold ? WindowsInstallerConstants.MsidbTextStyleStyleBitsBold : 0; 847 var styleBits = tuple.Bold ? WindowsInstallerConstants.MsidbTextStyleStyleBitsBold : 0;
848 styleBits |= tuple.Italic ? WindowsInstallerConstants.MsidbTextStyleStyleBitsItalic : 0; 848 styleBits |= tuple.Italic ? WindowsInstallerConstants.MsidbTextStyleStyleBitsItalic : 0;
@@ -867,7 +867,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
867 row[4] = styleBits == 0 ? null : (int?)styleBits; 867 row[4] = styleBits == 0 ? null : (int?)styleBits;
868 } 868 }
869 869
870 private void AddUpgradeTuple(UpgradeTuple tuple, Output output) 870 private void AddUpgradeTuple(UpgradeTuple tuple, WindowsInstallerData output)
871 { 871 {
872 var table = output.EnsureTable(this.TableDefinitions["Upgrade"]); 872 var table = output.EnsureTable(this.TableDefinitions["Upgrade"]);
873 var row = (UpgradeRow)table.CreateRow(tuple.SourceLineNumbers); 873 var row = (UpgradeRow)table.CreateRow(tuple.SourceLineNumbers);
@@ -887,7 +887,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
887 row.Attributes = attributes; 887 row.Attributes = attributes;
888 } 888 }
889 889
890 private void AddWixActionTuple(WixActionTuple tuple, Output output) 890 private void AddWixActionTuple(WixActionTuple tuple, WindowsInstallerData output)
891 { 891 {
892 // Get the table definition for the action (and ensure the proper table exists for a module). 892 // Get the table definition for the action (and ensure the proper table exists for a module).
893 TableDefinition sequenceTableDefinition = null; 893 TableDefinition sequenceTableDefinition = null;
@@ -977,7 +977,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
977 } 977 }
978 } 978 }
979 979
980 private void AddWixCustomRowTuple(WixCustomRowTuple tuple, Output output) 980 private void AddWixCustomRowTuple(WixCustomRowTuple tuple, WindowsInstallerData output)
981 { 981 {
982 var customTableDefinition = this.TableDefinitions[tuple.Table]; 982 var customTableDefinition = this.TableDefinitions[tuple.Table];
983 983
@@ -1058,13 +1058,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
1058 } 1058 }
1059 } 1059 }
1060 1060
1061 private void AddWixEnsureTableTuple(WixEnsureTableTuple tuple, Output output) 1061 private void AddWixEnsureTableTuple(WixEnsureTableTuple tuple, WindowsInstallerData output)
1062 { 1062 {
1063 var tableDefinition = this.TableDefinitions[tuple.Table]; 1063 var tableDefinition = this.TableDefinitions[tuple.Table];
1064 output.EnsureTable(tableDefinition); 1064 output.EnsureTable(tableDefinition);
1065 } 1065 }
1066 1066
1067 private void AddWixMediaTemplateTuple(WixMediaTemplateTuple tuple, Output output) 1067 private void AddWixMediaTemplateTuple(WixMediaTemplateTuple tuple, WindowsInstallerData output)
1068 { 1068 {
1069 var table = output.EnsureTable(this.TableDefinitions["WixMediaTemplate"]); 1069 var table = output.EnsureTable(this.TableDefinitions["WixMediaTemplate"]);
1070 var row = (WixMediaTemplateRow)table.CreateRow(tuple.SourceLineNumbers); 1070 var row = (WixMediaTemplateRow)table.CreateRow(tuple.SourceLineNumbers);
@@ -1076,7 +1076,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
1076 row.MaximumCabinetSizeForLargeFileSplitting = tuple.MaximumCabinetSizeForLargeFileSplitting ?? MaxValueOfMaxCabSizeForLargeFileSplitting; 1076 row.MaximumCabinetSizeForLargeFileSplitting = tuple.MaximumCabinetSizeForLargeFileSplitting ?? MaxValueOfMaxCabSizeForLargeFileSplitting;
1077 } 1077 }
1078 1078
1079 private void AddTupleFromExtension(IntermediateTuple tuple, Output output) 1079 private void AddTupleFromExtension(IntermediateTuple tuple, WindowsInstallerData output)
1080 { 1080 {
1081 foreach (var extension in this.BackendExtensions) 1081 foreach (var extension in this.BackendExtensions)
1082 { 1082 {
@@ -1087,7 +1087,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
1087 } 1087 }
1088 } 1088 }
1089 1089
1090 private void AddTupleDefaultly(IntermediateTuple tuple, Output output, bool idIsPrimaryKey = false, string tableName = null) 1090 private void AddTupleDefaultly(IntermediateTuple tuple, WindowsInstallerData output, bool idIsPrimaryKey = false, string tableName = null)
1091 { 1091 {
1092 if (!this.TableDefinitions.TryGet(tableName ?? tuple.Definition.Name, out var tableDefinition)) 1092 if (!this.TableDefinitions.TryGet(tableName ?? tuple.Definition.Name, out var tableDefinition))
1093 { 1093 {
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs
index 84c2dcfd..6b365ecd 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/GenerateDatabaseCommand.cs
@@ -30,7 +30,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
30 30
31 public IMessaging Messaging { private get; set; } 31 public IMessaging Messaging { private get; set; }
32 32
33 public Output Output { private get; set; } 33 public WindowsInstallerData Output { private get; set; }
34 34
35 public string OutputPath { private get; set; } 35 public string OutputPath { private get; set; }
36 36
@@ -350,7 +350,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
350 } 350 }
351 } 351 }
352 352
353 private void BindTransform(Output transform, string outputPath) 353 private void BindTransform(WindowsInstallerData transform, string outputPath)
354 { 354 {
355 var command = new BindTransformCommand(); 355 var command = new BindTransformCommand();
356 command.Messaging = this.Messaging; 356 command.Messaging = this.Messaging;
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs
index 3c8b4999..7ee33997 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/MergeModulesCommand.cs
@@ -25,7 +25,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
25 25
26 public IMessaging Messaging { private get; set; } 26 public IMessaging Messaging { private get; set; }
27 27
28 public Output Output { private get; set; } 28 public WindowsInstallerData Output { private get; set; }
29 29
30 public string OutputPath { private get; set; } 30 public string OutputPath { private get; set; }
31 31
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs
index f0a43085..64257ccf 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/ModularizeCommand.cs
@@ -15,7 +15,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
15 15
16 internal class ModularizeCommand 16 internal class ModularizeCommand
17 { 17 {
18 public ModularizeCommand(Output output, string modularizationGuid, IEnumerable<WixSuppressModularizationTuple> suppressTuples) 18 public ModularizeCommand(WindowsInstallerData output, string modularizationGuid, IEnumerable<WixSuppressModularizationTuple> suppressTuples)
19 { 19 {
20 this.Output = output; 20 this.Output = output;
21 this.ModularizationGuid = modularizationGuid; 21 this.ModularizationGuid = modularizationGuid;
@@ -24,7 +24,7 @@ namespace WixToolset.Core.WindowsInstaller.Bind
24 this.SuppressModularizationIdentifiers = new HashSet<string>(suppressTuples.Select(s => s.Id.Id)); 24 this.SuppressModularizationIdentifiers = new HashSet<string>(suppressTuples.Select(s => s.Id.Id));
25 } 25 }
26 26
27 private Output Output { get; } 27 private WindowsInstallerData Output { get; }
28 28
29 private string ModularizationGuid { get; } 29 private string ModularizationGuid { get; }
30 30
diff --git a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs
index 889d5df2..f9e3bd5a 100644
--- a/src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Bind/UpdateMediaSequencesCommand.cs
@@ -11,13 +11,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
11 11
12 internal class UpdateMediaSequencesCommand 12 internal class UpdateMediaSequencesCommand
13 { 13 {
14 public UpdateMediaSequencesCommand(Output output, List<FileFacade> fileFacades) 14 public UpdateMediaSequencesCommand(WindowsInstallerData output, List<FileFacade> fileFacades)
15 { 15 {
16 this.Output = output; 16 this.Output = output;
17 this.FileFacades = fileFacades; 17 this.FileFacades = fileFacades;
18 } 18 }
19 19
20 private Output Output { get; } 20 private WindowsInstallerData Output { get; }
21 21
22 private List<FileFacade> FileFacades { get; } 22 private List<FileFacade> FileFacades { get; }
23 23
diff --git a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
index b4d25786..ba515d69 100644
--- a/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Decompile/Decompiler.cs
@@ -100,7 +100,7 @@ namespace WixToolset.Core.WindowsInstaller
100 /// </summary> 100 /// </summary>
101 /// <param name="output">The output to decompile.</param> 101 /// <param name="output">The output to decompile.</param>
102 /// <returns>The serialized WiX source code.</returns> 102 /// <returns>The serialized WiX source code.</returns>
103 public XDocument Decompile(Output output) 103 public XDocument Decompile(WindowsInstallerData output)
104 { 104 {
105 if (null == output) 105 if (null == output)
106 { 106 {
@@ -3024,7 +3024,7 @@ namespace WixToolset.Core.WindowsInstaller
3024 /// Decompile the tables. 3024 /// Decompile the tables.
3025 /// </summary> 3025 /// </summary>
3026 /// <param name="output">The output being decompiled.</param> 3026 /// <param name="output">The output being decompiled.</param>
3027 private void DecompileTables(Output output) 3027 private void DecompileTables(WindowsInstallerData output)
3028 { 3028 {
3029 var sortedTableNames = this.GetSortedTableNames(); 3029 var sortedTableNames = this.GetSortedTableNames();
3030 3030
@@ -3387,7 +3387,7 @@ namespace WixToolset.Core.WindowsInstaller
3387 /// <param name="output">The output being decompiled.</param> 3387 /// <param name="output">The output being decompiled.</param>
3388 /// <param name="tableName">The name of a table.</param> 3388 /// <param name="tableName">The name of a table.</param>
3389 /// <returns>true if the table should be decompiled; false otherwise.</returns> 3389 /// <returns>true if the table should be decompiled; false otherwise.</returns>
3390 private bool DecompilableTable(Output output, string tableName) 3390 private bool DecompilableTable(WindowsInstallerData output, string tableName)
3391 { 3391 {
3392 switch (tableName) 3392 switch (tableName)
3393 { 3393 {
diff --git a/src/WixToolset.Core.WindowsInstaller/Differ.cs b/src/WixToolset.Core.WindowsInstaller/Differ.cs
index 209773e0..32172ffd 100644
--- a/src/WixToolset.Core.WindowsInstaller/Differ.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Differ.cs
@@ -81,7 +81,7 @@ namespace WixToolset.Core.WindowsInstaller
81 /// <param name="targetOutput">The target output.</param> 81 /// <param name="targetOutput">The target output.</param>
82 /// <param name="updatedOutput">The updated output.</param> 82 /// <param name="updatedOutput">The updated output.</param>
83 /// <returns>The transform.</returns> 83 /// <returns>The transform.</returns>
84 public Output Diff(Output targetOutput, Output updatedOutput) 84 public WindowsInstallerData Diff(WindowsInstallerData targetOutput, WindowsInstallerData updatedOutput)
85 { 85 {
86 return this.Diff(targetOutput, updatedOutput, 0); 86 return this.Diff(targetOutput, updatedOutput, 0);
87 } 87 }
@@ -93,9 +93,9 @@ namespace WixToolset.Core.WindowsInstaller
93 /// <param name="updatedOutput">The updated output.</param> 93 /// <param name="updatedOutput">The updated output.</param>
94 /// <param name="validationFlags"></param> 94 /// <param name="validationFlags"></param>
95 /// <returns>The transform.</returns> 95 /// <returns>The transform.</returns>
96 public Output Diff(Output targetOutput, Output updatedOutput, TransformFlags validationFlags) 96 public WindowsInstallerData Diff(WindowsInstallerData targetOutput, WindowsInstallerData updatedOutput, TransformFlags validationFlags)
97 { 97 {
98 Output transform = new Output(null); 98 WindowsInstallerData transform = new WindowsInstallerData(null);
99 transform.Type = OutputType.Transform; 99 transform.Type = OutputType.Transform;
100 transform.Codepage = updatedOutput.Codepage; 100 transform.Codepage = updatedOutput.Codepage;
101 this.transformSummaryInfo = new SummaryInformationStreams(); 101 this.transformSummaryInfo = new SummaryInformationStreams();
@@ -338,7 +338,7 @@ namespace WixToolset.Core.WindowsInstaller
338 return comparedRow; 338 return comparedRow;
339 } 339 }
340 340
341 private List<Row> CompareTables(Output targetOutput, Table targetTable, Table updatedTable, out TableOperation operation) 341 private List<Row> CompareTables(WindowsInstallerData targetOutput, Table targetTable, Table updatedTable, out TableOperation operation)
342 { 342 {
343 List<Row> rows = new List<Row>(); 343 List<Row> rows = new List<Row>();
344 operation = TableOperation.None; 344 operation = TableOperation.None;
diff --git a/src/WixToolset.Core.WindowsInstaller/Patch.cs b/src/WixToolset.Core.WindowsInstaller/Patch.cs
index c1914aca..6549e830 100644
--- a/src/WixToolset.Core.WindowsInstaller/Patch.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Patch.cs
@@ -15,10 +15,10 @@ namespace WixToolset.Data
15 public class Patch 15 public class Patch
16 { 16 {
17 private List<IInspectorExtension> inspectorExtensions; 17 private List<IInspectorExtension> inspectorExtensions;
18 private Output patch; 18 private WindowsInstallerData patch;
19 private TableDefinitionCollection tableDefinitions; 19 private TableDefinitionCollection tableDefinitions;
20 20
21 public Output PatchOutput 21 public WindowsInstallerData PatchOutput
22 { 22 {
23 get { return this.patch; } 23 get { return this.patch; }
24 } 24 }
@@ -40,7 +40,7 @@ namespace WixToolset.Data
40 40
41 public void Load(string patchPath) 41 public void Load(string patchPath)
42 { 42 {
43 this.patch = Output.Load(patchPath, false); 43 this.patch = WindowsInstallerData.Load(patchPath, false);
44 } 44 }
45 45
46 /// <summary> 46 /// <summary>
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
index 57547d4f..86eaa945 100644
--- a/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Unbind/ExtractCabinetsCommand.cs
@@ -15,7 +15,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
15 15
16 internal class ExtractCabinetsCommand 16 internal class ExtractCabinetsCommand
17 { 17 {
18 public ExtractCabinetsCommand(Output output, Database database, string inputFilePath, string exportBasePath, string intermediateFolder, bool treatOutputAsModule = false) 18 public ExtractCabinetsCommand(WindowsInstallerData output, Database database, string inputFilePath, string exportBasePath, string intermediateFolder, bool treatOutputAsModule = false)
19 { 19 {
20 this.Output = output; 20 this.Output = output;
21 this.Database = database; 21 this.Database = database;
@@ -27,7 +27,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
27 27
28 public string[] ExtractedFiles { get; private set; } 28 public string[] ExtractedFiles { get; private set; }
29 29
30 private Output Output { get; } 30 private WindowsInstallerData Output { get; }
31 31
32 private Database Database { get; } 32 private Database Database { get; }
33 33
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs
index 0699199b..2a26be8c 100644
--- a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindDatabaseCommand.cs
@@ -57,12 +57,12 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
57 57
58 private int SectionCount { get; set; } 58 private int SectionCount { get; set; }
59 59
60 public Output Execute() 60 public WindowsInstallerData Execute()
61 { 61 {
62 this.exportedFiles = new List<string>(); 62 this.exportedFiles = new List<string>();
63 63
64 string modularizationGuid = null; 64 string modularizationGuid = null;
65 var output = new Output(new SourceLineNumber(this.DatabasePath)); 65 var output = new WindowsInstallerData(new SourceLineNumber(this.DatabasePath));
66 View validationView = null; 66 View validationView = null;
67 67
68 // set the output type 68 // set the output type
@@ -442,7 +442,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
442 /// </summary> 442 /// </summary>
443 /// <param name="databaseFile">The path to the msi database file in an admin image.</param> 443 /// <param name="databaseFile">The path to the msi database file in an admin image.</param>
444 /// <param name="output">The Output that represents the msi database.</param> 444 /// <param name="output">The Output that represents the msi database.</param>
445 private void GenerateWixFileTable(string databaseFile, Output output) 445 private void GenerateWixFileTable(string databaseFile, WindowsInstallerData output)
446 { 446 {
447 throw new NotImplementedException(); 447 throw new NotImplementedException();
448#if TODO_FIX_UNBINDING_FILES 448#if TODO_FIX_UNBINDING_FILES
@@ -605,7 +605,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
605 /// Creates section ids on rows which form logical groupings of resources. 605 /// Creates section ids on rows which form logical groupings of resources.
606 /// </summary> 606 /// </summary>
607 /// <param name="output">The Output that represents the msi database.</param> 607 /// <param name="output">The Output that represents the msi database.</param>
608 private void GenerateSectionIds(Output output) 608 private void GenerateSectionIds(WindowsInstallerData output)
609 { 609 {
610 // First assign and index section ids for the tables that are in their own sections. 610 // First assign and index section ids for the tables that are in their own sections.
611 this.AssignSectionIdsToTable(output.Tables["Binary"], 0); 611 this.AssignSectionIdsToTable(output.Tables["Binary"], 0);
diff --git a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs
index bf282e99..bdf8d542 100644
--- a/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Unbind/UnbindTranformCommand.cs
@@ -39,9 +39,9 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
39 39
40 private string EmptyFile { get; set; } 40 private string EmptyFile { get; set; }
41 41
42 public Output Execute() 42 public WindowsInstallerData Execute()
43 { 43 {
44 Output transform = new Output(new SourceLineNumber(this.TransformFile)); 44 WindowsInstallerData transform = new WindowsInstallerData(new SourceLineNumber(this.TransformFile));
45 transform.Type = OutputType.Transform; 45 transform.Type = OutputType.Transform;
46 46
47 // get the summary information table 47 // get the summary information table
@@ -63,7 +63,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
63 } 63 }
64 64
65 // create a schema msi which hopefully matches the table schemas in the transform 65 // create a schema msi which hopefully matches the table schemas in the transform
66 Output schemaOutput = new Output(null); 66 WindowsInstallerData schemaOutput = new WindowsInstallerData(null);
67 string msiDatabaseFile = Path.Combine(this.IntermediateFolder, "schema.msi"); 67 string msiDatabaseFile = Path.Combine(this.IntermediateFolder, "schema.msi");
68 foreach (TableDefinition tableDefinition in this.TableDefinitions) 68 foreach (TableDefinition tableDefinition in this.TableDefinitions)
69 { 69 {
@@ -88,7 +88,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
88 88
89 // unbind the database 89 // unbind the database
90 var unbindCommand = new UnbindDatabaseCommand(this.Messaging, msiDatabase, msiDatabaseFile, OutputType.Product, this.ExportBasePath, this.IntermediateFolder, false, false, skipSummaryInfo: true); 90 var unbindCommand = new UnbindDatabaseCommand(this.Messaging, msiDatabase, msiDatabaseFile, OutputType.Product, this.ExportBasePath, this.IntermediateFolder, false, false, skipSummaryInfo: true);
91 Output transformViewOutput = unbindCommand.Execute(); 91 WindowsInstallerData transformViewOutput = unbindCommand.Execute();
92 92
93 // index the added and possibly modified rows (added rows may also appears as modified rows) 93 // index the added and possibly modified rows (added rows may also appears as modified rows)
94 transformViewTable = transformViewOutput.Tables["_TransformView"]; 94 transformViewTable = transformViewOutput.Tables["_TransformView"];
@@ -158,7 +158,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
158 158
159 // unbind the database 159 // unbind the database
160 var unbindCommand = new UnbindDatabaseCommand(this.Messaging, msiDatabase, msiDatabaseFile, OutputType.Product, this.ExportBasePath, this.IntermediateFolder, false, false, skipSummaryInfo: true); 160 var unbindCommand = new UnbindDatabaseCommand(this.Messaging, msiDatabase, msiDatabaseFile, OutputType.Product, this.ExportBasePath, this.IntermediateFolder, false, false, skipSummaryInfo: true);
161 Output output = unbindCommand.Execute(); 161 WindowsInstallerData output = unbindCommand.Execute();
162 162
163 // index all the rows to easily find modified rows 163 // index all the rows to easily find modified rows
164 Hashtable rows = new Hashtable(); 164 Hashtable rows = new Hashtable();
@@ -240,7 +240,7 @@ namespace WixToolset.Core.WindowsInstaller.Unbind
240 return transform; 240 return transform;
241 } 241 }
242 242
243 private void GenerateDatabase(Output output, string databaseFile) 243 private void GenerateDatabase(WindowsInstallerData output, string databaseFile)
244 { 244 {
245 var command = new GenerateDatabaseCommand(); 245 var command = new GenerateDatabaseCommand();
246 command.Extensions = Array.Empty<IFileSystemExtension>(); 246 command.Extensions = Array.Empty<IFileSystemExtension>();
diff --git a/src/WixToolset.Core.WindowsInstaller/Validator.cs b/src/WixToolset.Core.WindowsInstaller/Validator.cs
index e19feb22..1c9cdc2f 100644
--- a/src/WixToolset.Core.WindowsInstaller/Validator.cs
+++ b/src/WixToolset.Core.WindowsInstaller/Validator.cs
@@ -27,7 +27,7 @@ namespace WixToolset.Core.WindowsInstaller
27 private string actionName; 27 private string actionName;
28 private StringCollection cubeFiles; 28 private StringCollection cubeFiles;
29 private ValidatorExtension extension; 29 private ValidatorExtension extension;
30 private Output output; 30 private WindowsInstallerData output;
31 private InstallUIHandler validationUIHandler; 31 private InstallUIHandler validationUIHandler;
32 private bool validationSessionComplete; 32 private bool validationSessionComplete;
33 private readonly IMessaging messaging; 33 private readonly IMessaging messaging;
@@ -64,7 +64,7 @@ namespace WixToolset.Core.WindowsInstaller
64 /// Gets or sets the output used for finding source line information. 64 /// Gets or sets the output used for finding source line information.
65 /// </summary> 65 /// </summary>
66 /// <value>The output used for finding source line information.</value> 66 /// <value>The output used for finding source line information.</value>
67 public Output Output 67 public WindowsInstallerData Output
68 { 68 {
69 // cache Output object until validation for changes in extension 69 // cache Output object until validation for changes in extension
70 get { return this.output; } 70 get { return this.output; }
diff --git a/src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs b/src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs
index 48f73bf2..97208ddb 100644
--- a/src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs
+++ b/src/WixToolset.Core.WindowsInstaller/ValidatorExtension.cs
@@ -16,7 +16,7 @@ namespace WixToolset.Extensibility
16 { 16 {
17 private string databaseFile; 17 private string databaseFile;
18 private Hashtable indexedSourceLineNumbers; 18 private Hashtable indexedSourceLineNumbers;
19 private Output output; 19 private WindowsInstallerData output;
20 private SourceLineNumber sourceLineNumbers; 20 private SourceLineNumber sourceLineNumbers;
21 private readonly IMessaging messaging; 21 private readonly IMessaging messaging;
22 22
@@ -42,7 +42,7 @@ namespace WixToolset.Extensibility
42 /// Gets or sets the <see cref="Output"/> for finding source line information. 42 /// Gets or sets the <see cref="Output"/> for finding source line information.
43 /// </summary> 43 /// </summary>
44 /// <value>The <see cref="Output"/> for finding source line information.</value> 44 /// <value>The <see cref="Output"/> for finding source line information.</value>
45 public Output Output 45 public WindowsInstallerData Output
46 { 46 {
47 get { return this.output; } 47 get { return this.output; }
48 set { this.output = value; } 48 set { this.output = value; }
diff --git a/src/WixToolset.Core/ExtensibilityServices/WindowsInstallerBackendHelper.cs b/src/WixToolset.Core/ExtensibilityServices/WindowsInstallerBackendHelper.cs
index 26982ad6..a99f5c7a 100644
--- a/src/WixToolset.Core/ExtensibilityServices/WindowsInstallerBackendHelper.cs
+++ b/src/WixToolset.Core/ExtensibilityServices/WindowsInstallerBackendHelper.cs
@@ -9,9 +9,9 @@ namespace WixToolset.Core.ExtensibilityServices
9 9
10 internal class WindowsInstallerBackendHelper : IWindowsInstallerBackendHelper 10 internal class WindowsInstallerBackendHelper : IWindowsInstallerBackendHelper
11 { 11 {
12 public bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, Output output, TableDefinition[] tableDefinitions) => this.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, tableDefinitions, false); 12 public bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, TableDefinition[] tableDefinitions) => this.TryAddTupleToOutputMatchingTableDefinitions(tuple, output, tableDefinitions, false);
13 13
14 public bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, Output output, TableDefinition[] tableDefinitions, bool columnZeroIsId) 14 public bool TryAddTupleToOutputMatchingTableDefinitions(IntermediateTuple tuple, WindowsInstallerData output, TableDefinition[] tableDefinitions, bool columnZeroIsId)
15 { 15 {
16 var tableDefinition = tableDefinitions.FirstOrDefault(t => t.Name == tuple.Definition.Name); 16 var tableDefinition = tableDefinitions.FirstOrDefault(t => t.Name == tuple.Definition.Name);
17 17
diff --git a/src/test/Example.Extension/ExampleWindowsInstallerBackendExtension.cs b/src/test/Example.Extension/ExampleWindowsInstallerBackendExtension.cs
index c5aeadba..d6741bc1 100644
--- a/src/test/Example.Extension/ExampleWindowsInstallerBackendExtension.cs
+++ b/src/test/Example.Extension/ExampleWindowsInstallerBackendExtension.cs
@@ -8,7 +8,7 @@ namespace Example.Extension
8 8
9 internal class ExampleWindowsInstallerBackendExtension : BaseWindowsInstallerBackendBinderExtension 9 internal class ExampleWindowsInstallerBackendExtension : BaseWindowsInstallerBackendBinderExtension
10 { 10 {
11 public override bool TryAddTupleToOutput(IntermediateTuple tuple, Output output) 11 public override bool TryAddTupleToOutput(IntermediateTuple tuple, WindowsInstallerData output)
12 { 12 {
13#if ALTERNATIVE_TO_USING_HELPER 13#if ALTERNATIVE_TO_USING_HELPER
14 switch (tuple.Definition.Name) 14 switch (tuple.Definition.Name)
diff --git a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs
index 1be60587..21b6e9ce 100644
--- a/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs
+++ b/src/test/WixToolsetTest.CoreIntegration/MsiFixture.cs
@@ -312,7 +312,7 @@ namespace WixToolsetTest.CoreIntegration
312 var pdbPath = Path.Combine(intermediateFolder, @"bin\test.wixpdb"); 312 var pdbPath = Path.Combine(intermediateFolder, @"bin\test.wixpdb");
313 Assert.True(File.Exists(pdbPath)); 313 Assert.True(File.Exists(pdbPath));
314 314
315 var output = Output.Load(pdbPath, suppressVersionCheck: true); 315 var output = WindowsInstallerData.Load(pdbPath, suppressVersionCheck: true);
316 Assert.NotNull(output); 316 Assert.NotNull(output);
317 } 317 }
318 } 318 }
@@ -700,7 +700,7 @@ namespace WixToolsetTest.CoreIntegration
700 700
701 result.AssertSuccess(); 701 result.AssertSuccess();
702 702
703 var output = Output.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"), false); 703 var output = WindowsInstallerData.Load(Path.Combine(baseFolder, @"bin\test.wixpdb"), false);
704 var caRows = output.Tables["CustomAction"].Rows.Single(); 704 var caRows = output.Tables["CustomAction"].Rows.Single();
705 Assert.Equal("SetINSTALLLOCATION", caRows.FieldAsString(0)); 705 Assert.Equal("SetINSTALLLOCATION", caRows.FieldAsString(0));
706 Assert.Equal("51", caRows.FieldAsString(1)); 706 Assert.Equal("51", caRows.FieldAsString(1));
@@ -776,7 +776,7 @@ namespace WixToolsetTest.CoreIntegration
776 776
777 result.AssertSuccess(); 777 result.AssertSuccess();
778 778
779 var output = Output.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"), false); 779 var output = WindowsInstallerData.Load(Path.Combine(intermediateFolder, @"bin\test.wixpdb"), false);
780 Assert.NotEmpty(output.SubStorages); 780 Assert.NotEmpty(output.SubStorages);
781 } 781 }
782 } 782 }