@joebigelow / wix-1 / commits / bf187ab3

Sync tables.xml with tuple definitions.

Sean Hall committed Apr 11, 2020 at 15:35 UTC bf187ab399db33b40fc3de8ac9b1e2a82cc47a19
2 files changed +62 -70
src/WixToolset.Core.WindowsInstaller/Bind/CreateOutputFromIRCommand.cs
+7 -15
@@ -124,10 +124,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
124 this.AddMsiEmbeddedUITuple((MsiEmbeddedUITuple)tuple);
125 break;
126
127 - case TupleDefinitionType.MsiFileHash:
128 - this.AddMsiFileHashTuple((MsiFileHashTuple)tuple);
129 - break;
130 -
127 case TupleDefinitionType.MsiServiceConfig:
128 this.AddMsiServiceConfigTuple((MsiServiceConfigTuple)tuple);
129 break;
@@ -517,6 +513,13 @@ namespace WixToolset.Core.WindowsInstaller.Bind
513 fontRow[0] = tuple.Id.Id;
514 fontRow[1] = tuple.FontTitle;
515 }
516 +
517 + if (tuple.SelfRegCost.HasValue)
518 + {
519 + var selfRegRow = this.CreateRow(tuple, "SelfReg");
520 + selfRegRow[0] = tuple.Id.Id;
521 + selfRegRow[1] = tuple.SelfRegCost.Value;
522 + }
523 }
524
525 private void AddIniFileTuple(IniFileTuple tuple)
@@ -577,17 +580,6 @@ namespace WixToolset.Core.WindowsInstaller.Bind
580 row[4] = tuple.Source;
581 }
582
580 - private void AddMsiFileHashTuple(MsiFileHashTuple tuple)
581 - {
582 - var row = this.CreateRow(tuple, "MsiFileHash");
583 - row[0] = tuple.Id.Id;
584 - row[1] = tuple.Options;
585 - row[2] = tuple.HashPart1;
586 - row[3] = tuple.HashPart2;
587 - row[4] = tuple.HashPart3;
588 - row[5] = tuple.HashPart4;
589 - }
590 -
583 private void AddMsiServiceConfigTuple(MsiServiceConfigTuple tuple)
584 {
585 var events = tuple.OnInstall ? WindowsInstallerConstants.MsidbServiceConfigEventInstall : 0;
src/WixToolset.Core.WindowsInstaller/Data/tables.xml
+55 -55
@@ -11,7 +11,7 @@
11 <columnDefinition name="Template" type="localized" length="0" nullable="yes" escapeIdtCharacters="yes" modularize="property"
12 category="template" description="Optional localized format template used to format action data records for display during action execution."/>
13 </tableDefinition>
14 - <tableDefinition name="AdminExecuteSequence">
14 + <tableDefinition name="AdminExecuteSequence" tupleless="yes">
15 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
16 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
17 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
@@ -27,7 +27,7 @@
27 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
28 category="condition" description="Expression evaluated to determine if Level in the Feature table is to change."/>
29 </tableDefinition>
30 - <tableDefinition name="AdminUISequence">
30 + <tableDefinition name="AdminUISequence" tupleless="yes">
31 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
32 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
33 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
@@ -35,7 +35,7 @@
35 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
36 minValue="-4" maxValue="32767" description="Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."/>
37 </tableDefinition>
38 - <tableDefinition name="AdvtExecuteSequence">
38 + <tableDefinition name="AdvtExecuteSequence" tupleless="yes">
39 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
40 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
41 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
@@ -43,7 +43,7 @@
43 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
44 minValue="-4" maxValue="32767" description="Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."/>
45 </tableDefinition>
46 - <tableDefinition name="AdvtUISequence">
46 + <tableDefinition name="AdvtUISequence" tupleless="yes">
47 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
48 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
49 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
@@ -133,7 +133,7 @@
133 <columnDefinition name="Data" type="object" length="0"
134 category="binary" description="The unformatted binary data."/>
135 </tableDefinition>
136 - <tableDefinition name="BindImage">
136 + <tableDefinition name="BindImage" tupleless="yes">
137 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
138 keyTable="File" keyColumn="1" category="identifier" description="The index into the File table. This must be an executable file."/>
139 <columnDefinition name="Path" type="string" length="255" nullable="yes" modularize="property"
@@ -161,7 +161,7 @@
161 <columnDefinition name="Source" type="object" length="0" unreal="yes"
162 category="binary" description="Path to source of file."/>
163 </tableDefinition>
164 - <tableDefinition name="CCPSearch">
164 + <tableDefinition name="CCPSearch" tupleIdIsPrimaryKey="yes">
165 <columnDefinition name="Signature_" type="string" length="72" primaryKey="yes"
166 keyTable="Signature;RegLocator;IniLocator;DrLocator;CompLocator" keyColumn="1" category="identifier" description="The Signature_ represents a unique file signature and is also the foreign key in the Signature, RegLocator, IniLocator, CompLocator and the DrLocator tables."/>
167 </tableDefinition>
@@ -387,7 +387,7 @@
387 <columnDefinition name="Component_" type="string" length="72" modularize="column"
388 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table referencing component that controls the installing of the environmental value."/>
389 </tableDefinition>
390 - <tableDefinition name="Error" createSymbols="yes">
390 + <tableDefinition name="Error" createSymbols="yes" tupleIdIsPrimaryKey="yes">
391 <columnDefinition name="Error" type="number" length="2" primaryKey="yes"
392 minValue="0" maxValue="32767" description="Integer error number, obtained from header file IError(...) macros."/>
393 <columnDefinition name="Message" type="localized" length="0" nullable="yes" escapeIdtCharacters="yes" useCData="yes" modularize="property"
@@ -443,7 +443,7 @@
443 <columnDefinition name="Dependency" type="string" length="0" nullable="yes" modularize="property"
444 category="formatted" description="Parent catalog - only used by SFP"/>
445 </tableDefinition>
446 - <tableDefinition name="Font">
446 + <tableDefinition name="Font" tupleless="yes">
447 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
448 keyTable="File" keyColumn="1" category="identifier" description="Primary key, foreign key into File table referencing font file."/>
449 <columnDefinition name="FontTitle" type="string" length="128" nullable="yes"
@@ -481,7 +481,7 @@
481 <columnDefinition name="Type" type="number" length="2" nullable="yes"
482 minValue="0" maxValue="2" description="An integer value that determines if the .INI value read is a filename or a directory location or to be used as is w/o interpretation."/>
483 </tableDefinition>
484 - <tableDefinition name="InstallExecuteSequence">
484 + <tableDefinition name="InstallExecuteSequence" tupleless="yes">
485 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
486 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
487 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
@@ -489,7 +489,7 @@
489 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
490 minValue="-4" maxValue="32767" description="Number that determines the sort order in which the actions are to be executed. Leave blank to suppress action."/>
491 </tableDefinition>
492 - <tableDefinition name="InstallUISequence">
492 + <tableDefinition name="InstallUISequence" tupleless="yes">
493 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"
494 category="identifier" description="Name of action to invoke, either in the engine or the handler DLL."/>
495 <columnDefinition name="Condition" type="string" length="255" nullable="yes" localizable="yes"
@@ -585,7 +585,7 @@
585 <columnDefinition name="Options" type="number" length="2"
586 minValue="0" maxValue="1" description="Integer value specifying the MoveFile operating mode, one of imfoEnum"/>
587 </tableDefinition>
588 - <tableDefinition name="MsiAssembly">
588 + <tableDefinition name="MsiAssembly" tupleDefinitionName="Assembly">
589 <columnDefinition name="Component_" type="string" length="72" primaryKey="yes" modularize="column"
590 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into Component table."/>
591 <columnDefinition name="Feature_" type="string" length="38"
@@ -645,7 +645,7 @@
645 <columnDefinition name="Data" type="object" length="0"
646 category="binary" description="This column contains binary information."/>
647 </tableDefinition>
648 - <tableDefinition name="MsiFileHash">
648 + <tableDefinition name="MsiFileHash" tupleIdIsPrimaryKey="yes">
649 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
650 keyTable="File" keyColumn="1" category="identifier" description="Primary key, foreign key into File table referencing file with this hash"/>
651 <columnDefinition name="Options" type="number" length="2"
@@ -671,7 +671,7 @@
671 <columnDefinition name="DigitalCertificate_" type="string" length="72" primaryKey="yes"
672 keyTable="MsiDigitalCertificate" keyColumn="1" category="identifier" description="Foreign key to MsiDigitalCertificate table identifying the signer certificate."/>
673 </tableDefinition>
674 - <tableDefinition name="MsiPatchHeaders">
674 + <tableDefinition name="MsiPatchHeaders" tupleIdIsPrimaryKey="no">
675 <columnDefinition name="StreamRef" type="string" length="38" primaryKey="yes"
676 category="identifier" description="Primary key. A unique identifier for the row."/>
677 <columnDefinition name="Header" type="object" length="0"
@@ -845,7 +845,7 @@
845 <columnDefinition name="Component_" type="string" length="72" modularize="column"
846 keyTable="Component" keyColumn="1" category="identifier" description="Foreign key into the Component table referencing component that controls the installing of the registry value."/>
847 </tableDefinition>
848 - <tableDefinition name="RegLocator" createSymbols="yes">
848 + <tableDefinition name="RegLocator" createSymbols="yes" tupleIdIsPrimaryKey="yes">
849 <columnDefinition name="Signature_" type="string" length="72" primaryKey="yes" modularize="column"
850 category="identifier" description="The table key. The Signature_ represents a unique file signature and is also the foreign key in the Signature table. If the type is 0, the registry values refers a directory, and _Signature is not a foreign key."/>
851 <columnDefinition name="Root" type="number" length="2"
@@ -869,7 +869,7 @@
869 <columnDefinition name="InstallMode" type="number" length="2"
870 set="1;2;3" description="Installation option, one of iimEnum."/>
871 </tableDefinition>
872 - <tableDefinition name="RemoveIniFile">
872 + <tableDefinition name="RemoveIniFile" tupleless="yes">
873 <columnDefinition name="RemoveIniFile" type="string" length="72" primaryKey="yes" modularize="column"
874 category="identifier" description="Primary key, non-localized token."/>
875 <columnDefinition name="FileName" type="localized" length="255"
@@ -911,7 +911,7 @@
911 <columnDefinition name="ReserveSource" type="number" length="4"
912 minValue="0" maxValue="2147483647" description="Disk space to reserve if linked component is installed to run from the source location."/>
913 </tableDefinition>
914 - <tableDefinition name="SelfReg">
914 + <tableDefinition name="SelfReg" tupleless="yes">
915 <columnDefinition name="File_" type="string" length="72" primaryKey="yes" modularize="column"
916 keyTable="File" keyColumn="1" category="identifier" description="Foreign key into the File table denoting the module that needs to be registered."/>
917 <columnDefinition name="Cost" type="number" length="2" nullable="yes"
@@ -1122,7 +1122,7 @@
1122 category="formatted" description="Optional value for the command arguments."/>
1123 </tableDefinition>
1124 <!-- Merge Module -->
1125 - <tableDefinition name="ModuleAdminExecuteSequence">
1125 + <tableDefinition name="ModuleAdminExecuteSequence" tupleless="yes">
1126 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1127 category="identifier" description="Action to insert"/>
1128 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
@@ -1134,7 +1134,7 @@
1134 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1135 category="condition"/>
1136 </tableDefinition>
1137 - <tableDefinition name="ModuleAdminUISequence">
1137 + <tableDefinition name="ModuleAdminUISequence" tupleless="yes">
1138 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1139 category="identifier" description="Action to insert"/>
1140 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
@@ -1146,7 +1146,7 @@
1146 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1147 category="condition"/>
1148 </tableDefinition>
1149 - <tableDefinition name="ModuleAdvtExecuteSequence">
1149 + <tableDefinition name="ModuleAdvtExecuteSequence" tupleless="yes">
1150 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1151 category="identifier" description="Action to insert"/>
1152 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
@@ -1158,7 +1158,7 @@
1158 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1159 category="condition"/>
1160 </tableDefinition>
1161 - <tableDefinition name="ModuleAdvtUISequence">
1161 + <tableDefinition name="ModuleAdvtUISequence" tupleless="yes">
1162 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1163 category="identifier" description="Action to insert"/>
1164 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
@@ -1238,7 +1238,7 @@
1238 <columnDefinition name="Table" type="string" length="72" primaryKey="yes"
1239 category="identifier" description="Table name to ignore during merge operation."/>
1240 </tableDefinition>
1241 - <tableDefinition name="ModuleInstallExecuteSequence">
1241 + <tableDefinition name="ModuleInstallExecuteSequence" tupleless="yes">
1242 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1243 category="identifier" description="Action to insert"/>
1244 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
@@ -1250,7 +1250,7 @@
1250 <columnDefinition name="Condition" type="string" length="255" nullable="yes" modularize="condition" localizable="yes"
1251 category="condition"/>
1252 </tableDefinition>
1253 - <tableDefinition name="ModuleInstallUISequence">
1253 + <tableDefinition name="ModuleInstallUISequence" tupleless="yes">
1254 <columnDefinition name="Action" type="string" length="64" primaryKey="yes" modularize="column"
1255 category="identifier" description="Action to insert"/>
1256 <columnDefinition name="Sequence" type="number" length="2" nullable="yes"
@@ -1389,7 +1389,7 @@
1389 <columnDefinition name="After" type="string" length="72" nullable="yes"/>
1390 <columnDefinition name="Overridable" type="number" length="2" nullable="yes"/>
1391 </tableDefinition>
1392 - <tableDefinition name="WixBBControl" createSymbols="yes" unreal="yes">
1392 + <tableDefinition name="WixBBControl" createSymbols="yes" unreal="yes" tupleless="yes">
1393 <columnDefinition name="Billboard_" type="string" length="50" primaryKey="yes" modularize="column"/>
1394 <columnDefinition name="BBControl_" type="string" length="50" primaryKey="yes"/>
1395 <columnDefinition name="SourceFile" type="object" length="0"/>
@@ -1405,7 +1405,7 @@
1405 <tableDefinition name="WixComponentGroup" createSymbols="yes" unreal="yes">
1406 <columnDefinition name="WixComponentGroup" type="string" length="0" primaryKey="yes"/>
1407 </tableDefinition>
1408 - <tableDefinition name="WixControl" unreal="yes">
1408 + <tableDefinition name="WixControl" unreal="yes" tupleless="yes">
1409 <columnDefinition name="Dialog_" type="string" length="72" primaryKey="yes" modularize="column"/>
1410 <columnDefinition name="Control_" type="string" length="50" primaryKey="yes"/>
1411 <columnDefinition name="SourceFile" type="object" length="0"/>
@@ -1414,7 +1414,7 @@
1414 <columnDefinition name="Table" type="string" length="62"/>
1415 <columnDefinition name="FieldData" type="string" length="0"/>
1416 </tableDefinition>
1417 - <tableDefinition name="WixCustomTable" createSymbols="yes" unreal="yes">
1417 + <tableDefinition name="WixCustomTable" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1418 <columnDefinition name="Table" type="string" length="62" primaryKey="yes"/>
1419 <columnDefinition name="ColumnCount" type="number" length="2"/>
1420 <columnDefinition name="ColumnNames" type="string" length="0"/>
@@ -1430,14 +1430,14 @@
1430 <columnDefinition name="Modularizations" type="string" length="0"/>
1431 <columnDefinition name="BootstrapperApplicationData" type="number" length="2"/>
1432 </tableDefinition>
1433 - <tableDefinition name="WixDirectory" unreal="yes">
1433 + <tableDefinition name="WixDirectory" unreal="yes" tupleless="yes">
1434 <columnDefinition name="Directory_" type="string" length="0" primaryKey="yes" modularize="column"/>
1435 <columnDefinition name="ComponentGuidGenerationSeed" type="string" length="38" nullable="yes"/>
1436 </tableDefinition>
1437 <tableDefinition name="WixEnsureTable" unreal="yes">
1438 <columnDefinition name="Table" type="string" length="31"/>
1439 </tableDefinition>
1440 - <tableDefinition name="WixFeatureGroup" createSymbols="yes" unreal="yes">
1440 + <tableDefinition name="WixFeatureGroup" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1441 <columnDefinition name="WixFeatureGroup" type="string" length="0" primaryKey="yes"/>
1442 </tableDefinition>
1443 <tableDefinition name="WixPatchFamilyGroup" createSymbols="yes" unreal="yes">
@@ -1457,7 +1457,7 @@
1457 <columnDefinition name="Feature_" type="string" length="38" primaryKey="yes"/>
1458 <columnDefinition name="WixMerge_" type="string" length="72" primaryKey="yes"/>
1459 </tableDefinition>
1460 - <tableDefinition name="WixFile" unreal="yes">
1460 + <tableDefinition name="WixFile" unreal="yes" tupleless="yes">
1461 <columnDefinition name="File_" type="string" length="0" category="identifier" primaryKey="yes"
1462 modularize="column" keyTable="File" keyColumn="1" />
1463 <columnDefinition name="AssemblyType" type="number" length="2" minValue="0" maxValue="1" />
@@ -1487,20 +1487,20 @@
1487 <columnDefinition name="WixPdbFile" type="string" length="0" nullable="yes" escapeIdtCharacters="yes"
1488 category="text" description="Path to .wixpdb file, if supplied."/>
1489 </tableDefinition>
1490 - <tableDefinition name="WixFragment" createSymbols="yes" unreal="yes">
1490 + <tableDefinition name="WixFragment" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1491 <columnDefinition name="WixFragment" type="string" length="0" primaryKey="yes"/>
1492 </tableDefinition>
1493 <tableDefinition name="WixInstanceComponent" unreal="yes">
1494 <columnDefinition name="Component_" type="string" length="0" primaryKey="yes" modularize="column"/>
1495 </tableDefinition>
1496 - <tableDefinition name="WixInstanceTransforms" unreal="yes" createSymbols="yes">
1496 + <tableDefinition name="WixInstanceTransforms" unreal="yes" createSymbols="yes" tupleIdIsPrimaryKey="yes">
1497 <columnDefinition name="Id" type="string" length="0" primaryKey="yes"/>
1498 <columnDefinition name="PropertyId" type="string" length="0"/>
1499 <columnDefinition name="ProductCode" type="string" length="0" category="guid"/>
1500 <columnDefinition name="ProductName" type="localized" localizable="yes" length="0" nullable="yes"/>
1501 <columnDefinition name="UpgradeCode" type="string" length="38" category="guid" nullable="yes"/>
1502 </tableDefinition>
1503 - <tableDefinition name="WixMedia" unreal="yes">
1503 + <tableDefinition name="WixMedia" unreal="yes" tupleless="yes">
1504 <columnDefinition name="DiskId_" type="number" length="2" primaryKey="yes"/>
1505 <columnDefinition name="CompressionLevel" type="number" length="2" nullable="yes" minValue="0" maxValue="4" />
1506 <columnDefinition name="Layout" type="string" length="0" nullable="yes"/>
@@ -1513,7 +1513,7 @@
1513 <columnDefinition name="MaximumUncompressedMediaSize" type="number" length="4" />
1514 <columnDefinition name="MaximumCabinetSizeForLargeFileSplitting" type="number" length="4" />
1515 </tableDefinition>
1516 - <tableDefinition name="WixMerge" createSymbols="yes" unreal="yes">
1516 + <tableDefinition name="WixMerge" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1517 <columnDefinition name="WixMerge" type="string" length="72" primaryKey="yes"/>
1518 <columnDefinition name="Language" type="number" length="2" localizable="yes"/>
1519 <columnDefinition name="Directory_" type="string" nullable="yes" length="72"/>
@@ -1558,7 +1558,7 @@
1558 <columnDefinition name="SequenceTable" type="string" length="72" primaryKey="yes"/>
1559 <columnDefinition name="Action" type="string" length="72" primaryKey="yes"/>
1560 </tableDefinition>
1561 - <tableDefinition name="WixSuppressModularization" unreal="yes">
1561 + <tableDefinition name="WixSuppressModularization" unreal="yes" tupleIdIsPrimaryKey="yes">
1562 <columnDefinition name="WixSuppressModularization" type="string" length="72"/>
1563 </tableDefinition>
1564 <tableDefinition name="WixPatchBaseline" unreal="yes">
@@ -1571,7 +1571,7 @@
1571 <columnDefinition name="Table" type="string" length="32"/>
1572 <columnDefinition name="PrimaryKeys" type="string" length="0"/>
1573 </tableDefinition>
1574 - <tableDefinition name="WixPatchId" unreal="yes">
1574 + <tableDefinition name="WixPatchId" unreal="yes" tupleIdIsPrimaryKey="yes">
1575 <columnDefinition name="ProductCode" type="string" length="38" nullable="no"/>
1576 <columnDefinition name="ClientPatchId" type="string" length="72" nullable="no"/>
1577 <columnDefinition name="OptimizePatchSizeForLargeFiles" type="number" length="2" nullable="yes"
@@ -1582,14 +1582,14 @@
1582 <tableDefinition name="WixPatchTarget" unreal="yes">
1583 <columnDefinition name="ProductCode" type="string" length="38" nullable="no" />
1584 </tableDefinition>
1585 - <tableDefinition name="WixPatchMetadata" unreal="yes">
1585 + <tableDefinition name="WixPatchMetadata" unreal="yes" tupleless="yes">
1586 <columnDefinition name="Property" type="string" length="72" primaryKey="yes"/>
1587 <columnDefinition name="Value" type="localized" length="0"/>
1588 </tableDefinition>
1589 - <tableDefinition name="WixUI" createSymbols="yes" unreal="yes">
1589 + <tableDefinition name="WixUI" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1590 <columnDefinition name="WixUI" type="string" length="0" primaryKey="yes"/>
1591 </tableDefinition>
1592 - <tableDefinition name="WixVariable" unreal="yes">
1592 + <tableDefinition name="WixVariable" unreal="yes" tupleIdIsPrimaryKey="yes">
1593 <columnDefinition name="WixVariable" type="string" length="0"/>
1594 <columnDefinition name="Value" type="localized" length="0" nullable="yes"/>
1595 <columnDefinition name="Attributes" type="number" length="4"/>
@@ -1694,7 +1694,7 @@
1694 <tableDefinition name="WixChainItem" createSymbols="yes" unreal="yes">
1695 <columnDefinition name="Id" type="string" length="0" category="identifier" primaryKey="yes"/>
1696 </tableDefinition>
1697 - <tableDefinition name="WixBundleRollbackBoundary" createSymbols="yes" unreal="yes">
1697 + <tableDefinition name="WixBundleRollbackBoundary" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1698 <columnDefinition name="WixChainItem_" type="string" length="0" category="identifier" primaryKey="yes"
1699 keyTable="WixChainItem" keyColumn="1" description="Reference to a WixChainItem entry in the WixChainItem table."/>
1700 <columnDefinition name="Vital" type="number" length="2" nullable="yes" minValue="0" maxValue="1"/>
@@ -1703,7 +1703,7 @@
1703 <tableDefinition name="WixBundlePackageGroup" createSymbols="yes" unreal="yes">
1704 <columnDefinition name="WixBundlePackageGroup" type="string" length="0" category="identifier" primaryKey="yes"/>
1705 </tableDefinition>
1706 - <tableDefinition name="WixBundlePackage" createSymbols="yes" unreal="yes">
1706 + <tableDefinition name="WixBundlePackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1707 <columnDefinition name="WixChainItem_" type="string" length="0" category="identifier" primaryKey="yes"
1708 keyTable="WixChainItem" keyColumn="1" description="Reference to a WixChainItem entry in the WixChainItem table."/>
1709 <columnDefinition name="Type" type="number" length="2" minValue="0" maxValue="3" />
@@ -1729,7 +1729,7 @@
1729 keyTable="WixBundleRollbackBoundary" keyColumn="1" description="Reference to a rollback boundary entry in the WixBundleRollbackBoundary table."/>
1730 <columnDefinition name="x64" type="number" length="2" nullable="yes" minValue="0" maxValue="1"/>
1731 </tableDefinition>
1732 - <tableDefinition name="WixBundleExePackage" createSymbols="yes" unreal="yes">
1732 + <tableDefinition name="WixBundleExePackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1733 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1734 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1735 <columnDefinition name="Attributes" type="number" length="4" nullable="no" minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the attribute flags to be applied to this MSI package."/>
@@ -1739,7 +1739,7 @@
1739 <columnDefinition name="UninstallCommand" type="string" length="0" nullable="yes"/>
1740 <columnDefinition name="ExeProtocol" type="string" length="0" nullable="yes"/>
1741 </tableDefinition>
1742 - <tableDefinition name="WixBundleMsiPackage" createSymbols="yes" unreal="yes">
1742 + <tableDefinition name="WixBundleMsiPackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1743 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1744 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1745 <columnDefinition name="Attributes" type="number" length="4" nullable="no" minValue="0" maxValue="2147483647" description="A 32-bit word that specifies the attribute flags to be applied to this MSI package."/>
@@ -1750,7 +1750,7 @@
1750 <columnDefinition name="ProductName" type="string" length="0" />
1751 <columnDefinition name="Manufacturer" type="string" length="0" nullable="yes" />
1752 </tableDefinition>
1753 - <tableDefinition name="WixBundleMspPackage" createSymbols="yes" unreal="yes">
1753 + <tableDefinition name="WixBundleMspPackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1754 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1755 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1756 <columnDefinition name="Attributes" type="number" length="2" nullable="yes" minValue="0" maxValue="1" />
@@ -1758,7 +1758,7 @@
1758 <columnDefinition name="Manufacturer" type="string" length="0" nullable="yes" />
1759 <columnDefinition name="PatchXml" type="string" length="0" nullable="yes" />
1760 </tableDefinition>
1761 - <tableDefinition name="WixBundleMsuPackage" createSymbols="yes" unreal="yes">
1761 + <tableDefinition name="WixBundleMsuPackage" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1762 <columnDefinition name="WixBundlePackage_" type="string" length="0" category="identifier" primaryKey="yes"
1763 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1764 <columnDefinition name="DetectCondition" type="string" length="0" nullable="yes"/>
@@ -1827,7 +1827,7 @@
1827 <columnDefinition name="Hidden" type="number" length="2" minValue="0" maxValue="1"/>
1828 <columnDefinition name="Persisted" type="number" length="2" minValue="0" maxValue="1"/>
1829 </tableDefinition>
1830 - <tableDefinition name="WixBundleProperties" unreal="yes" bootstrapperApplicationData="yes">
1830 + <tableDefinition name="WixBundleProperties" unreal="yes" bootstrapperApplicationData="yes" tupleless="yes">
1831 <columnDefinition name="DisplayName" type="string" length="0" nullable="yes"/>
1832 <columnDefinition name="LogPathVariable" type="string" length="0" nullable="yes"/>
1833 <columnDefinition name="Compressed" type="string" length="0" nullable="yes"/>
@@ -1835,7 +1835,7 @@
1835 <columnDefinition name="UpgradeCode" type="string" length="0" nullable="yes"/>
1836 <columnDefinition name="PerMachine" type="string" length="0" nullable="yes"/>
1837 </tableDefinition>
1838 - <tableDefinition name="WixPackageFeatureInfo" unreal="yes" bootstrapperApplicationData="yes">
1838 + <tableDefinition name="WixPackageFeatureInfo" unreal="yes" bootstrapperApplicationData="yes" tupleless="yes">
1839 <columnDefinition name="Package" type="string" length="0" />
1840 <columnDefinition name="Feature" type="string" length="0" />
1841 <columnDefinition name="Size" type="string" length="0" />
@@ -1847,7 +1847,7 @@
1847 <columnDefinition name="Directory" type="string" length="0" nullable="yes"/>
1848 <columnDefinition name="Attributes" type="string" length="0" />
1849 </tableDefinition>
1850 - <tableDefinition name="WixPackageProperties" unreal="yes" bootstrapperApplicationData="yes">
1850 + <tableDefinition name="WixPackageProperties" unreal="yes" bootstrapperApplicationData="yes" tupleless="yes">
1851 <columnDefinition name="Package" type="string" length="0" category="identifier" primaryKey="yes"
1852 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
1853 <columnDefinition name="Vital" type="string" length="0" nullable="yes" minValue="0" maxValue="1" />
@@ -1868,7 +1868,7 @@
1868 <columnDefinition name="InstallCondition" type="string" length="0" nullable="yes" />
1869 <columnDefinition name="Cache" type="string" length="0" nullable="yes" minValue="0" maxValue="2" />
1870 </tableDefinition>
1871 - <tableDefinition name="WixPayloadProperties" unreal="yes" bootstrapperApplicationData="yes">
1871 + <tableDefinition name="WixPayloadProperties" unreal="yes" bootstrapperApplicationData="yes" tupleless="yes">
1872 <columnDefinition name="Payload" type="string" length="0" category="identifier" primaryKey="yes" />
1873 <columnDefinition name="Package" type="string" length="0" category="identifier" primaryKey="yes" nullable="yes"
1874 keyTable="WixBundlePackage" keyColumn="1" description="Reference to a chain package entry in the WixBundlePackage table."/>
@@ -1879,7 +1879,7 @@
1879 <columnDefinition name="DownloadUrl" type="string" length="0" nullable="yes" />
1880 <columnDefinition name="LayoutOnly" type="string" length="3" nullable="no" />
1881 </tableDefinition>
1882 - <tableDefinition name="_Streams" unreal="yes">
1882 + <tableDefinition name="_Streams" unreal="yes" tupleless="yes">
1883 <columnDefinition name="Name" type="string" length="62" primaryKey="yes"/>
1884 <columnDefinition name="Data" type="object" length="0" nullable="yes"/>
1885 </tableDefinition>
@@ -1887,14 +1887,14 @@
1887 <columnDefinition name="PropertyId" type="number" length="2" primaryKey="yes"/>
1888 <columnDefinition name="Value" type="localized" length="255" escapeIdtCharacters="yes"/>
1889 </tableDefinition>
1890 - <tableDefinition name="_TransformView" unreal="yes">
1890 + <tableDefinition name="_TransformView" unreal="yes" tupleless="yes">
1891 <columnDefinition name="Table" type="string" length="0" primaryKey="yes"/>
1892 <columnDefinition name="Column" type="string" length="0" primaryKey="yes"/>
1893 <columnDefinition name="Row" type="string" length="0"/>
1894 <columnDefinition name="Data" type="string" length="0"/>
1895 <columnDefinition name="Current" type="string" length="0"/>
1896 </tableDefinition>
1897 - <tableDefinition name="_Validation">
1897 + <tableDefinition name="_Validation" tupleless="yes">
1898 <columnDefinition name="Table" type="string" length="32" primaryKey="yes"
1899 category="identifier" description="Name of table"/>
1900 <columnDefinition name="Column" type="string" length="32" primaryKey="yes"
@@ -1922,14 +1922,14 @@
1922 <columnDefinition name="Variable" type="string" length="72" category="identifier" nullable="yes" />
1923 <columnDefinition name="Condition" type="string" length="255" category="condition" nullable="yes" />
1924 </tableDefinition>
1925 - <tableDefinition name="WixSearchRelation" createSymbols="yes" unreal="yes">
1925 + <tableDefinition name="WixSearchRelation" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1926 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1927 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1928 <columnDefinition name="ParentId_" type="string" length="72" category="identifier" primaryKey="yes"
1929 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1930 <columnDefinition name="Attributes" type="number" length="4" category="doubleInteger" />
1931 </tableDefinition>
1932 - <tableDefinition name="WixFileSearch" createSymbols="yes" unreal="yes">
1932 + <tableDefinition name="WixFileSearch" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1933 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1934 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1935 <columnDefinition name="Path" type="string" category="text" length="255" />
@@ -1942,7 +1942,7 @@
1942 <columnDefinition name="Languages" type="string" category="text" length="0" nullable="yes" />
1943 <columnDefinition name="Attributes" type="number" length="4" category="doubleInteger" />
1944 </tableDefinition>
1945 - <tableDefinition name="WixRegistrySearch" createSymbols="yes" unreal="yes">
1945 + <tableDefinition name="WixRegistrySearch" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1946 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1947 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1948 <columnDefinition name="Root" type="number" length="2" category="doubleInteger" />
@@ -1950,14 +1950,14 @@
1950 <columnDefinition name="Value" type="string" category="text" length="255" nullable="yes" />
1951 <columnDefinition name="Attributes" type="number" length="4" category="doubleInteger" />
1952 </tableDefinition>
1953 - <tableDefinition name="WixComponentSearch" createSymbols="yes" unreal="yes">
1953 + <tableDefinition name="WixComponentSearch" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1954 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1955 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1956 <columnDefinition name="Guid" type="string" length="38" category="guid" />
1957 <columnDefinition name="ProductCode" type="string" length="38" category="guid" nullable="yes" />
1958 <columnDefinition name="Attributes" type="number" length="4" category="doubleInteger" />
1959 </tableDefinition>
1960 - <tableDefinition name="WixProductSearch" createSymbols="yes" unreal="yes">
1960 + <tableDefinition name="WixProductSearch" createSymbols="yes" unreal="yes" tupleIdIsPrimaryKey="yes">
1961 <columnDefinition name="WixSearch_" type="string" length="72" category="identifier" primaryKey="yes"
1962 keyTable="WixSearch" keyColumn="1" description="Reference to a WixSearch entry in the WixSearch table."/>
1963 <columnDefinition name="Guid" type="string" length="38" category="guid" />