'<script language='VBScript'>
' witables.inc - Windows Installer table definitions
'
'  1999/12/31 - created - Rob Mensching (robmen@microsoft.com)
'
' requires:
'    none
'
' entrypoints:
'    none
'

'--------------------------------------------------------'
' Boolean attribute to bit translation
'--------------------------------------------------------'
Dim dialogAttributes : dialogAttributes = Array("Hidden","Modeless","NoMinimize","SystemModal","KeepModeless","TrackDiskSpace","CustomPalette","RightToLeft","RightAligned","LeftScroll")
Dim   commonControlAttributes :   commonControlAttributes = Array("Hidden","Disabled","Sunken","Indirect","Integer","RightToLeft","RightAligned","LeftScroll")
Dim     textControlAttributes :     textControlAttributes = Array("Transparent","NoPrefix","NoWrap","FormatSize","UserLanguage")
Dim     editControlAttributes :     editControlAttributes = Array("Multiline", Empty, Empty, Empty,    Empty, "Password")
Dim progressControlAttributes : progressControlAttributes = Array("ProgressBlocks")
Dim   volumeControlAttributes :   volumeControlAttributes = Array("Removable","Fixed","Remote","CDROM","RAMDisk","Floppy","ShowRollbackCost")
Dim  listboxControlAttributes :  listboxControlAttributes = Array("Sorted")
Dim listviewControlAttributes : listviewControlAttributes = Array("Sorted",Empty    , Empty  , Empty, "FixedSize","Icon16","Icon32")
Dim comboboxControlAttributes : comboboxControlAttributes = Array("Sorted","ComboList")
Dim    radioControlAttributes :    radioControlAttributes = Array("Image","PushLike","Bitmap","Icon", "FixedSize","Icon16","Icon32",Empty,"HasBorder")
Dim   buttonControlAttributes :   buttonControlAttributes = Array("Image", Empty    ,"Bitmap","Icon", "FixedSize","Icon16","Icon32")    
Dim     iconControlAttributes :     iconControlAttributes = Array("Image", Empty    , Empty  , Empty, "FixedSize","Icon16","Icon32")
Dim   bitmapControlAttributes :   bitmapControlAttributes = Array("Image", Empty    , Empty  , Empty, "FixedSize")
Dim checkboxControlAttributes : checkboxControlAttributes = Array( Empty, "PushLike","Bitmap","Icon", "FixedSize","Icon16","Icon32")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Boolean permission to bit translation
Dim standardPermissions : standardPermissions = Array("Delete","ReadPermission","ChangePermission","TakeOwnership","Synchronize")
Dim registryPermissions : registryPermissions = Array("Read",  "Write", "CreateSubkeys","EnumerateSubkeys","Notify","CreateLink")
Dim     filePermissions :     filePermissions = Array("Read",  "Write",   "Append",     "ReadExtendedAttributes","WriteExtendedAttributes","Execute",  Empty,       "ReadAttributes","WriteAttributes")
Dim   folderPermissions :   folderPermissions = Array("Read","CreateFile","CreateChild","ReadExtendedAttributes","WriteExtendedAttributes","Traverse","DeleteChild","ReadAttributes","WriteAttributes")
Dim  genericPermissions :  genericPermissions = Array("GenericAll","GenericExecute","GenericWrite","GenericRead")

''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' Database table schema
Dim   ActionTextTable(3)         : ActionTextTable(0)                      = "`ActionText`"
Const ActionText_Action      = 1 : ActionTextTable(ActionText_Action)      = "`Action` CHAR(72) NOT NULL PRIMARY KEY"
Const ActionText_Description = 2 : ActionTextTable(ActionText_Description) = "`Description` CHAR(64) LOCALIZABLE"
Const ActionText_Template    = 3 : ActionTextTable(ActionText_Template)    = "`Template` CHAR(128) LOCALIZABLE"
Dim   AdminExecuteSequenceTable(3)       : AdminExecuteSequenceTable(0)                              = "`AdminExecuteSequence`"
Const AdminExecuteSequence_Action    = 1 : AdminExecuteSequenceTable(AdminExecuteSequence_Action)    = "`Action` CHAR(72) NOT NULL PRIMARY KEY"
Const AdminExecuteSequence_Condition = 2 : AdminExecuteSequenceTable(AdminExecuteSequence_Condition) = "`Condition` CHAR(255)"
Const AdminExecuteSequence_Sequence  = 3 : AdminExecuteSequenceTable(AdminExecuteSequence_Sequence)  = "`Sequence` SHORT"
Dim   AdminUISequenceTable(3)       : AdminUISequenceTable(0)                         = "`AdminUISequence`"
Const AdminUISequence_Action    = 1 : AdminUISequenceTable(AdminUISequence_Action)    = "`Action` CHAR(72) NOT NULL PRIMARY KEY"
Const AdminUISequence_Condition = 2 : AdminUISequenceTable(AdminUISequence_Condition) = "`Condition` CHAR(255)"
Const AdminUISequence_Sequence  = 3 : AdminUISequenceTable(AdminUISequence_Sequence)  = "`Sequence` SHORT"
Dim   AdvtExecuteSequenceTable(3)       : AdvtExecuteSequenceTable(0)                             = "`AdvtExecuteSequence`"
Const AdvtExecuteSequence_Action    = 1 : AdvtExecuteSequenceTable(AdvtExecuteSequence_Action)    = "`Action` CHAR(72) NOT NULL PRIMARY KEY"
Const AdvtExecuteSequence_Condition = 2 : AdvtExecuteSequenceTable(AdvtExecuteSequence_Condition) = "`Condition` CHAR(255)"
Const AdvtExecuteSequence_Sequence  = 3 : AdvtExecuteSequenceTable(AdvtExecuteSequence_Sequence)  = "`Sequence` SHORT"
Dim   AdvtUISequenceTable(3)       : AdvtUISequenceTable(0)                        = "`AdvtUISequence`"
Const AdvtUISequence_Action    = 1 : AdvtUISequenceTable(AdvtUISequence_Action)    = "`Action` CHAR(72) NOT NULL PRIMARY KEY"
Const AdvtUISequence_Condition = 2 : AdvtUISequenceTable(AdvtUISequence_Condition) = "`Condition` CHAR(255)"
Const AdvtUISequence_Sequence  = 3 : AdvtUISequenceTable(AdvtUISequence_Sequence)  = "`Sequence` SHORT"
Dim   AppIdTable(7)                  : AppIdTable(0)                          = "`AppId`"
Const AppId_AppId                = 1 : AppIdTable(AppId_AppId)                = "`AppId` CHAR(38) NOT NULL PRIMARY KEY"
Const AppId_RemoteServerName     = 2 : AppIdTable(AppId_RemoteServerName)     = "`RemoteServerName` CHAR(255)"
Const AppId_LocalService         = 3 : AppIdTable(AppId_LocalService)         = "`LocalService` CHAR(255)"
Const AppId_ServiceParameters    = 4 : AppIdTable(AppId_ServiceParameters)    = "`ServiceParameters` CHAR(255)"
Const AppId_DllSurrogate         = 5 : AppIdTable(AppId_DllSurrogate)         = "`DllSurrogate` CHAR(255)"
Const AppId_ActivateAtStorage    = 6 : AppIdTable(AppId_ActivateAtStorage)    = "`ActivateAtStorage` SHORT"
Const AppId_RunAsInteractiveUser = 7 : AppIdTable(AppId_RunAsInteractiveUser) = "`RunAsInteractiveUser` SHORT"
Dim   AppSearchTable(2)        : AppSearchTable(0)                    = "`AppSearch`"
Const AppSearch_Property   = 1 : AppSearchTable(AppSearch_Property)   = "`Property` CHAR(72) NOT NULL PRIMARY KEY"
Const AppSearch_Signature_ = 2 : AppSearchTable(AppSearch_Signature_) = "`Signature_` CHAR(72) NOT NULL PRIMARY KEY"
Dim   BBControlTable(9)        : BBControlTable(0)                    = "`BBControl`"
Const BBControl_Billboard_ = 1 : BBControlTable(BBControl_Billboard_) = "`Billboard_` CHAR(50) NOT NULL PRIMARY KEY"
Const BBControl_BBControl  = 2 : BBControlTable(BBControl_BBControl)  = "`BBControl` CHAR(50) NOT NULL PRIMARY KEY"
Const BBControl_Type       = 3 : BBControlTable(BBControl_Type)       = "`Type` CHAR(50) NOT NULL"
Const BBControl_X          = 4 : BBControlTable(BBControl_X)          = "`X` SHORT NOT NULL"
Const BBControl_Y          = 5 : BBControlTable(BBControl_Y)          = "`Y` SHORT NOT NULL"
Const BBControl_Width      = 6 : BBControlTable(BBControl_Width)      = "`Width` SHORT NOT NULL"
Const BBControl_Height     = 7 : BBControlTable(BBControl_Height)     = "`Height` SHORT NOT NULL"
Const BBControl_Attributes = 8 : BBControlTable(BBControl_Attributes) = "`Attributes` LONG"
Const BBControl_Text       = 9 : BBControlTable(BBControl_Text)       = "`Text` CHAR(50) LOCALIZABLE"
Dim   BillboardTable(4)       : BillboardTable(0)                   = "`Billboard`"
Const Billboard_Billboard = 1 : BillboardTable(Billboard_Billboard) = "`Billboard` CHAR(50) NOT NULL PRIMARY KEY"
Const Billboard_Feature_  = 2 : BillboardTable(Billboard_Feature_)  = "`Feature_` CHAR(38) NOT NULL"
Const Billboard_Action    = 3 : BillboardTable(Billboard_Action)    = "`Action` CHAR(50)"
Const Billboard_Ordering  = 4 : BillboardTable(Billboard_Ordering)  = "`Ordering` SHORT"
Dim   BinaryTable(2)  : BinaryTable(0)           = "`Binary`"
Const Binary_Name = 1 : BinaryTable(Binary_Name) = "`Name` CHAR(72) NOT NULL PRIMARY KEY"
Const Binary_Data = 2 : BinaryTable(Binary_Data) = "`Data` OBJECT NOT NULL"
Dim   BindImageTable(2)   : BindImageTable(0)               = "`BindImage`"
Const BindImage_File_ = 1 : BindImageTable(BindImage_File_) = "`File_` CHAR(72) NOT NULL PRIMARY KEY"
Const BindImage_Path  = 2 : BindImageTable(BindImage_Path)  = "`Path` CHAR(255)"
Dim   CCPSearchTable(1)        : CCPSearchTable(0)                    = "`CCPSearch`"
Const CCPSearch_Signature_ = 1 : CCPSearchTable(CCPSearch_Signature_) = "`Signature_` CHAR(72) NOT NULL PRIMARY KEY"
Dim   CheckBoxTable(2)      : CheckBoxTable(0)                 = "`CheckBox`"
Const CheckBox_Property = 1 : CheckBoxTable(CheckBox_Property) = "`Property` CHAR(72) NOT NULL PRIMARY KEY"
Const CheckBox_Value    = 2 : CheckBoxTable(CheckBox_Value)    = "`Value` CHAR(64)"
Dim   ClassTable(13)             : ClassTable(0)                      = "`Class`"
Const Class_CLSID            = 1 : ClassTable(Class_CLSID)            = "`CLSID` CHAR(38) NOT NULL PRIMARY KEY"
Const Class_Context          = 2 : ClassTable(Class_Context)          = "`Context` CHAR(32) NOT NULL PRIMARY KEY"
Const Class_Component_       = 3 : ClassTable(Class_Component_)       = "`Component_` CHAR(72) NOT NULL PRIMARY KEY"
Const Class_ProgId_Default   = 4 : ClassTable(Class_ProgId_Default)   = "`ProgId_Default` CHAR(255)"
Const Class_Description      = 5 : ClassTable(Class_Description)      = "`Description` CHAR(255) LOCALIZABLE"
Const Class_AppId_           = 6 : ClassTable(Class_AppId_)           = "`AppId_` CHAR(38)"
Const Class_FileTypeMask     = 7 : ClassTable(Class_FileTypeMask)     = "`FileTypeMask` CHAR(255)"
Const Class_Icon_            = 8 : ClassTable(Class_Icon_)            = "`Icon_` CHAR(72)"
Const Class_IconIndex        = 9 : ClassTable(Class_IconIndex)        = "`IconIndex` SHORT"
Const Class_DefInprocHandler =10 : ClassTable(Class_DefInprocHandler) = "`DefInprocHandler` CHAR(32)"
Const Class_Argument         =11 : ClassTable(Class_Argument)         = "`Argument` CHAR(255)"
Const Class_Feature_         =12 : ClassTable(Class_Feature_)         = "`Feature_` CHAR(38) NOT NULL"
Const Class_Attributes       =13 : ClassTable(Class_Attributes)       = "`Attributes` SHORT"
Dim   ComboBoxTable(4)      : ComboBoxTable(0)                 = "`ComboBox`"
Const ComboBox_Property = 1 : ComboBoxTable(ComboBox_Property) = "`Property` CHAR(72) NOT NULL PRIMARY KEY"
Const ComboBox_Order    = 2 : ComboBoxTable(ComboBox_Order)    = "`Order` SHORT NOT NULL PRIMARY KEY"
Const ComboBox_Value    = 3 : ComboBoxTable(ComboBox_Value)    = "`Value` CHAR(64) NOT NULL"
Const ComboBox_Text     = 4 : ComboBoxTable(ComboBox_Text)     = "`Text` CHAR(64) LOCALIZABLE"
Dim   CompLocatorTable(3)         : CompLocatorTable(0)                       = "`CompLocator`"
Const CompLocator_Signature_  = 1 : CompLocatorTable(CompLocator_Signature_)  = "`Signature_` CHAR(72) NOT NULL PRIMARY KEY"
Const CompLocator_ComponentId = 2 : CompLocatorTable(CompLocator_ComponentId) = "`ComponentId` CHAR(38) NOT NULL"
Const CompLocator_Type        = 3 : CompLocatorTable(CompLocator_Type)        = "`Type` SHORT"
Dim   ComplusTable(2)        : ComplusTable(0)                  = "`Complus`"
Const Complus_Component_ = 1 : ComplusTable(Complus_Component_) = "`Component_` CHAR(72) NOT NULL PRIMARY KEY"
Const Complus_ExpType    = 2 : ComplusTable(Complus_ExpType)    = "`ExpType` SHORT PRIMARY KEY"
Dim   ComponentTable(6)         : ComponentTable(0)                     = "`Component`"
Const Component_Component   = 1 : ComponentTable(Component_Component)   = "`Component` CHAR(72) NOT NULL PRIMARY KEY"
Const Component_ComponentId = 2 : ComponentTable(Component_ComponentId) = "`ComponentId` CHAR(38)"
Const Component_Directory_  = 3 : ComponentTable(Component_Directory_)  = "`Directory_` CHAR(72) NOT NULL"
Const Component_Attributes  = 4 : ComponentTable(Component_Attributes)  = "`Attributes` SHORT NOT NULL"
Const Component_Condition   = 5 : ComponentTable(Component_Condition)   = "`Condition` CHAR(255)"
Const Component_KeyPath     = 6 : ComponentTable(Component_KeyPath)     = "`KeyPath` CHAR(72)"
Dim   ConditionTable(3)       : ConditionTable(0)                   = "`Condition`"
Const Condition_Feature_  = 1 : ConditionTable(Condition_Feature_)  = "`Feature_` CHAR(38) NOT NULL PRIMARY KEY"
Const Condition_Level     = 2 : ConditionTable(Condition_Level)     = "`Level` SHORT NOT NULL PRIMARY KEY"
Const Condition_Condition = 3 : ConditionTable(Condition_Condition) = "`Condition` CHAR(255)"
Dim   ControlTable(12)         : ControlTable(0)                    = "`Control`"
Const Control_Dialog_      = 1 : ControlTable(Control_Dialog_)      = "`Dialog_` CHAR(72) NOT NULL PRIMARY KEY"
Const Control_Control      = 2 : ControlTable(Control_Control)      = "`Control` CHAR(50) NOT NULL PRIMARY KEY"
Const Control_Type         = 3 : ControlTable(Control_Type)         = "`Type` CHAR(20) NOT NULL"
Const Control_X            = 4 : ControlTable(Control_X)            = "`X` SHORT NOT NULL"
Const Control_Y            = 5 : ControlTable(Control_Y)            = "`Y` SHORT NOT NULL"
Const Control_Width        = 6 : ControlTable(Control_Width)        = "`Width` SHORT NOT NULL"
Const Control_Height       = 7 : ControlTable(Control_Height)       = "`Height` SHORT NOT NULL"
Const Control_Attributes   = 8 : ControlTable(Control_Attributes)   = "`Attributes` LONG"
Const Control_Property     = 9 : ControlTable(Control_Property)     = "`Property` CHAR(50)"
Const Control_Text         =10 : ControlTable(Control_Text)         = "`Text` LONGCHAR LOCALIZABLE"
Const Control_Control_Next =11 : ControlTable(Control_Control_Next) = "`Control_Next` CHAR(50)"
Const Control_Help         =12 : ControlTable(Control_Help)         = "`Help` CHAR(50) LOCALIZABLE"
Dim   ControlConditionTable(4)       : ControlConditionTable(0)                          = "`ControlCondition`"
Const ControlCondition_Dialog_   = 1 : ControlConditionTable(ControlCondition_Dialog_)   = "`Dialog_` CHAR(72) NOT NULL PRIMARY KEY"
Const ControlCondition_Control_  = 2 : ControlConditionTable(ControlCondition_Control_)  = "`Control_` CHAR(50) NOT NULL PRIMARY KEY"
Const ControlCondition_Action    = 3 : ControlConditionTable(ControlCondition_Action)    = "`Action` CHAR(50) NOT NULL PRIMARY KEY"
Const ControlCondition_Condition = 4 : ControlConditionTable(ControlCondition_Condition) = "`Condition` CHAR(255) NOT NULL PRIMARY KEY"
Dim   ControlEventTable(6)       : ControlEventTable(0)                      = "`ControlEvent`"
Const ControlEvent_Dialog_   = 1 : ControlEventTable(ControlEvent_Dialog_)   = "`Dialog_` CHAR(72) NOT NULL PRIMARY KEY"
Const ControlEvent_Control_  = 2 : ControlEventTable(ControlEvent_Control_)  = "`Control_` CHAR(50) NOT NULL PRIMARY KEY"
Const ControlEvent_Event     = 3 : ControlEventTable(ControlEvent_Event)     = "`Event` CHAR(50) NOT NULL PRIMARY KEY"
Const ControlEvent_Argument  = 4 : ControlEventTable(ControlEvent_Argument)  = "`Argument` CHAR(255) NOT NULL PRIMARY KEY"
Const ControlEvent_Condition = 5 : ControlEventTable(ControlEvent_Condition) = "`Condition` CHAR(255) PRIMARY KEY"
Const ControlEvent_Ordering  = 6 : ControlEventTable(ControlEvent_Ordering)  = "`Ordering` SHORT"
Dim   CreateFolderTable(2)        : CreateFolderTable(0)                       = "`CreateFolder`"
Const CreateFolder_Directory_ = 1 : CreateFolderTable(CreateFolder_Directory_) = "`Directory_` CHAR(72) NOT NULL PRIMARY KEY"
Const CreateFolder_Component_ = 2 : CreateFolderTable(CreateFolder_Component_) = "`Component_` CHAR(72) NOT NULL PRIMARY KEY"
Dim   CustomActionTable(4)    : CustomActionTable(0)                   = "`CustomAction`"
Const CustomAction_Action = 1 : CustomActionTable(CustomAction_Action) = "`Action` CHAR(72) NOT NULL PRIMARY KEY"
Const CustomAction_Type   = 2 : CustomActionTable(CustomAction_Type)   = "`Type` SHORT NOT NULL"
Const CustomAction_Source = 3 : CustomActionTable(CustomAction_Source) = "`Source` CHAR(64)"
Const CustomAction_Target = 4 : CustomActionTable(CustomAction_Target) = "`Target` CHAR(255)"
Dim   DialogTable(10)            : DialogTable(0)                      = "`Dialog`"
Const Dialog_Dialog          = 1 : DialogTable(Dialog_Dialog)          = "`Dialog` CHAR(72) NOT NULL PRIMARY KEY"
Const Dialog_HCentering      = 2 : DialogTable(Dialog_HCentering)      = "`HCentering` SHORT NOT NULL"
Const Dialog_VCentering      = 3 : DialogTable(Dialog_VCentering)      = "`VCentering` SHORT NOT NULL"
Const Dialog_Width           = 4 : DialogTable(Dialog_Width)           = "`Width` SHORT NOT NULL"
Const Dialog_Height          = 5 : DialogTable(Dialog_Height)          = "`Height` SHORT NOT NULL"
Const Dialog_Attributes      = 6 : DialogTable(Dialog_Attributes)      = "`Attributes` LONG"
Const Dialog_Title           = 7 : DialogTable(Dialog_Title)           = "`Title` CHAR(128) LOCALIZABLE"
Const Dialog_Control_First   = 8 : DialogTable(Dialog_Control_First)   = "`Control_First` CHAR(50) NOT NULL"
Const Dialog_Control_Default = 9 : DialogTable(Dialog_Control_Default) = "`Control_Default` CHAR(50)"
Const Dialog_Control_Cancel  =10 : DialogTable(Dialog_Control_Cancel)  = "`Control_Cancel` CHAR(50)"
Dim   DirectoryTable(3)              : DirectoryTable(0)                          = "`Directory`"
Const Directory_Directory        = 1 : DirectoryTable(Directory_Directory)        = "`Directory` CHAR(72) NOT NULL PRIMARY KEY"
Const Directory_Directory_Parent = 2 : DirectoryTable(Directory_Directory_Parent) = "`Directory_Parent` CHAR(72)"
Const Directory_DefaultDir       = 3 : DirectoryTable(Directory_DefaultDir)       = "`DefaultDir` CHAR(255) NOT NULL LOCALIZABLE"
Dim   DrLocatorTable(4)        : DrLocatorTable(0)                    = "`DrLocator`"
Const DrLocator_Signature_ = 1 : DrLocatorTable(DrLocator_Signature_) = "`Signature_` CHAR(72) NOT NULL PRIMARY KEY"
Const DrLocator_Parent     = 2 : DrLocatorTable(DrLocator_Parent)     = "`Parent` CHAR(72) PRIMARY KEY"
Const DrLocator_Path       = 3 : DrLocatorTable(DrLocator_Path)       = "`Path` CHAR(255) PRIMARY KEY"
Const DrLocator_Depth      = 4 : DrLocatorTable(DrLocator_Depth)      = "`Depth` SHORT"
Dim   DuplicateFileTable(5)        : DuplicateFileTable(0)                        = "`DuplicateFile`"
Const DuplicateFile_FileKey    = 1 : DuplicateFileTable(DuplicateFile_FileKey)    = "`FileKey` CHAR(72) NOT NULL PRIMARY KEY"
Const DuplicateFile_Component_ = 2 : DuplicateFileTable(DuplicateFile_Component_) = "`Component_` CHAR(72) NOT NULL"
Const DuplicateFile_File_      = 3 : DuplicateFileTable(DuplicateFile_File_)      = "`File_` CHAR(72) NOT NULL"
Const DuplicateFile_DestName   = 4 : DuplicateFileTable(DuplicateFile_DestName)   = "`DestName` CHAR(255) LOCALIZABLE"
Const DuplicateFile_DestFolder = 5 : DuplicateFileTable(DuplicateFile_DestFolder) = "`DestFolder` CHAR(72)"
Dim   EnvironmentTable(4)         : EnvironmentTable(0)                       = "`Environment`"
Const Environment_Environment = 1 : EnvironmentTable(Environment_Environment) = "`Environment` CHAR(72) NOT NULL PRIMARY KEY"
Const Environment_Name        = 2 : EnvironmentTable(Environment_Name)        = "`Name` CHAR(255) NOT NULL LOCALIZABLE"
Const Environment_Value       = 3 : EnvironmentTable(Environment_Value)       = "`Value` CHAR(255) LOCALIZABLE"
Const Environment_Component_  = 4 : EnvironmentTable(Environment_Component_)  = "`Component_` CHAR(72) NOT NULL"
Dim   ErrorTable(2)     : ErrorTable(0)             = "`Error`"
Const Error_Error   = 1 : ErrorTable(Error_Error)   = "`Error` SHORT NOT NULL PRIMARY KEY"
Const Error_Message = 2 : ErrorTable(Error_Message) = "`Message` CHAR(255) LOCALIZABLE"
Dim   EventMappingTable(4)       : EventMappingTable(0)                      = "`EventMapping`"
Const EventMapping_Dialog_   = 1 : EventMappingTable(EventMapping_Dialog_)   = "`Dialog_` CHAR(72) NOT NULL PRIMARY KEY"
Const EventMapping_Control_  = 2 : EventMappingTable(EventMapping_Control_)  = "`Control_` CHAR(50) NOT NULL PRIMARY KEY"
Const EventMapping_Event     = 3 : EventMappingTable(EventMapping_Event)     = "`Event` CHAR(50) NOT NULL PRIMARY KEY"
Const EventMapping_Attribute = 4 : EventMappingTable(EventMapping_Attribute) = "`Attribute` CHAR(50) NOT NULL"
Dim   ExtensionTable(5)        : ExtensionTable(0)                    = "`Extension`"
Const Extension_Extension  = 1 : ExtensionTable(Extension_Extension)  = "`Extension` CHAR(255) NOT NULL PRIMARY KEY"
Const Extension_Component_ = 2 : ExtensionTable(Extension_Component_) = "`Component_` CHAR(72) NOT NULL PRIMARY KEY"
Const Extension_ProgId_    = 3 : ExtensionTable(Extension_ProgId_)    = "`ProgId_` CHAR(255)"
Const Extension_MIME_      = 4 : ExtensionTable(Extension_MIME_)      = "`MIME_` CHAR(64)"
Const Extension_Feature_   = 5 : ExtensionTable(Extension_Feature_)   = "`Feature_` CHAR(38) NOT NULL"
Dim   FeatureTable(8)            : FeatureTable(0)                      = "`Feature`"
Const Feature_Feature        = 1 : FeatureTable(Feature_Feature)        = "`Feature` CHAR(38) NOT NULL PRIMARY KEY"
Const Feature_Feature_Parent = 2 : FeatureTable(Feature_Feature_Parent) = "`Feature_Parent` CHAR(38)"
Const Feature_Title          = 3 : FeatureTable(Feature_Title)          = "`Title` CHAR(64) LOCALIZABLE"
Const Feature_Description    = 4 : FeatureTable(Feature_Description)    = "`Description` CHAR(255) LOCALIZABLE"
Const Feature_Display        = 5 : FeatureTable(Feature_Display)        = "`Display` SHORT"
Const Feature_Level          = 6 : FeatureTable(Feature_Level)          = "`Level` SHORT NOT NULL"
Const Feature_Directory_     = 7 : FeatureTable(Feature_Directory_)     = "`Directory_` CHAR(72)"
Const Feature_Attributes     = 8 : FeatureTable(Feature_Attributes)     = "`Attributes` SHORT NOT NULL"
Dim   FeatureComponentsTable(2)        : FeatureComponentsTable(0)                            = "`FeatureComponents`"
Const FeatureComponents_Feature_   = 1 : FeatureComponentsTable(FeatureComponents_Feature_)   = "`Feature_` CHAR(38) NOT NULL PRIMARY KEY"
Const FeatureComponents_Component_ = 2 : FeatureComponentsTable(FeatureComponents_Component_) = "`Component_` CHAR(72) NOT NULL PRIMARY KEY"
Dim   FileTable(8)        : FileTable(0)               = "`File`"
Const File_File       = 1 : FileTable(File_File)       = "`File` CHAR(72) NOT NULL PRIMARY KEY"
Const File_Component_ = 2 : FileTable(File_Component_) = "`Component_` CHAR(72) NOT NULL"
Const File_FileName   = 3 : FileTable(File_FileName)   = "`FileName` CHAR(255) NOT NULL LOCALIZABLE"
Const File_FileSize   = 4 : FileTable(File_FileSize)   = "`FileSize` LONG NOT NULL"
Const File_Version    = 5 : FileTable(File_Version)    = "`Version` CHAR(72)"
Const File_Language   = 6 : FileTable(File_Language)   = "`Language` CHAR(20)"
Const File_Attributes = 7 : FileTable(File_Attributes) = "`Attributes` SHORT"
Const File_Sequence   = 8 : FileTable(File_Sequence)   = "`Sequence` SHORT NOT NULL"
Dim   FontTable(2)       : FontTable(0)              = "`Font`"
Const Font_File_     = 1 : FontTable(Font_File_)     = "`File_` CHAR(72) NOT NULL PRIMARY KEY"
Const Font_FontTitle = 2 : FontTable(Font_FontTitle) = "`FontTitle` CHAR(128)"
Dim   IconTable(2)  : IconTable(0)         = "`Icon`"
Const Icon_Name = 1 : IconTable(Icon_Name) = "`Name` CHAR(72) NOT NULL PRIMARY KEY"
Const Icon_Data = 2 : IconTable(Icon_Data) = "`Data` OBJECT NOT NULL"
Dim   IniFileTable(8)         : IniFileTable(0)                   = "`IniFile`"
Const IniFile_IniFile     = 1 : IniFileTable(IniFile_IniFile)     = "`IniFile` CHAR(72) NOT NULL PRIMARY KEY"
Const IniFile_FileName    = 2 : IniFileTable(IniFile_FileName)    = "`FileName` CHAR(255) NOT NULL LOCALIZABLE"
Const IniFile_DirProperty = 3 : IniFileTable(IniFile_DirProperty) = "`DirProperty` CHAR(72)"
Const IniFile_Section     = 4 : IniFileTable(IniFile_Section)     = "`Section` CHAR(96) NOT NULL LOCALIZABLE"
Const IniFile_Key         = 5 : IniFileTable(IniFile_Key)         = "`Key` CHAR(128) NOT NULL LOCALIZABLE"
Const IniFile_Value       = 6 : IniFileTable(IniFile_Value)       = "`Value` CHAR(255) NOT NULL LOCALIZABLE"
Const IniFile_Action      = 7 : IniFileTable(IniFile_Action)      = "`Action` SHORT NOT NULL"
Const IniFile_Component_  = 8 : IniFileTable(IniFile_Component_)  = "`Component_` CHAR(72) NOT NULL"
Dim   IniLocatorTable(6)        : IniLocatorTable(0)                     = "`IniLocator`"
Const IniLocator_Signature_ = 1 : IniLocatorTable(IniLocator_Signature_) = "`Signature_` CHAR(72) NOT NULL PRIMARY KEY"
Const IniLocator_FileName   = 2 : IniLocatorTable(IniLocator_FileName)   = "`FileName` CHAR(255) NOT NULL"
Const IniLocator_Section    = 3 : IniLocatorTable(IniLocator_Section)    = "`Section` CHAR(96) NOT NULL"
Const IniLocator_Key        = 4 : IniLocatorTable(IniLocator_Key)        = "`Key` CHAR(128) NOT NULL"
Const IniLocator_Field      = 5 : IniLocatorTable(IniLocator_Field)      = "`Field` SHORT"
Const IniLocator_Type       = 6 : IniLocatorTable(IniLocator_Type)       = "`Type` SHORT"
Dim   InstallExecuteSequenceTable(3)       : InstallExecuteSequenceTable(0)                                = "`InstallExecuteSequence`"
Const InstallExecuteSequence_Action    = 1 : InstallExecuteSequenceTable(InstallExecuteSequence_Action)    = "`Action` CHAR(72) NOT NULL PRIMARY KEY"
Const InstallExecuteSequence_Condition = 2 : InstallExecuteSequenceTable(InstallExecuteSequence_Condition) = "`Condition` CHAR(255)"
Const InstallExecuteSequence_Sequence  = 3 : InstallExecuteSequenceTable(InstallExecuteSequence_Sequence)  = "`Sequence` SHORT"
Dim   InstallUISequenceTable(3)       : InstallUISequenceTable(0)                           = "`InstallUISequence`"
Const InstallUISequence_Action    = 1 : InstallUISequenceTable(InstallUISequence_Action)    = "`Action` CHAR(72) NOT NULL PRIMARY KEY"
Const InstallUISequence_Condition = 2 : InstallUISequenceTable(InstallUISequence_Condition) = "`Condition` CHAR(255)"
Const InstallUISequence_Sequence  = 3 : InstallUISequenceTable(InstallUISequence_Sequence)  = "`Sequence` SHORT"
Dim   IsolatedComponentTable(2)                   : IsolatedComponentTable(0)                                       = "`IsolatedComponent`"
Const IsolatedComponent_Component_Shared      = 1 : IsolatedComponentTable(IsolatedComponent_Component_Shared)      = "`Component_Shared` CHAR(72) NOT NULL PRIMARY KEY"
Const IsolatedComponent_Component_Application = 2 : IsolatedComponentTable(IsolatedComponent_Component_Application) = "`Component_Application` CHAR(72) NOT NULL PRIMARY KEY"
Dim   LaunchConditionTable(2)         : LaunchConditionTable(0)                           = "`LaunchCondition`"
Const LaunchCondition_Condition   = 1 : LaunchConditionTable(LaunchCondition_Condition)   = "`Condition` CHAR(255) NOT NULL PRIMARY KEY"
Const LaunchCondition_Description = 2 : LaunchConditionTable(LaunchCondition_Description) = "`Description` CHAR(255) NOT NULL LOCALIZABLE"
Dim   ListBoxTable(4)      : ListBoxTable(0)                = "`ListBox`"
Const ListBox_Property = 1 : ListBoxTable(ListBox_Property) = "`Property` CHAR(72) NOT NULL PRIMARY KEY"
Const ListBox_Order    = 2 : ListBoxTable(ListBox_Order)    = "`Order` SHORT NOT NULL PRIMARY KEY"
Const ListBox_Value    = 3 : ListBoxTable(ListBox_Value)    = "`Value` CHAR(64) NOT NULL"
Const ListBox_Text     = 4 : ListBoxTable(ListBox_Text)     = "`Text` CHAR(64) LOCALIZABLE"
Dim   ListViewTable(5)      : ListViewTable(0)                 = "`ListView`"
Const ListView_Property = 1 : ListViewTable(ListView_Property) = "`Property` CHAR(72) NOT NULL PRIMARY KEY"
Const ListView_Order    = 2 : ListViewTable(ListView_Order)    = "`Order` SHORT NOT NULL PRIMARY KEY"
Const ListView_Value    = 3 : ListViewTable(ListView_Value)    = "`Value` CHAR(64) NOT NULL"
Const ListView_Text     = 4 : ListViewTable(ListView_Text)     = "`Text` CHAR(64) LOCALIZABLE"
Const ListView_Binary_  = 5 : ListViewTable(ListView_Binary_)  = "`Binary_` CHAR(72)"
Dim   LockPermissionsTable(5)        : LockPermissionsTable(0)                          = "`LockPermissions`"
Const LockPermissions_LockObject = 1 : LockPermissionsTable(LockPermissions_LockObject) = "`LockObject` CHAR(72) NOT NULL PRIMARY KEY"
Const LockPermissions_Table      = 2 : LockPermissionsTable(LockPermissions_Table)      = "`Table` CHAR(32) NOT NULL PRIMARY KEY"
Const LockPermissions_Domain     = 3 : LockPermissionsTable(LockPermissions_Domain)     = "`Domain` CHAR(255) PRIMARY KEY"
Const LockPermissions_User       = 4 : LockPermissionsTable(LockPermissions_User)       = "`User` CHAR(255) NOT NULL PRIMARY KEY"
Const LockPermissions_Permission = 5 : LockPermissionsTable(LockPermissions_Permission) = "`Permission` LONG"
Dim   MIMETable(3)         : MIMETable(0)                = "`MIME`"
Const MIME_ContentType = 1 : MIMETable(MIME_ContentType) = "`ContentType` CHAR(64) NOT NULL PRIMARY KEY"
Const MIME_Extension_  = 2 : MIMETable(MIME_Extension_)  = "`Extension_` CHAR(255) NOT NULL"
Const MIME_CLSID       = 3 : MIMETable(MIME_CLSID)       = "`CLSID` CHAR(38)"
Dim   MediaTable(6)          : MediaTable(0)                  = "`Media`"
Const Media_DiskId       = 1 : MediaTable(Media_DiskId)       = "`DiskId` SHORT NOT NULL PRIMARY KEY"
Const Media_LastSequence = 2 : MediaTable(Media_LastSequence) = "`LastSequence` SHORT NOT NULL"
Const Media_DiskPrompt   = 3 : MediaTable(Media_DiskPrompt)   = "`DiskPrompt` CHAR(64) LOCALIZABLE"
Const Media_Cabinet      = 4 : MediaTable(Media_Cabinet)      = "`Cabinet` CHAR(255)"
Const Media_VolumeLabel  = 5 : MediaTable(Media_VolumeLabel)  = "`VolumeLabel` CHAR(32)"
Const Media_Source       = 6 : MediaTable(Media_Source)       = "`Source` CHAR(32)"
Dim   MoveFileTable(7)          : MoveFileTable(0)                     = "`MoveFile`"
Const MoveFile_FileKey      = 1 : MoveFileTable(MoveFile_FileKey)      = "`FileKey` CHAR(72) NOT NULL PRIMARY KEY"
Const MoveFile_Component_   = 2 : MoveFileTable(MoveFile_Component_)   = "`Component_` CHAR(72) NOT NULL"
Const MoveFile_SourceName   = 3 : MoveFileTable(MoveFile_SourceName)   = "`SourceName` CHAR(255) LOCALIZABLE"
Const MoveFile_DestName     = 4 : MoveFileTable(MoveFile_DestName)     = "`DestName` CHAR(255) LOCALIZABLE"
Const MoveFile_SourceFolder = 5 : MoveFileTable(MoveFile_SourceFolder) = "`SourceFolder` CHAR(72)"
Const MoveFile_DestFolder   = 6 : MoveFileTable(MoveFile_DestFolder)   = "`DestFolder` CHAR(72) NOT NULL"
Const MoveFile_Options      = 7 : MoveFileTable(MoveFile_Options)      = "`Options` SHORT NOT NULL"
Dim   ODBCAttributeTable(3)       : ODBCAttributeTable(0)                       = "`ODBCAttribute`"
Const ODBCAttribute_Driver_   = 1 : ODBCAttributeTable(ODBCAttribute_Driver_)   = "`Driver_` CHAR(72) NOT NULL PRIMARY KEY"
Const ODBCAttribute_Attribute = 2 : ODBCAttributeTable(ODBCAttribute_Attribute) = "`Attribute` CHAR(40) NOT NULL PRIMARY KEY"
Const ODBCAttribute_Value     = 3 : ODBCAttributeTable(ODBCAttribute_Value)     = "`Value` CHAR(255) LOCALIZABLE"
Dim   ODBCDataSourceTable(5)               : ODBCDataSourceTable(0)                                = "`ODBCDataSource`"
Const ODBCDataSource_DataSource        = 1 : ODBCDataSourceTable(ODBCDataSource_DataSource)        = "`DataSource` CHAR(72) NOT NULL PRIMARY KEY"
Const ODBCDataSource_Component_        = 2 : ODBCDataSourceTable(ODBCDataSource_Component_)        = "`Component_` CHAR(72) NOT NULL"
Const ODBCDataSource_Description       = 3 : ODBCDataSourceTable(ODBCDataSource_Description)       = "`Description` CHAR(255) NOT NULL"
Const ODBCDataSource_DriverDescription = 4 : ODBCDataSourceTable(ODBCDataSource_DriverDescription) = "`DriverDescription` CHAR(255) NOT NULL"
Const ODBCDataSource_Registration      = 5 : ODBCDataSourceTable(ODBCDataSource_Registration)      = "`Registration` SHORT NOT NULL"
Dim   ODBCDriverTable(5)         : ODBCDriverTable(0)                      = "`ODBCDriver`"
Const ODBCDriver_Driver      = 1 : ODBCDriverTable(ODBCDriver_Driver)      = "`Driver` CHAR(72) NOT NULL PRIMARY KEY"
Const ODBCDriver_Component_  = 2 : ODBCDriverTable(ODBCDriver_Component_)  = "`Component_` CHAR(72) NOT NULL"
Const ODBCDriver_Description = 3 : ODBCDriverTable(ODBCDriver_Description) = "`Description` CHAR(255) NOT NULL"
Const ODBCDriver_File_       = 4 : ODBCDriverTable(ODBCDriver_File_)       = "`File_` CHAR(72) NOT NULL"
Const ODBCDriver_File_Setup  = 5 : ODBCDriverTable(ODBCDriver_File_Setup)  = "`File_Setup` CHAR(72)"
Dim   ODBCSourceAttributeTable(3)         : ODBCSourceAttributeTable(0)                               = "`ODBCSourceAttribute`"
Const ODBCSourceAttribute_DataSource_ = 1 : ODBCSourceAttributeTable(ODBCSourceAttribute_DataSource_) = "`DataSource_` CHAR(72) NOT NULL PRIMARY KEY"
Const ODBCSourceAttribute_Attribute   = 2 : ODBCSourceAttributeTable(ODBCSourceAttribute_Attribute)   = "`Attribute` CHAR(32) NOT NULL PRIMARY KEY"
Const ODBCSourceAttribute_Value       = 3 : ODBCSourceAttributeTable(ODBCSourceAttribute_Value)       = "`Value` CHAR(255) LOCALIZABLE"
Dim   ODBCTranslatorTable(5)         : ODBCTranslatorTable(0)                          = "`ODBCTranslator`"
Const ODBCTranslator_Translator  = 1 : ODBCTranslatorTable(ODBCTranslator_Translator)  = "`Translator` CHAR(72) NOT NULL PRIMARY KEY"
Const ODBCTranslator_Component_  = 2 : ODBCTranslatorTable(ODBCTranslator_Component_)  = "`Component_` CHAR(72) NOT NULL"
Const ODBCTranslator_Description = 3 : ODBCTranslatorTable(ODBCTranslator_Description) = "`Description` CHAR(255) NOT NULL"
Const ODBCTranslator_File_       = 4 : ODBCTranslatorTable(ODBCTranslator_File_)       = "`File_` CHAR(72) NOT NULL"
Const ODBCTranslator_File_Setup  = 5 : ODBCTranslatorTable(ODBCTranslator_File_Setup)  = "`File_Setup` CHAR(72)"
Dim   PatchTable(5)        : PatchTable(0)                = "`Patch`"
Const Patch_File_      = 1 : PatchTable(Patch_File_)      = "`File_` CHAR(72) NOT NULL PRIMARY KEY"
Const Patch_Sequence   = 2 : PatchTable(Patch_Sequence)   = "`Sequence` SHORT NOT NULL PRIMARY KEY"
Const Patch_PatchSize  = 3 : PatchTable(Patch_PatchSize)  = "`PatchSize` LONG NOT NULL"
Const Patch_Attributes = 4 : PatchTable(Patch_Attributes) = "`Attributes` SHORT NOT NULL"
Const Patch_Header     = 5 : PatchTable(Patch_Header)     = "`Header` OBJECT NOT NULL"
Dim   PatchPackageTable(2)     : PatchPackageTable(0)                    = "`PatchPackage`"
Const PatchPackage_PatchId = 1 : PatchPackageTable(PatchPackage_PatchId) = "`PatchId` CHAR(38) NOT NULL PRIMARY KEY"
Const PatchPackage_Media_  = 2 : PatchPackageTable(PatchPackage_Media_)  = "`Media_` SHORT NOT NULL"
Dim   ProgIdTable(6)           : ProgIdTable(0)                    = "`ProgId`"
Const ProgId_ProgId        = 1 : ProgIdTable(ProgId_ProgId)        = "`ProgId` CHAR(255) NOT NULL PRIMARY KEY"
Const ProgId_ProgId_Parent = 2 : ProgIdTable(ProgId_ProgId_Parent) = "`ProgId_Parent` CHAR(255)"
Const ProgId_Class_        = 3 : ProgIdTable(ProgId_Class_)        = "`Class_` CHAR(38)"
Const ProgId_Description   = 4 : ProgIdTable(ProgId_Description)   = "`Description` CHAR(255) LOCALIZABLE"
Const ProgId_Icon_         = 5 : ProgIdTable(ProgId_Icon_)         = "`Icon_` CHAR(72)"
Const ProgId_IconIndex     = 6 : ProgIdTable(ProgId_IconIndex)     = "`IconIndex` SHORT"
Dim   PropertyTable(2)      : PropertyTable(0)                 = "`Property`"
Const Property_Property = 1 : PropertyTable(Property_Property) = "`Property` CHAR(72) NOT NULL PRIMARY KEY"
Const Property_Value    = 2 : PropertyTable(Property_Value)    = "`Value` LONGCHAR NOT NULL LOCALIZABLE"
Dim   PublishComponentTable(5)         : PublishComponentTable(0)                            = "`PublishComponent`"
Const PublishComponent_ComponentId = 1 : PublishComponentTable(PublishComponent_ComponentId) = "`ComponentId` CHAR(38) NOT NULL PRIMARY KEY"
Const PublishComponent_Qualifier   = 2 : PublishComponentTable(PublishComponent_Qualifier)   = "`Qualifier` CHAR(255) NOT NULL PRIMARY KEY"
Const PublishComponent_Component_  = 3 : PublishComponentTable(PublishComponent_Component_)  = "`Component_` CHAR(72) NOT NULL PRIMARY KEY"
Const PublishComponent_AppData     = 4 : PublishComponentTable(PublishComponent_AppData)     = "`AppData` CHAR(255) LOCALIZABLE"
Const PublishComponent_Feature_    = 5 : PublishComponentTable(PublishComponent_Feature_)    = "`Feature_` CHAR(38) NOT NULL"
Dim   RadioButtonTable(9)      : RadioButtonTable(0)                    = "`RadioButton`"
Const RadioButton_Property = 1 : RadioButtonTable(RadioButton_Property) = "`Property` CHAR(72) NOT NULL PRIMARY KEY"
Const RadioButton_Order    = 2 : RadioButtonTable(RadioButton_Order)    = "`Order` SHORT NOT NULL PRIMARY KEY"
Const RadioButton_Value    = 3 : RadioButtonTable(RadioButton_Value)    = "`Value` CHAR(64) NOT NULL"
Const RadioButton_X        = 4 : RadioButtonTable(RadioButton_X)        = "`X` SHORT NOT NULL"
Const RadioButton_Y        = 5 : RadioButtonTable(RadioButton_Y)        = "`Y` SHORT NOT NULL"
Const RadioButton_Width    = 6 : RadioButtonTable(RadioButton_Width)    = "`Width` SHORT NOT NULL"
Const RadioButton_Height   = 7 : RadioButtonTable(RadioButton_Height)   = "`Height` SHORT NOT NULL"
Const RadioButton_Text     = 8 : RadioButtonTable(RadioButton_Text)     = "`Text` CHAR(64) LOCALIZABLE"
Const RadioButton_Help     = 9 : RadioButtonTable(RadioButton_Help)     = "`Help` CHAR(50) LOCALIZABLE"
Dim   RegLocatorTable(5)        : RegLocatorTable(0)                     = "`RegLocator`"
Const RegLocator_Signature_ = 1 : RegLocatorTable(RegLocator_Signature_) = "`Signature_` CHAR(72) NOT NULL PRIMARY KEY"
Const RegLocator_Root       = 2 : RegLocatorTable(RegLocator_Root)       = "`Root` SHORT NOT NULL"
Const RegLocator_Key        = 3 : RegLocatorTable(RegLocator_Key)        = "`Key` CHAR(255) NOT NULL"
Const RegLocator_Name       = 4 : RegLocatorTable(RegLocator_Name)       = "`Name` CHAR(255)"
Const RegLocator_Type       = 5 : RegLocatorTable(RegLocator_Type)       = "`Type` SHORT"
Dim   RegistryTable(6)        : RegistryTable(0)                   = "`Registry`"
Const Registry_Registry   = 1 : RegistryTable(Registry_Registry)   = "`Registry` CHAR(72) NOT NULL PRIMARY KEY"
Const Registry_Root       = 2 : RegistryTable(Registry_Root)       = "`Root` SHORT NOT NULL"
Const Registry_Key        = 3 : RegistryTable(Registry_Key)        = "`Key` CHAR(255) NOT NULL LOCALIZABLE"
Const Registry_Name       = 4 : RegistryTable(Registry_Name)       = "`Name` CHAR(255) LOCALIZABLE"
Const Registry_Value      = 5 : RegistryTable(Registry_Value)      = "`Value` LONGCHAR LOCALIZABLE"
Const Registry_Component_ = 6 : RegistryTable(Registry_Component_) = "`Component_` CHAR(72) NOT NULL"
Dim   RemoveFileTable(5)         : RemoveFileTable(0)                      = "`RemoveFile`"
Const RemoveFile_FileKey     = 1 : RemoveFileTable(RemoveFile_FileKey)     = "`FileKey` CHAR(72) NOT NULL PRIMARY KEY"
Const RemoveFile_Component_  = 2 : RemoveFileTable(RemoveFile_Component_)  = "`Component_` CHAR(72) NOT NULL"
Const RemoveFile_FileName    = 3 : RemoveFileTable(RemoveFile_FileName)    = "`FileName` CHAR(255) LOCALIZABLE"
Const RemoveFile_DirProperty = 4 : RemoveFileTable(RemoveFile_DirProperty) = "`DirProperty` CHAR(72) NOT NULL"
Const RemoveFile_InstallMode = 5 : RemoveFileTable(RemoveFile_InstallMode) = "`InstallMode` SHORT NOT NULL"
Dim   RemoveIniFileTable(8)           : RemoveIniFileTable(0)                           = "`RemoveIniFile`"
Const RemoveIniFile_RemoveIniFile = 1 : RemoveIniFileTable(RemoveIniFile_RemoveIniFile) = "`RemoveIniFile` CHAR(72) NOT NULL PRIMARY KEY"
Const RemoveIniFile_FileName      = 2 : RemoveIniFileTable(RemoveIniFile_FileName)      = "`FileName` CHAR(255) NOT NULL LOCALIZABLE"
Const RemoveIniFile_DirProperty   = 3 : RemoveIniFileTable(RemoveIniFile_DirProperty)   = "`DirProperty` CHAR(72)"
Const RemoveIniFile_Section       = 4 : RemoveIniFileTable(RemoveIniFile_Section)       = "`Section` CHAR(96) NOT NULL LOCALIZABLE"
Const RemoveIniFile_Key           = 5 : RemoveIniFileTable(RemoveIniFile_Key)           = "`Key` CHAR(128) NOT NULL LOCALIZABLE"
Const RemoveIniFile_Value         = 6 : RemoveIniFileTable(RemoveIniFile_Value)         = "`Value` CHAR(255) LOCALIZABLE"
Const RemoveIniFile_Action        = 7 : RemoveIniFileTable(RemoveIniFile_Action)        = "`Action` SHORT NOT NULL"
Const RemoveIniFile_Component_    = 8 : RemoveIniFileTable(RemoveIniFile_Component_)    = "`Component_` CHAR(72) NOT NULL"
Dim   RemoveRegistryTable(5)            : RemoveRegistryTable(0)                             = "`RemoveRegistry`"
Const RemoveRegistry_RemoveRegistry = 1 : RemoveRegistryTable(RemoveRegistry_RemoveRegistry) = "`RemoveRegistry` CHAR(72) NOT NULL PRIMARY KEY"
Const RemoveRegistry_Root           = 2 : RemoveRegistryTable(RemoveRegistry_Root)           = "`Root` SHORT NOT NULL"
Const RemoveRegistry_Key            = 3 : RemoveRegistryTable(RemoveRegistry_Key)            = "`Key` CHAR(255) NOT NULL LOCALIZABLE"
Const RemoveRegistry_Name           = 4 : RemoveRegistryTable(RemoveRegistry_Name)           = "`Name` CHAR(255) LOCALIZABLE"
Const RemoveRegistry_Component_     = 5 : RemoveRegistryTable(RemoveRegistry_Component_)     = "`Component_` CHAR(72) NOT NULL"
Dim   ReserveCostTable(5)           : ReserveCostTable(0)                         = "`ReserveCost`"
Const ReserveCost_ReserveKey    = 1 : ReserveCostTable(ReserveCost_ReserveKey)    = "`ReserveKey` CHAR(72) NOT NULL PRIMARY KEY"
Const ReserveCost_Component_    = 2 : ReserveCostTable(ReserveCost_Component_)    = "`Component_` CHAR(72) NOT NULL"
Const ReserveCost_ReserveFolder = 3 : ReserveCostTable(ReserveCost_ReserveFolder) = "`ReserveFolder` CHAR(72)"
Const ReserveCost_ReserveLocal  = 4 : ReserveCostTable(ReserveCost_ReserveLocal)  = "`ReserveLocal` LONG NOT NULL"
Const ReserveCost_ReserveSource = 5 : ReserveCostTable(ReserveCost_ReserveSource) = "`ReserveSource` LONG NOT NULL"
Dim   SelfRegTable(2)   : SelfRegTable(0)             = "`SelfReg`"
Const SelfReg_File_ = 1 : SelfRegTable(SelfReg_File_) = "`File_` CHAR(72) NOT NULL PRIMARY KEY"
Const SelfReg_Cost  = 2 : SelfRegTable(SelfReg_Cost)  = "`Cost` SHORT"
Dim   ServiceControlTable(6)            : ServiceControlTable(0)                             = "`ServiceControl`"
Const ServiceControl_ServiceControl = 1 : ServiceControlTable(ServiceControl_ServiceControl) = "`ServiceControl` CHAR(72) NOT NULL PRIMARY KEY"
Const ServiceControl_Name           = 2 : ServiceControlTable(ServiceControl_Name)           = "`Name` CHAR(255) NOT NULL LOCALIZABLE"
Const ServiceControl_Event          = 3 : ServiceControlTable(ServiceControl_Event)          = "`Event` SHORT NOT NULL"
Const ServiceControl_Arguments      = 4 : ServiceControlTable(ServiceControl_Arguments)      = "`Arguments` CHAR(255) LOCALIZABLE"
Const ServiceControl_Wait           = 5 : ServiceControlTable(ServiceControl_Wait)           = "`Wait` SHORT"
Const ServiceControl_Component_     = 6 : ServiceControlTable(ServiceControl_Component_)     = "`Component_` CHAR(72) NOT NULL"
Dim   ServiceInstallTable(13)           : ServiceInstallTable(0)                             = "`ServiceInstall`"
Const ServiceInstall_ServiceInstall = 1 : ServiceInstallTable(ServiceInstall_ServiceInstall) = "`ServiceInstall` CHAR(72) NOT NULL PRIMARY KEY"
Const ServiceInstall_Name           = 2 : ServiceInstallTable(ServiceInstall_Name)           = "`Name` CHAR(255) NOT NULL"
Const ServiceInstall_DisplayName    = 3 : ServiceInstallTable(ServiceInstall_DisplayName)    = "`DisplayName` CHAR(255) LOCALIZABLE"
Const ServiceInstall_ServiceType    = 4 : ServiceInstallTable(ServiceInstall_ServiceType)    = "`ServiceType` LONG NOT NULL"
Const ServiceInstall_StartType      = 5 : ServiceInstallTable(ServiceInstall_StartType)      = "`StartType` LONG NOT NULL"
Const ServiceInstall_ErrorControl   = 6 : ServiceInstallTable(ServiceInstall_ErrorControl)   = "`ErrorControl` LONG NOT NULL"
Const ServiceInstall_LoadOrderGroup = 7 : ServiceInstallTable(ServiceInstall_LoadOrderGroup) = "`LoadOrderGroup` CHAR(255)"
Const ServiceInstall_Dependencies   = 8 : ServiceInstallTable(ServiceInstall_Dependencies)   = "`Dependencies` CHAR(255)"
Const ServiceInstall_StartName      = 9 : ServiceInstallTable(ServiceInstall_StartName)      = "`StartName` CHAR(255)"
Const ServiceInstall_Password       =10 : ServiceInstallTable(ServiceInstall_Password)       = "`Password` CHAR(255)"
Const ServiceInstall_Arguments      =11 : ServiceInstallTable(ServiceInstall_Arguments)      = "`Arguments` CHAR(255)"
Const ServiceInstall_Component_     =12 : ServiceInstallTable(ServiceInstall_Component_)     = "`Component_` CHAR(72) NOT NULL"
Const ServiceInstall_Description    =13 : ServiceInstallTable(ServiceInstall_Description)    = "`Description` CHAR(255) LOCALIZABLE"
Dim   ShortcutTable(12)        : ShortcutTable(0)                    = "`Shortcut`"
Const Shortcut_Shortcut    = 1 : ShortcutTable(Shortcut_Shortcut)    = "`Shortcut` CHAR(72) NOT NULL PRIMARY KEY"
Const Shortcut_Directory_  = 2 : ShortcutTable(Shortcut_Directory_)  = "`Directory_` CHAR(72) NOT NULL"
Const Shortcut_Name        = 3 : ShortcutTable(Shortcut_Name)        = "`Name` CHAR(128) NOT NULL LOCALIZABLE"
Const Shortcut_Component_  = 4 : ShortcutTable(Shortcut_Component_)  = "`Component_` CHAR(72) NOT NULL"
Const Shortcut_Target      = 5 : ShortcutTable(Shortcut_Target)      = "`Target` CHAR(72) NOT NULL"
Const Shortcut_Arguments   = 6 : ShortcutTable(Shortcut_Arguments)   = "`Arguments` CHAR(255)"
Const Shortcut_Description = 7 : ShortcutTable(Shortcut_Description) = "`Description` CHAR(255) LOCALIZABLE"
Const Shortcut_Hotkey      = 8 : ShortcutTable(Shortcut_Hotkey)      = "`Hotkey` SHORT"
Const Shortcut_Icon_       = 9 : ShortcutTable(Shortcut_Icon_)       = "`Icon_` CHAR(72)"
Const Shortcut_IconIndex   =10 : ShortcutTable(Shortcut_IconIndex)   = "`IconIndex` SHORT"
Const Shortcut_ShowCmd     =11 : ShortcutTable(Shortcut_ShowCmd)     = "`ShowCmd` SHORT"
Const Shortcut_WkDir       =12 : ShortcutTable(Shortcut_WkDir)       = "`WkDir` CHAR(72)"
Dim   SignatureTable(9)        : SignatureTable(0)                    = "`Signature`"
Const Signature_Signature  = 1 : SignatureTable(Signature_Signature)  = "`Signature` CHAR(72) NOT NULL PRIMARY KEY"
Const Signature_FileName   = 2 : SignatureTable(Signature_FileName)   = "`FileName` CHAR(255) NOT NULL"
Const Signature_MinVersion = 3 : SignatureTable(Signature_MinVersion) = "`MinVersion` CHAR(20)"
Const Signature_MaxVersion = 4 : SignatureTable(Signature_MaxVersion) = "`MaxVersion` CHAR(20)"
Const Signature_MinSize    = 5 : SignatureTable(Signature_MinSize)    = "`MinSize` LONG"
Const Signature_MaxSize    = 6 : SignatureTable(Signature_MaxSize)    = "`MaxSize` LONG"
Const Signature_MinDate    = 7 : SignatureTable(Signature_MinDate)    = "`MinDate` LONG"
Const Signature_MaxDate    = 8 : SignatureTable(Signature_MaxDate)    = "`MaxDate` LONG"
Const Signature_Languages  = 9 : SignatureTable(Signature_Languages)  = "`Languages` CHAR(255)"
Dim   TextStyleTable(5)       : TextStyleTable(0)                   = "`TextStyle`"
Const TextStyle_TextStyle = 1 : TextStyleTable(TextStyle_TextStyle) = "`TextStyle` CHAR(72) NOT NULL PRIMARY KEY"
Const TextStyle_FaceName  = 2 : TextStyleTable(TextStyle_FaceName)  = "`FaceName` CHAR(32) NOT NULL"
Const TextStyle_Size      = 3 : TextStyleTable(TextStyle_Size)      = "`Size` SHORT NOT NULL"
Const TextStyle_Color     = 4 : TextStyleTable(TextStyle_Color)     = "`Color` LONG"
Const TextStyle_StyleBits = 5 : TextStyleTable(TextStyle_StyleBits) = "`StyleBits` SHORT"
Dim   TypeLibTable(8)         : TypeLibTable(0)                   = "`TypeLib`"
Const TypeLib_LibID       = 1 : TypeLibTable(TypeLib_LibID)       = "`LibID` CHAR(38) NOT NULL PRIMARY KEY"
Const TypeLib_Language    = 2 : TypeLibTable(TypeLib_Language)    = "`Language` SHORT NOT NULL PRIMARY KEY"
Const TypeLib_Component_  = 3 : TypeLibTable(TypeLib_Component_)  = "`Component_` CHAR(72) NOT NULL PRIMARY KEY"
Const TypeLib_Version     = 4 : TypeLibTable(TypeLib_Version)     = "`Version` SHORT"
Const TypeLib_Description = 5 : TypeLibTable(TypeLib_Description) = "`Description` CHAR(128) LOCALIZABLE"
Const TypeLib_Directory_  = 6 : TypeLibTable(TypeLib_Directory_)  = "`Directory_` CHAR(72)"
Const TypeLib_Feature_    = 7 : TypeLibTable(TypeLib_Feature_)    = "`Feature_` CHAR(38)"
Const TypeLib_Cost        = 8 : TypeLibTable(TypeLib_Cost)        = "`Cost` LONG"
Dim   UITextTable(2)  : UITextTable(0)           = "`UIText`"
Const UIText_Key  = 1 : UITextTable(UIText_Key)  = "`Key` CHAR(72) NOT NULL PRIMARY KEY"
Const UIText_Text = 2 : UITextTable(UIText_Text) = "`Text` CHAR(255) LOCALIZABLE"
Dim   UpgradeTable(7)            : UpgradeTable(0)                      = "`Upgrade`"
Const Upgrade_UpgradeCode    = 1 : UpgradeTable(Upgrade_UpgradeCode)    = "`UpgradeCode` CHAR(38) NOT NULL PRIMARY KEY"
Const Upgrade_VersionMin     = 2 : UpgradeTable(Upgrade_VersionMin)     = "`VersionMin` CHAR(20) PRIMARY KEY"
Const Upgrade_VersionMax     = 3 : UpgradeTable(Upgrade_VersionMax)     = "`VersionMax` CHAR(20) PRIMARY KEY"
Const Upgrade_Language       = 4 : UpgradeTable(Upgrade_Language)       = "`Language` CHAR(255) PRIMARY KEY"
Const Upgrade_Attributes     = 5 : UpgradeTable(Upgrade_Attributes)     = "`Attributes` LONG NOT NULL PRIMARY KEY"
Const Upgrade_Remove         = 6 : UpgradeTable(Upgrade_Remove)         = "`Remove` CHAR(255)"
Const Upgrade_ActionProperty = 7 : UpgradeTable(Upgrade_ActionProperty) = "`ActionProperty` CHAR(72) NOT NULL"
Dim   VerbTable(5)        : VerbTable(0)               = "`Verb`"
Const Verb_Extension_ = 1 : VerbTable(Verb_Extension_) = "`Extension_` CHAR(255) NOT NULL PRIMARY KEY"
Const Verb_Verb       = 2 : VerbTable(Verb_Verb)       = "`Verb` CHAR(32) NOT NULL PRIMARY KEY"
Const Verb_Sequence   = 3 : VerbTable(Verb_Sequence)   = "`Sequence` SHORT"
Const Verb_Command    = 4 : VerbTable(Verb_Command)    = "`Command` CHAR(255) LOCALIZABLE"
Const Verb_Argument   = 5 : VerbTable(Verb_Argument)   = "`Argument` CHAR(255) LOCALIZABLE"
Dim   ValidationTable(10)        : ValidationTable(0)                      = "`_Validation`"
Const Validation_Table       = 1 : ValidationTable(Validation_Table)       = "`Table` CHAR(32) NOT NULL PRIMARY KEY"
Const Validation_Column      = 2 : ValidationTable(Validation_Column)      = "`Column` CHAR(32) NOT NULL PRIMARY KEY"
Const Validation_Nullable    = 3 : ValidationTable(Validation_Nullable)    = "`Nullable` CHAR(4) NOT NULL"
Const Validation_MinValue    = 4 : ValidationTable(Validation_MinValue)    = "`MinValue` LONG"
Const Validation_MaxValue    = 5 : ValidationTable(Validation_MaxValue)    = "`MaxValue` LONG"
Const Validation_KeyTable    = 6 : ValidationTable(Validation_KeyTable)    = "`KeyTable` CHAR(255)"
Const Validation_KeyColumn   = 7 : ValidationTable(Validation_KeyColumn)   = "`KeyColumn` SHORT"
Const Validation_Category    = 8 : ValidationTable(Validation_Category)    = "`Category` CHAR(32)"
Const Validation_Set         = 9 : ValidationTable(Validation_Set)         = "`Set` CHAR(255)"
Const Validation_Description =10 : ValidationTable(Validation_Description) = "`Description` CHAR(255)"

' windows installer 1.5 tables
Dim MsiAssemblyTable(5): MsiAssemblyTable(0) = "`MsiAssembly`"
Const MsiAssembly_Component_ = 1 : MsiAssemblyTable(MsiAssembly_Component_) = "`Component_` CHAR(72) NOT NULL PRIMARY KEY"
Const MsiAssembly_Feature_ = 2 : MsiAssemblyTable(MsiAssembly_Feature_) = "`Feature_` CHAR(38) NOT NULL"
Const MsiAssembly_File_Manifest = 3 : MsiAssemblyTable(MsiAssembly_File_Manifest)  = "`File_Manifest` CHAR(72)"
Const MsiAssembly_File_Application = 4 : MsiAssemblyTable(MsiAssembly_File_Application)  = "`File_Application` CHAR(72)"
Const MsiAssembly_Attributes = 5 : MsiAssemblyTable(MsiAssembly_Attributes)  = "`Attributes` SHORT NOT NULL"
Dim MsiAssemblyNameTable(3): MsiAssemblyNameTable(0) = "`MsiAssemblyName`"
Const MsiAssemblyName_Component_ = 1 : MsiAssemblyNameTable(MsiAssemblyName_Component_) = "`Component_` CHAR(72) NOT NULL PRIMARY KEY"
Const MsiAssemblyName_Name = 2 : MsiAssemblyNameTable(MsiAssemblyName_Name) = "`Name` CHAR(255) NOT NULL PRIMARY KEY"
Const MsiAssemblyName_Value  = 3 : MsiAssemblyNameTable(MsiAssemblyName_Value)  = "`Value` CHAR(255)"
Dim MsiDigitalCertificateTable(2): MsiDigitalCertificateTable(0) = "`MsiDigitalCertificate`"
Const MsiDigitalCertificate_DigitalCertificate = 1 : MsiDigitalCertificateTable(MsiDigitalCertificate_DigitalCertificate) = "`DigitalCertificate` CHAR(72) NOT NULL PRIMARY KEY"
Const MsiDigitalCertificate_CertData = 2 : MsiDigitalCertificateTable(MsiDigitalCertificate_CertData) = "`CertData` OBJECT NOT NULL"
Dim MsiDigitalSignatureTable(4): MsiDigitalSignatureTable(0) = "`MsiDigitalSignature`"
Const MsiDigitalSignature_Table = 1 : MsiDigitalSignatureTable(MsiDigitalSignature_Table) = "`Table` CHAR(32) NOT NULL PRIMARY KEY"
Const MsiDigitalSignature_SignObject = 2 : MsiDigitalSignatureTable(MsiDigitalSignature_SignObject) = "`SignObject` CHAR(72) NOT NULL PRIMARY KEY"
Const MsiDigitalSignature_DigitalCertificate_ = 3 : MsiDigitalSignatureTable(MsiDigitalSignature_DigitalCertificate_)  = "`DigitalCertificate_` CHAR(72) NOT NULL"
Const MsiDigitalSignature_Hash = 4 : MsiDigitalSignatureTable(MsiDigitalSignature_Hash)  = "`Hash` OBJECT"
Dim MsiFileHashTable(6): MsiFileHashTable(0) = "`MsiFileHash`"
Const MsiFileHash_File_ = 1 : MsiFileHashTable(MsiFileHash_File_) = "`File_` CHAR(72) NOT NULL PRIMARY KEY"
Const MsiFileHash_Options = 2 : MsiFileHashTable(MsiFileHash_Options) = "`Options` SHORT NOT NULL"
Const MsiFileHash_HashPart1 = 3 : MsiFileHashTable(MsiFileHash_HashPart1) = "`HashPart1` LONG NOT NULL"
Const MsiFileHash_HashPart2 = 4 : MsiFileHashTable(MsiFileHash_HashPart2) = "`HashPart2` LONG NOT NULL"
Const MsiFileHash_HashPart3 = 5 : MsiFileHashTable(MsiFileHash_HashPart3) = "`HashPart3` LONG NOT NULL"
Const MsiFileHash_HashPart4 = 6 : MsiFileHashTable(MsiFileHash_HashPart4) = "`HashPart4` LONG NOT NULL"

' merge module only tables
Dim   ModuleSignatureTable(3): ModuleSignatureTable(0)        = "`ModuleSignature`"
Const ModuleSignature_ModuleID = 1 : ModuleSignatureTable(ModuleSignature_ModuleID) = "`ModuleID` CHAR(72) NOT NULL PRIMARY KEY"
Const ModuleSignature_Language = 2 : ModuleSignatureTable(ModuleSignature_Language) = "`Language` SHORT NOT NULL PRIMARY KEY"
Const ModuleSignature_Version  = 3 : ModuleSignatureTable(ModuleSignature_Version)  = "`Version` CHAR(72) NOT NULL"
Dim   ModuleComponentsTable(3): ModuleComponentsTable(0)         = "`ModuleComponents`"
Const ModuleComponents_Component  = 1 : ModuleComponentsTable(ModuleComponents_Component)  = "`Component` CHAR(72) NOT NULL PRIMARY KEY"
Const ModuleComponents_ModuleID   = 2 : ModuleComponentsTable(ModuleComponents_ModuleID)   = "`ModuleID` CHAR(72) NOT NULL PRIMARY KEY"
Const ModuleComponents_Language   = 3 : ModuleComponentsTable(ModuleComponents_Language)   = "`Language` SHORT NOT NULL PRIMARY KEY"
Dim   ModuleDependencyTable(5)              : ModuleDependencyTable(0)                                 = "`ModuleDependency`"
Const ModuleDependency_ModuleID         = 1 : ModuleDependencyTable(ModuleDependency_ModuleID)         = "`ModuleID` CHAR(72) NOT NULL PRIMARY KEY"
Const ModuleDependency_ModuleLanguage   = 2 : ModuleDependencyTable(ModuleDependency_ModuleLanguage)   = "`ModuleLanguage` SHORT NOT NULL PRIMARY KEY"
Const ModuleDependency_RequiredID       = 3 : ModuleDependencyTable(ModuleDependency_RequiredID)       = "`RequiredID` CHAR(72) NOT NULL PRIMARY KEY"
Const ModuleDependency_RequiredLanguage = 4 : ModuleDependencyTable(ModuleDependency_RequiredLanguage) = "`RequiredLanguage` SHORT NOT NULL PRIMARY KEY"
Const ModuleDependency_RequiredVersion  = 5 : ModuleDependencyTable(ModuleDependency_RequiredVersion)  = "`RequiredVersion` CHAR(72)"

' patching tables
Dim   ExternalFilesTable(8)           : ExternalFilesTable(0)                           = "`ExternalFiles`"
Const ExternalFiles_Family        = 1 : ExternalFilesTable(ExternalFiles_Family)        = "`Family` CHAR(8) NOT NULL PRIMARY KEY"
Const ExternalFiles_FTK           = 2 : ExternalFilesTable(ExternalFiles_FTK)           = "`FTK` CHAR(128) NOT NULL PRIMARY KEY"
Const ExternalFiles_FilePath      = 3 : ExternalFilesTable(ExternalFiles_FilePath)      = "`FilePath` CHAR(255) NOT NULL PRIMARY KEY"
Const ExternalFiles_SymbolPaths   = 4 : ExternalFilesTable(ExternalFiles_SymbolPaths)   = "`SymbolPaths` CHAR(255)"
Const ExternalFiles_IgnoreOffsets = 5 : ExternalFilesTable(ExternalFiles_IgnoreOffsets) = "`IgnoreOffsets` CHAR(255)"
Const ExternalFiles_IgnoreLengths = 6 : ExternalFilesTable(ExternalFiles_IgnoreLengths) = "`IgnoreLengths` CHAR(255)"
Const ExternalFiles_RetainOffsets = 7 : ExternalFilesTable(ExternalFiles_RetainOffsets) = "`RetainOffsets` CHAR(255)"
Const ExternalFiles_Order         = 8 : ExternalFilesTable(ExternalFiles_Order)         = "`Order` SHORT NOT NULL"
Dim   FamilyFileRangesTable(4)               : FamilyFileRangesTable(0)                             = "`FamilyFileRanges`"
Const FamilyFileRanges_Family         = 1 : FamilyFileRangesTable(FamilyFileRanges_Family)          = "`Family` CHAR(8) NOT NULL PRIMARY KEY"
Const FamilyFileRanges_FTK           = 2 : FamilyFileRangesTable(FamilyFileRanges_FTK)           = "`FTK` CHAR(128) NOT NULL PRIMARY KEY"
Const FamilyFileRanges_RetainOffsets = 3 : FamilyFileRangesTable(FamilyFileRanges_RetainOffsets) = "`RetainOffsets` CHAR(128) NOT NULL"
Const FamilyFileRanges_RetainLengths = 4 : FamilyFileRangesTable(FamilyFileRanges_RetainLengths) = "`RetainLengths` CHAR(128) NOT NULL"
Dim   ImageFamiliesTable(6)               : ImageFamiliesTable(0)                              = "`ImageFamilies`"
Const ImageFamilies_Family            = 1 : ImageFamiliesTable(ImageFamilies_Family)           = "`Family` CHAR(8) NOT NULL PRIMARY KEY"
Const ImageFamilies_MediaSrcPropName  = 2 : ImageFamiliesTable(ImageFamilies_MediaSrcPropName) = "`MediaSrcPropName` CHAR(72) NOT NULL"
Const ImageFamilies_MediaDiskId       = 3 : ImageFamiliesTable(ImageFamilies_MediaDiskId)      = "`MediaDiskId` SHORT NOT NULL"
Const ImageFamilies_FileSequenceStart = 4 : ImageFamiliesTable(ImageFamilies_FileSequenceStart)= "`FileSequenceStart` SHORT NOT NULL"
Const ImageFamilies_DiskPrompt        = 5 : ImageFamiliesTable(ImageFamilies_DiskPrompt)       = "`DiskPrompt` CHAR(128)"
Const ImageFamilies_VolumeLabel       = 6 : ImageFamiliesTable(ImageFamilies_VolumeLabel)      = "`VolumeLabel` CHAR(32)"
Dim   PropertiesTable(2)      : PropertiesTable(0)                   = "`Properties`"
Const Properties_Name = 1 : PropertiesTable(Properties_Name) = "`Name` CHAR(72) NOT NULL PRIMARY KEY"
Const Properties_Value    = 2 : PropertiesTable(Properties_Value)    = "`Value` CHAR(128) NOT NULL LOCALIZABLE"
Dim   TargetFiles_OptionalDataTable(6)               : TargetFiles_OptionalDataTable(0)                              = "`TargetFiles_OptionalData`"
Const TargetFiles_OptionalData_Target            = 1 : TargetFiles_OptionalDataTable(TargetFiles_OptionalData_Target)           = "`Target` CHAR(13) NOT NULL PRIMARY KEY"
Const TargetFiles_OptionalData_FTK  = 2 : TargetFiles_OptionalDataTable(TargetFiles_OptionalData_FTK) = "`FTK` CHAR(255) NOT NULL PRIMARY KEY"
Const TargetFiles_OptionalData_SymbolPaths       = 3 : TargetFiles_OptionalDataTable(TargetFiles_OptionalData_SymbolPaths)      = "`SymbolPaths` CHAR(255)"
Const TargetFiles_OptionalData_IgnoreOffsets = 4 : TargetFiles_OptionalDataTable(TargetFiles_OptionalData_IgnoreOffsets)= "`IgnoreOffsets` CHAR(255)"
Const TargetFiles_OptionalData_IgnoreLengths        = 5 : TargetFiles_OptionalDataTable(TargetFiles_OptionalData_IgnoreLengths)       = "`IgnoreLengths` CHAR(255)"
Const TargetFiles_OptionalData_RetainOffsets       = 6 : TargetFiles_OptionalDataTable(TargetFiles_OptionalData_RetainOffsets)      = "`RetainOffsets` CHAR(255)"
Dim   TargetImagesTable(7)                   : TargetImagesTable(0)                                  = "`TargetImages`"
Const TargetImages_Target                = 1 : TargetImagesTable(TargetImages_Target)                = "`Target` CHAR(13) NOT NULL PRIMARY KEY"
Const TargetImages_MsiPath               = 2 : TargetImagesTable(TargetImages_MsiPath)               = "`MsiPath` CHAR(255) NOT NULL"
Const TargetImages_SymbolPaths           = 3 : TargetImagesTable(TargetImages_SymbolPaths)           = "`SymbolPaths` CHAR(255)"
Const TargetImages_Upgraded              = 4 : TargetImagesTable(TargetImages_Upgraded)              = "`Upgraded` CHAR(13) NOT NULL"
Const TargetImages_Order                 = 5 : TargetImagesTable(TargetImages_Order)                 = "`Order` SHORT NOT NULL"
Const TargetImages_ProductValidateFlags  = 6 : TargetImagesTable(TargetImages_ProductValidateFlags)  = "`ProductValidateFlags` CHAR(16)"
Const TargetImages_IgnoreMissingSrcFiles = 7 : TargetImagesTable(TargetImages_IgnoreMissingSrcFiles) = "`IgnoreMissingSrcFiles` SHORT NOT NULL"
Dim   UpgradedFilesToIgnoreTable(2)      : UpgradedFilesToIgnoreTable(0)                              = "`UpgradedFilesToIgnore`"
Const UpgradedFilesToIgnore_Upgraded = 1 : UpgradedFilesToIgnoreTable(UpgradedFilesToIgnore_Upgraded) = "`Upgraded` CHAR(13) NOT NULL PRIMARY KEY"
Const UpgradedFilesToIgnore_FTK      = 2 : UpgradedFilesToIgnoreTable(UpgradedFilesToIgnore_FTK)      = "`FTK` CHAR(255) NOT NULL PRIMARY KEY"
Dim   UpgradedFiles_OptionalDataTable(5)              : UpgradedFiles_OptionalDataTable(0)                                      = "`UpgradedFiles_OptionalData`"
Const UpgradedFiles_OptionalData_Upgraded         = 1 : UpgradedFiles_OptionalDataTable(UpgradedFiles_OptionalData_Upgraded)    = "`Upgraded` CHAR(13) NOT NULL PRIMARY KEY"
Const UpgradedFiles_OptionalData_FTK              = 2 : UpgradedFiles_OptionalDataTable(UpgradedFiles_OptionalData_FTK)         = "`FTK` CHAR(255) NOT NULL PRIMARY KEY"
Const UpgradedFiles_OptionalData_SymbolPaths      = 3 : UpgradedFiles_OptionalDataTable(UpgradedFiles_OptionalData_SymbolPaths) = "`SymbolPaths` CHAR(255)"
Const UpgradedFiles_OptionalData_AllowIgnoreOnPatchError = 4 : UpgradedFiles_OptionalDataTable(UpgradedFiles_OptionalData_AllowIgnoreOnPatchError) = "`AllowIgnoreOnPatchError` SHORT"
Const UpgradedFiles_OptionalData_IncludeWholeFile = 5 : UpgradedFiles_OptionalDataTable(UpgradedFiles_OptionalData_IncludeWholeFile) = "`IncludeWholeFile` SHORT"
Dim   UpgradedImagesTable(5)          : UpgradedImagesTable(0)                           = "`UpgradedImages`"
Const UpgradedImages_Upgraded     = 1 : UpgradedImagesTable(UpgradedImages_Upgraded)     = "`Upgraded` CHAR(13) NOT NULL PRIMARY KEY"
Const UpgradedImages_MsiPath      = 2 : UpgradedImagesTable(UpgradedImages_MsiPath)      = "`MsiPath` CHAR(255) NOT NULL"
Const UpgradedImages_PatchMsiPath = 3 : UpgradedImagesTable(UpgradedImages_PatchMsiPath) = "`PatchMsiPath` CHAR(255)"
Const UpgradedImages_SymbolPaths  = 4 : UpgradedImagesTable(UpgradedImages_SymbolPaths)  = "`SymbolPaths` CHAR(255)"
Const UpgradedImages_Family       = 5 : UpgradedImagesTable(UpgradedImages_Family)       = "`Family` CHAR(8) NOT NULL"

Dim   dictStdDirs                : Set dictStdDirs = CreateObject("Scripting.Dictionary")
   dictStdDirs.Add "AdminToolsFolder", ""
   dictStdDirs.Add "AppDataFolder", ""
   dictStdDirs.Add "CommonAppDataFolder", ""
   dictStdDirs.Add "CommonFilesFolder", ""
   dictStdDirs.Add "DesktopFolder", ""
   dictStdDirs.Add "FavoritesFolder", ""
   dictStdDirs.Add "FontsFolder", ""
   dictStdDirs.Add "LocalAppDataFolder", ""
   dictStdDirs.Add "MyPicturesFolder", ""
   dictStdDirs.Add "PersonalFolder", ""
   dictStdDirs.Add "ProgramFilesFolder", ""
   dictStdDirs.Add "ProgramMenuFolder", ""
   dictStdDirs.Add "SendToFolder", ""
   dictStdDirs.Add "StartMenuFolder", ""
   dictStdDirs.Add "StartupFolder", ""
   dictStdDirs.Add "System16Folder", ""
   dictStdDirs.Add "SystemFolder", ""
   dictStdDirs.Add "TempFolder", ""
   dictStdDirs.Add "TemplateFolder", ""
   dictStdDirs.Add "WindowsFolder", ""
   dictStdDirs.Add "WindowsVolume", ""
   dictStdDirs.Add "CommonFiles64Folder", ""
   dictStdDirs.Add "ProgramFiles64Folder", ""
   dictStdDirs.Add "System64Folder", ""