//+-------------------------------------------------------------------------
//
//  Microsoft Windows
//
//  Copyright (C) Microsoft Corporation, 1995 - 2001
//
//  File:       debugerr.h
//
//--------------------------------------------------------------------------

IShipError(imsgFatalExit,                                      0/*imtFatalExit*/) // only used if error on server
IShipError(imsgError,                                          1/*imtError*/)    // log and display
IShipError(imsgWarning,                                        2/*imtWarning*/)  // log and display
IShipError(imsgUser,                                           3/*imtUser*/)               // display only
IShipError(imsgInfo,          4/*imtInfo*/)     // log only
IShipError(imsgDebugError,    5/*imtFilesInUse*/)  // idbgXXX
//     imsgFilesinUse,    5/*imtFilesInUse*/
IShipError(imsgResolveSource, 6/*imtResolveSource*/) // not used
IShipError(imsgOutOfSpace,    7/*imtOutOfDiskSpace*/)
IShipError(imsgActionStart,   8/*imtActionStart*/) 
IShipError(imsgDialogCaption, 9/*imtActionData*/)
//     imsgActionData,    9/*imtActionData*/    (action data template stored in Action table)
IShipError(imsgDefaultError, 10/*imtProgress*/)  // message not in table
//     imsgProgress,     10/*imtProgress*/      (progress messages not displayed or logged)
IShipError(imsgCommonData,   11/*imtCommonData*/)  // log only

// Log strings, not displayed
IShipError(imsgLogHeader,    12/*imtLogHeader*/)
IShipError(imsgLogTrailer,   13/*imtLogTrailer*/)
IShipError(imsgActionStarted,14/*imtActionStarted*/)
IShipError(imsgActionEnded,  15/*imtActionEnded*/)

// UI messages that are cached by the message processor
IShipError(imsgTimeRemaining,16/*imtTimeRemaining*/)
IShipError(imsgOutOfMemory,  17/*imtOutOfMemory*/)
IShipError(imsgTimedOut,     18/*imtTimedOut*/)
IShipError(imsgException,    19/*imtException*/)

IShipError(imsgBannerText,   20/*imtBannerText*/)
IShipError(imsgScriptInProgress,21/*imtScriptInProgress*/)

IShipError(imsgUpgradeRemoveTimeRemaining,22/*imtUpgradeRemoveTimeRemaining*/)
IShipError(imsgUpgradeRemoveScriptInProgress,23/*imtUpgradeRemoveScriptInProgress*/)

// General messages, don't have associated imt value
IShipError(imsgInstallSucceeded,                     32)
IShipError(imsgInstallFailed,                        33)

// imsgServices = 1100
IShipError(imsgOpenFileStream,           imsgServices + 1)

// imsgFile     = 1300
IShipError(imsgDirErrorOpeningFileForWrite,  imsgFile +  1)
IShipError(imsgPromptForDisk,                imsgFile +  2)
IShipError(imsgSystemDeniedAccess,           imsgFile +  3)
IShipError(imsgErrorWritingToFile,           imsgFile +  4)
IShipError(imsgErrorReadingFromFile,         imsgFile +  5)
IShipError(imsgSharingViolation,             imsgFile +  6)
IShipError(imsgDiskFull,                     imsgFile +  7)
IShipError(imsgErrorSourceFileNotFound,      imsgFile +  8)
IShipError(imsgErrorOpeningFileForRead,      imsgFile +  9)
IShipError(imsgErrorOpeningFileForWrite,     imsgFile + 10)
IShipError(imsgErrorOpeningCabinet,          imsgFile + 11)
IShipError(imsgFileErrorCreatingDir,         imsgFile + 12)
IShipError(imsgVolumeDoesNotExist,           imsgFile + 13)
IShipError(imsgPathNotAccessible,            imsgFile + 14)
IShipError(imsgDirectoryNotWritable,         imsgFile + 15)
IShipError(imsgNetErrorReadingFromFile,      imsgFile + 16)
IShipError(imsgErrorCreatingDir,             imsgFile + 17)
IShipError(imsgNetErrorCreatingDir,          imsgFile + 18)
IShipError(imsgNetErrorOpeningCabinet,       imsgFile + 19)
IShipError(imsgPathNameTooLong,              imsgFile + 20)
IShipError(imsgAccessToFileDenied,           imsgFile + 21)
IShipError(imsgErrorFileNameLength,          imsgFile + 22)
IShipError(imsgFileNameHasReservedWords,     imsgFile + 23)
IShipError(imsgFileNameHasReservedChars,     imsgFile + 24)
IShipError(imsgInvalidShortFileNameFormat,   imsgFile + 25)
IShipError(imsgGetFileSecurity,              imsgFile + 26)
IShipError(imsgInvalidDrive,                 imsgFile + 27)
IShipError(imsgApplyPatchError,              imsgFile + 28)
IShipError(imsgCABSignatureMissing,          imsgFile + 29)
IShipError(imsgCABSignatureRejected,         imsgFile + 30)
IShipError(imsgOpBadCRCAfterCopy,            imsgFile + 31)
IShipError(imsgOpBadCRCAfterMove,            imsgFile + 32)
IShipError(imsgOpBadCRCAfterPatch,           imsgFile + 33)
IShipError(imsgFileNotInCabinet,             imsgFile + 34)
IShipError(imsgCorruptCabinet,               imsgFile + 35)
IShipError(imsgErrorCreatingTempFileName,    imsgFile + 36)

// imsgRegistry = 1400
IShipError(imsgCreateKeyFailed,           imsgRegistry + 1)
IShipError(imsgOpenKeyFailed,             imsgRegistry + 2)
IShipError(imsgRemoveValueFailed,         imsgRegistry + 3)
IShipError(imsgRemoveKeyFailed,           imsgRegistry + 4)
IShipError(imsgGetValueFailed,            imsgRegistry + 5)
IShipError(imsgSetValueFailed,            imsgRegistry + 6)
IShipError(imsgGetValueEnumeratorFailed,  imsgRegistry + 7)
IShipError(imsgGetSubKeyEnumeratorFailed, imsgRegistry + 8)
IShipError(imsgSecurityFailed,            imsgRegistry + 9)
IShipError(imsgOutOfRegistrySpace,        imsgRegistry +10)

// imsgConfig   = 1500
IShipError(imsgInstallInProgress,             imsgConfig + 0)
IShipError(imsgErrorAccessingSecuredData,     imsgConfig + 1)
IShipError(imsgDiffUserInstallInProgress,     imsgConfig + 2)
IShipError(imsgDiffUserInstallInProgressAfterReboot, imsgConfig + 3)

// imsgAction   = 1600
IShipError(imsgOutOfDiskSpace,              imsgAction +  1)
IShipError(imsgConfirmCancel,               imsgAction +  2)
IShipError(imsgFileInUseLog,                imsgAction +  3)
IShipError(imsgInstallBlocked,              imsgAction +  4)
IShipError(imsgOutOfRbDiskSpace,            imsgAction +  5)
IShipError(imsgErrorCreateNetPath,          imsgAction +  6)
IShipError(imsgFileInUseDescription,        imsgAction +  7)
IShipError(imsgCCPSearchFailed,             imsgAction +  8)
IShipError(imsgCreateAclFailed,             imsgAction +  9)

// imsgEngine   = 1700
IShipError(imsgInvalidPID,                 imsgEngine +  1)
IShipError(imsgRebootNow,                  imsgEngine +  2)
IShipError(imsgRebootAtEnd,                imsgEngine +  3)
IShipError(imsgOtherInstallSuspended,      imsgEngine +  4)
IShipError(imsgResumeWithDifferentOptions, imsgEngine +  5)
IShipError(imsgSourceResolutionFailed,     imsgEngine +  6)
IShipError(imsgEventLogInstallSuccess,	    imsgEngine +  7)
IShipError(imsgEventLogInstallFailed,	    imsgEngine +  8)
IShipError(imsgEventLogTemplate,		       imsgEngine +  9)
IShipError(imsgRestoreOrContinue,          imsgEngine + 10)
IShipError(imsgScriptWriteError,		       imsgEngine + 11)
IShipError(imsgRollbackScriptError,        imsgEngine + 12)
IShipError(imsgNestedInstallInitError,     imsgEngine + 13)
IShipError(imsgUpgradeRemovalInitError,    imsgEngine + 14)
IShipError(imsgSRRestorePointInstall,      imsgEngine + 15)
IShipError(imsgSRRestorePointConfigure,    imsgEngine + 16)
IShipError(imsgSRRestorePointRemove,       imsgEngine + 17)
IShipError(imsgMsiFileRejected,            imsgEngine + 18)
IShipError(imsgServiceConnectionFailure,   imsgEngine + 19)
IShipError(imsgCustomActionScriptFailed,   imsgEngine + 20)
IShipError(imsgCustomActionCreateExe,      imsgEngine + 21)
IShipError(imsgCustomActionExeFailed,      imsgEngine + 22)
IShipError(imsgCustomActionLoadLibrary,    imsgEngine + 23)
IShipError(imsgEventLogUninstallSuccess,   imsgEngine + 24)
IShipError(imsgEventLogUninstallFailed,	 imsgEngine + 25)
IShipError(imsgEventLogAdvertiseSuccess,	 imsgEngine + 26)
IShipError(imsgEventLogAdvertiseFailed,	 imsgEngine + 27)
IShipError(imsgEventLogConfigurationSuccess, imsgEngine + 28)
IShipError(imsgEventLogConfigurationFailed, imsgEngine + 29)
IShipError(imsgUserUninstallDisallowed,    imsgEngine + 30)

// imsgHandler  = 1800
IShipError(imsgNotAValidPath,               imsgHandler + 1)
IShipError(imsgOutOfMemoryUI,               imsgHandler + 2)
IShipError(imsgDiskNotInDrive,              imsgHandler + 3)
IShipError(imsgVolumeMissing,               imsgHandler + 4)
IShipError(imsgPathDoesNotExist,            imsgHandler + 5)
IShipError(imsgPathNotReadable,             imsgHandler + 6)
IShipError(imsgInvalidTargetFolder,         imsgHandler + 7)  

// imsgExecute  = 1900
IShipError(imsgOpFileCopyStreamReadErr,     imsgExecute + 1)
IShipError(imsgOpMoveFileOnReboot,          imsgExecute + 2)
IShipError(imsgOpDeleteFileOnReboot,        imsgExecute + 3)
IShipError(imsgOpRegSelfRegFailed,          imsgExecute + 4)
IShipError(imsgOpRegSelfUnregFailed,        imsgExecute + 5)
IShipError(imsgOpPackageCache,              imsgExecute + 6)
IShipError(imsgOpRegFont,                   imsgExecute + 7)
IShipError(imsgOpUnregFont,                 imsgExecute + 8)
IShipError(imsgOpShortcutCreate,            imsgExecute + 9)
IShipError(imsgOpShortcutRemove,            imsgExecute + 10)
IShipError(imsgOpRegisterTypeLibrary,       imsgExecute + 11)
IShipError(imsgOpUnregisterTypeLibrary,     imsgExecute + 12)
IShipError(imsgOpUpdateIni,                 imsgExecute + 13)
IShipError(imsgOpScheduleRebootReplace,     imsgExecute + 14)
IShipError(imsgODBCRemoveDriverManager,     imsgExecute + 15)
IShipError(imsgODBCInstallDriverManager,    imsgExecute + 16)
IShipError(imsgODBCRemoveDriver,            imsgExecute + 17)
IShipError(imsgODBCInstallDriver,           imsgExecute + 18)
IShipError(imsgODBCDataSource,              imsgExecute + 19)
IShipError(imsgOpStartServiceFailed,        imsgExecute + 20)
IShipError(imsgOpStopServiceFailed,	       imsgExecute + 21)
IShipError(imsgOpDeleteServiceFailed,       imsgExecute + 22)
IShipError(imsgOpInstallServiceFailed,      imsgExecute + 23)
IShipError(imsgUpdateEnvironment,	          imsgExecute + 24)
IShipError(imsgInsufficientUserPrivileges,  imsgExecute + 25)
IShipError(imsgOpSetFileSecurity,           imsgExecute + 26)
IShipError(imsgComPlusNotInstalled,         imsgExecute + 27)
IShipError(imsgComPlusCantInstallApp,       imsgExecute + 28)
IShipError(imsgComPlusCantRemoveApp,        imsgExecute + 29)
IShipError(imsgServiceChangeDescriptionFailed, imsgExecute + 30)
IShipError(imsgCannotUpdateProtectedFile,   imsgExecute + 31)
IShipError(imsgErrorUpdatingProtectedFile,  imsgExecute + 32)
IShipError(imsgSFCInstallProtectedFilesFailed, imsgExecute + 33)
IShipError(imsgUserInstallsDisabled,        imsgExecute + 34)
IShipError(imsgAssemblyInstallationError,   imsgExecute + 35)



// idbgHost = 2000
IDebugError(idbgDebugErrorPrefix,      idbgHost     +  0, "DEBUG: Error [1]:  ")

// idbgServices = 2100
IDebugError(idbgErrorShortCutUnsupported, idbgServices + 1, "Shortcuts not supported by the OS")
IDebugError(idbgInvalidIniAction,         idbgServices + 2, "Invalid .INI action: [2]")
IDebugError(idbgMissingShellFolder,       idbgServices + 3, "Could not resolve path for shell folder [2].")
IDebugError(idbgErrorWritingIniFile,      idbgServices + 4, "Writing .INI file: [3]: System error: [2]")
IDebugError(idbgErrorCreatingShortCut,    idbgServices + 5, "Shortcut Creation [3] Failed. System error: [2]")
IDebugError(idbgErrorDeletingShortCut,    idbgServices + 6, "Shortcut Deletion [3] Failed. System error: [2]")
IDebugError(idbgRegisterTypeLibrary,      idbgServices + 7, "Error [3] registering type library [2].")
IDebugError(idbgUnregisterTypeLibrary,    idbgServices + 8, "Error [3] unregistering type library [2].")
IDebugError(idbgErrorSectionMissing,      idbgServices + 9, "Section missing for INI action.")
IDebugError(idbgErrorKeyMissing,          idbgServices + 10,"Key missing for INI action.")
IDebugError(idbgGetPerfDataFailed,        idbgServices + 11,"Detection of running apps failed, could not get perf. data. Reg operation returned : [2].")
IDebugError(idbgGetPerfIdxs,              idbgServices + 12,"Detection of running apps failed, could not get perf. index.Reg operation returned : [2].")
IDebugError(idbgGetFileUsageFailed,       idbgServices + 13,"Detection of running apps failed.")

// idbgDatabase = 2200
IDebugError(idbgDbConstructor,         idbgDatabase +  0, "Database: [2]. Database object creation failed, mode = [3]")
IDebugError(idbgDbInitMemory,          idbgDatabase +  1, "Database: [2]. Initialization failed, out of memory")
IDebugError(idbgDbDataMemory,          idbgDatabase +  2, "Database: [2]. Data access failed, out of memory")
IDebugError(idbgDbOpenStorage,         idbgDatabase +  3, "Database: [2]. Cannot open database file. System error [3]")
IDebugError(idbgDbTableDefined,        idbgDatabase +  4, "Database: [2]. Table already exists: [3]")
IDebugError(idbgDbTableUndefined,      idbgDatabase +  5, "Database: [2]. Table does not exist: [3]")
IDebugError(idbgDbDropTable,           idbgDatabase +  6, "Database: [2]. Table could not be dropped: [3]")
IDebugError(idbgDbIntentViolation,     idbgDatabase +  7, "Database: [2]. Intent violation")
IDebugError(idbgDbParamCount,          idbgDatabase +  8, "Database: [2]. Insufficient parameters for Execute")
IDebugError(idbgDbWrongState,          idbgDatabase +  9, "Database: [2]. Cursor in invalid state")
IDebugError(idbgDbUpdateBadType,       idbgDatabase + 10, "Database: [2]. Invalid update data type in column [3]")
IDebugError(idbgDbTableCreate,         idbgDatabase + 11, "Database: [2]. Could not create database table [3]")
IDebugError(idbgDbNotWritable,         idbgDatabase + 12, "Database: [2]. Database not in writable state")
IDebugError(idbgDbCommitTables,        idbgDatabase + 13, "Database: [2]. Error saving database tables")
IDebugError(idbgDbExportFile,          idbgDatabase + 14, "Database: [2]. Error writing export file: [3]")
IDebugError(idbgDbImportFileOpen,      idbgDatabase + 15, "Database: [2]. Cannot open import file: [3]")
IDebugError(idbgDbImportFileRead,      idbgDatabase + 16, "Database: [2]. Import file format error: [3], Line [4]")
IDebugError(idbgCreateOutputDb,        idbgDatabase + 17, "Database: [2]. Wrong state to CreateOutputDatabase [3].")
IDebugError(idbgDbNoTableName,         idbgDatabase + 18, "Database: [2]. Table name not supplied.")
IDebugError(idbgDbInvalidFormat,       idbgDatabase + 19, "Database: [2]. Invalid Installer database format")
IDebugError(idbgDbInvalidData,         idbgDatabase + 20, "Database: [2]. Invalid row/field data")
IDebugError(idbgDbCodepageConflict,    idbgDatabase + 21, "Database: [2]. Codepage conflict in import file: [3].")
IDebugError(idbgTransCodepageConflict, idbgDatabase + 22, "Database: [2]. Transform or merge codepage [3] differs from database codepage [4].")
IDebugError(idbgTransDatabasesAreSame, idbgDatabase + 23, "Database: [2]. Databases are the same. No transform generated.")
IDebugError(idbgDbCorrupt,                   idbgDatabase + 24, "Database: [2]. GenerateTransform: Database corrupt. Table: [3]")
IDebugError(idbgDbTransformTempTable,        idbgDatabase + 25, "Database: [2]. Transform: Cannot transform a temporary table. Table: [3]")
IDebugError(idbgDbTransformFailed,           idbgDatabase + 26, "Database: [2]. Transform failed.")
IDebugError(idbgDbQueryInvalidIdentifier,    idbgDatabase + 27, "Database: [2]. Invalid identifier '[3]' in SQL query: [4]")
IDebugError(idbgDbQueryUnknownTable,         idbgDatabase + 28, "Database: [2]. Unknown table '[3]' in SQL query: [4]")
IDebugError(idbgDbQueryLoadTableFailed,      idbgDatabase + 29, "Database: [2]. Could not load table '[3]' in SQL query: [4]")
IDebugError(idbgDbQueryTableRepeated,        idbgDatabase + 30, "Database: [2]. Repeated table '[3]' in SQL query: [4]")
IDebugError(idbgDbQueryMissingCloseParen,    idbgDatabase + 31, "Database: [2]. Missing ')' in SQL query: [3]")
IDebugError(idbgDbQueryUnexpectedToken,      idbgDatabase + 32, "Database: [2]. Unexpected token '[3]' in SQL query: [4]")
IDebugError(idbgDbQueryNoSelectColumns,      idbgDatabase + 33, "Database: [2]. No columns in SELECT clause in SQL query: [3]")
IDebugError(idbgDbQueryNoOrderByColumns,     idbgDatabase + 34, "Database: [2]. No columns in ORDER BY clause in SQL query: [3]")
IDebugError(idbgDbQueryUnknownColumn,        idbgDatabase + 35, "Database: [2]. Column '[3]' not present or ambiguous in SQL query: [4]")
IDebugError(idbgDbQueryInvalidOperator,      idbgDatabase + 36, "Database: [2]. Invalid operator '[3]' in SQL query: [4]")
IDebugError(idbgDbQuerySpec,                 idbgDatabase + 37, "Database: [2]. Invalid or missing query string: [3]")
IDebugError(idbgDbMissingFromClause,         idbgDatabase + 38, "Database: [2]. Missing FROM clause in SQL query: [3]")
IDebugError(idbgDbQueryInsufficentValues,    idbgDatabase + 39, "Database: [2]. Insufficent values in INSERT SQL stmt")
IDebugError(idbgDbQueryNoUpdateColumns,      idbgDatabase + 40, "Database: [2]. Missing update columns in UPDATE SQL stmt")
IDebugError(idbgDbQueryNoInsertColumns,      idbgDatabase + 41, "Database: [2]. Missing insert columns in INSERT SQL stmt")
IDebugError(idbgDbQueryRepeatColumn,         idbgDatabase + 42, "Database: [2]. Column '[3]' repeated")
IDebugError(idbgDbQueryNoPrimaryColumns,     idbgDatabase + 43, "Database: [2]. No primary columns defined for table creation")
IDebugError(idbgDbQueryInvalidType,          idbgDatabase + 44, "Database: [2]. Invalid type specifier '[3]' in SQL query [4].")
IDebugError(idbgStgStatFailed,               idbgDatabase + 45, "IStorage::Stat failed with error [3]")
IDebugError(idbgTransInvalidFormat,          idbgDatabase + 46, "Database: [2]. Invalid Installer transform format.")
IDebugError(idbgTransStreamError,            idbgDatabase + 47, "Database: [2] Transform stream read/write failure.")
IDebugError(idbgTransMergeDifferentColTypes, idbgDatabase + 48, "Database: [2] GenerateTransform/Merge: Column type in base table doesn't match reference table. Table: [3] Col #: [4]")
IDebugError(idbgTransExcessBaseCols,         idbgDatabase + 49, "Database: [2] GenerateTransform: More columns in base table than in reference table. Table: [3]")
IDebugError(idbgTransAddExistingRow,         idbgDatabase + 50, "Database: [2] Transform: Cannot add existing row. Table: [3]")
IDebugError(idbgTransDelNonExistingRow,      idbgDatabase + 51, "Database: [2] Transform: Cannot delete row that doesn't exist. Table: [3]")
IDebugError(idbgTransAddExistingTable,       idbgDatabase + 52, "Database: [2] Transform: Cannot add existing table. Table: [3]")
IDebugError(idbgTransDelNonExistingTable,    idbgDatabase + 53, "Database: [2] Transform: Cannot delete table that doesn't exist. Table: [3]")
IDebugError(idbgTransUpdNonExistingRow,      idbgDatabase + 54, "Database: [2] Transform: Cannot update row that doesn't exist. Table: [3]")
IDebugError(idbgTransDuplicateCol,           idbgDatabase + 55, "Database: [2] Transform: Column with this name already exists. Table: [3] Col: [4]")
IDebugError(idbgTransMergeDifferentKeyCount, idbgDatabase + 56, "Database: [2] GenerateTransform/Merge: Number of primary keys in base table doesn't match reference table. Table: [3]")
IDebugError(idbgDbTableReadOnly,             idbgDatabase + 57, "Database: [2]. Intent to modify read only table: [3]")
IDebugError(idbgParamMismatch,               idbgDatabase + 58, "Database: [2]. Type mismatch in parameter: [3]")
IDebugError(idbgDbUpdateFailed,              idbgDatabase + 59, "Database: [2] Table(s) Update failed")
IDebugError(idbgStgCopyTo,                   idbgDatabase + 60, "Storage CopyTo failed. System error: [3]")
IDebugError(idbgStgRemoveElement,            idbgDatabase + 61, "Could not remove stream [2]. System error: [3]")
IDebugError(idbgStgStreamMissing,            idbgDatabase + 62, "Stream does not exist: [2]. System error: [3]")
IDebugError(idbgStgOpenStream,               idbgDatabase + 63, "Could not open stream [2]. System error: [3]")
IDebugError(idbgStgRemoveStream,             idbgDatabase + 64, "Could not remove stream [2]. System error: [3]")
IDebugError(idbgStgCommit,                   idbgDatabase + 65, "Could not commit storage. System error: [3]")
IDebugError(idbgStgRollback,                 idbgDatabase + 66, "Could not rollback storage. System error: [3]")
IDebugError(idbgStgDelete,                   idbgDatabase + 67, "Could not delete storage [2]. System error: [3]")
IDebugError(idbgMergeFailuresReported,        idbgDatabase + 68, "Database: [2]. Merge: There were merge conflicts reported in [3] tables")
IDebugError(idbgMergeDifferentColumnCount,    idbgDatabase + 69, "Database: [2]. Merge: The column count differed in the '[3]' table of the two databases")
IDebugError(idbgTransMergeDifferentColNames,  idbgDatabase + 70, "Database: [2]. GenerateTransform/Merge: Column name in base table doesn't match reference table. Table: [3] Col #: [4]")
IDebugError(idbgTransformSummaryError,        idbgDatabase + 71, "SummaryInformation write for transform failed")
IDebugError(idbgMergeBaseDatabaseNotWritable, idbgDatabase + 72, "Database: [2]. MergeDatabase will not write any changes because the database is open read-only.")
IDebugError(idbgMergeRefDbSameAsBaseDb,       idbgDatabase + 73, "Database: [2]. MergeDatabase:  A reference to the base database was passed as the reference database.")
IDebugError(idbgMergeUnableReportFailures,    idbgDatabase + 74, "Database: [2]. MergeDatabase: Unable to write errors to Error table.  Could be due to a non-nullable column in a predefined Error table.")
IDebugError(idbgDbQueryInvalidOperation,     idbgDatabase + 75, "Database: [2]. Specified Modify [3] operation invalid for table joins.")
IDebugError(idbgDbCodepageNotSupported,idbgDatabase + 76, "Database: [2]. Codepage [3] not supported by the system.")
IDebugError(idbgDbSaveTableFailure,    idbgDatabase + 77, "Database: [2]. Failed to save table [3].")
IDebugError(idbgDbQueryExceedExpressionLimit,idbgDatabase + 78, "Database: [2]. Exceeded number of expressions limit of 32 in WHERE clause of SQL query: [3].")
IDebugError(idbgTransformTooManyBaseColumns,  idbgDatabase + 79, "Database: [2] Transform: Too many columns in base table [3]")
IDebugError(idbgDbColumnCreate,        idbgDatabase + 80, "Database: [2]. Could not create column [3] for table [4]")
IDebugError(idbgStgRenameElement,            idbgDatabase + 81, "Could not rename stream [2]. System error: [3]")
IDebugError(idbgStgInvalidStreamName,        idbgDatabase + 82, "Stream name invalid [2].")

// idbgFile   = 2300
IDebugError(idbgPatchNotify,    /* Info */    idbgFile +  2, "Patch notify: [2] bytes patched to far.")
IDebugError(idbgErrorGettingVolInfo,          idbgFile +  3, "Error getting volume info. GetLastError: [2]")
IDebugError(idbgErrorGettingDiskFreeSpace,    idbgFile +  4, "Error getting disk free space. GetLastError: [2]. Volume: [3]")
IDebugError(idbgWaitForPatchThread,           idbgFile +  5, "Error waiting for patch thread. GetLastError: [2].")
IDebugError(idbgCreatePatchThread,            idbgFile +  6, "Could not create thread for patch application. GetLastError: [2].")
IDebugError(idbgFileKeyIsNull,                idbgFile +  7, "Source file key name is null.")
IDebugError(idbgFileNameIsNull,               idbgFile +  8, "Destination File Name is Null")
IDebugError(idbgPatchInProgress,              idbgFile +  9, "Attempting to patch file [2] when patch already in progress.")
IDebugError(idbgNoPatchInProgress,            idbgFile + 10, "Attempting to continue patch when no patch is in progress.")
IDebugError(idbgMissingPathSeparator,         idbgFile + 15,"Missing Path Separator: [2]")
IDebugError(idbgFileDoesNotExist,             idbgFile + 18,"File does not exist: [2]")
IDebugError(idbgErrorSettingFileAttrib,       idbgFile + 19,"Error setting file attribute: [3] GetLastError: [2]")
IDebugError(idbgFileNotWritable,              idbgFile + 20,"File not writable: [2]")
IDebugError(idbgErrorCreatingFile,            idbgFile + 21,"Error creating file: [2]")
IDebugError(idbgUserCancelled,                idbgFile + 22,"User cancelled")
IDebugError(idbgInvalidFileAttribute,         idbgFile + 23,"Invalid File Attribute")
IDebugError(idbgErrorOpeningFile,             idbgFile + 24,"Could not open file: [3] GetLastError: [2]")
IDebugError(idbgErrorGettingFileTime,         idbgFile + 25,"Could not get file time for file: [3] GetLastError: [2]")
IDebugError(idbgErrorInFileToDosDateTime,     idbgFile + 26,"Error in FileToDosDateTime.")
IDebugError(idbgErrorRemovingDir,             idbgFile + 27,"Could not remove directory: [3] GetLastError: [2]")
IDebugError(idbgErrorGettingFileVerInfo,      idbgFile + 28,"Error getting file version info for file: [2]")
IDebugError(idbgErrorDeletingFile,            idbgFile + 29,"Error deleting file: [3]. GetLastError: [2]")
IDebugError(idbgErrorGettingFileAttrib,       idbgFile + 30,"Error getting file attributes: [3]. GetLastError: [2]")
IDebugError(idbgMissingProcAddr,              idbgFile + 31,"Error loading library [2] or finding entry point [3]")
IDebugError(idbgErrorInGetFileAttributes,     idbgFile + 32,"Error getting file attributes. GetLastError: [2]")
IDebugError(idbgErrorSettingFileAttributes,   idbgFile + 33,"Error setting file attributes. GetLastError: [2]")
IDebugError(idbgErrorConvertFileTimeToLocalTime,idbgFile + 34,"Error converting file time to local time for file: [3]. GetLastError: [2]")
IDebugError(idbgNotParent,											idbgFile + 35,"Path: [2] is not a parent of [3]")
IDebugError(idbgErrorClosingFile,								idbgFile + 37,"Could not close file: [3] GetLastError: [2]")
IDebugError(idbgErrorUpdatingResource,							idbgFile + 38,"Could not update resource for file: [3] GetLastError: [2]")
IDebugError(idbgErrorSettingFileTime,							idbgFile + 39,"Could not set file time for file: [3] GetLastError: [2]")
IDebugError(idbgErrorMissingResource,							idbgFile + 40,"Could not update resource for file: [3], Missing Resource")
IDebugError(idbgErrorTooBigResource,							idbgFile + 41,"Could not update resource for file: [3], Resource too large")
IDebugError(idbgErrorTimeStamp,									idbgFile + 42,"Could not update resource for file: [3] GetLastError: [2]")
IDebugError(idbgErrorEmptyPath,									idbgFile + 43,"Specified path is empty.")
IDebugError(idbgErrorImageFileAbsent,							idbgFile + 44, "Could not find required file IMAGEHLP.DLL to validate file:[2]")
IDebugError(idbgErrorNoChecksum,									idbgFile + 45,"[2]: File does not contain a valid checksum value.")
IDebugError(idbgErrorOutOfMemory,								idbgFile + 46,"Out of memory.")
IDebugError(idbgUserIgnore,										idbgFile + 47, "User Ignore")
IDebugError(idbgStreamReadError,									idbgFile + 48, "Error attempting to read from cabinet stream.")
IDebugError(idbgCopyResumedWithDifferentInfo,				idbgFile + 49, "Copy Resumed With Different Info")
IDebugError(idbgFDIServerError,									idbgFile + 50, "FDI Server Error")
IDebugError(idbgErrorInitializingFDI,							idbgFile + 52, "Couldn't initialize cabinet file server. The required file 'Cabinet.dll' may be missing.")
IDebugError(idbgNotACabinet,										idbgFile + 53, "Not a cabinet")
IDebugError(idbgCannotHandleCabinet,							idbgFile + 54, "Cannot handle cabinet")
IDebugError(idbgStreamCabinetError,								idbgFile + 56, "Couldn't locate cabinet in stream: [2].")
IDebugError(idbgCannotSetAttributes,							idbgFile + 57, "Cannot set attributes")
IDebugError(idbgFileInUseError,									idbgFile + 58, "Error determining whether file is in-use: [3]. GetLastError: [2]")
IDebugError(idbgFDICannotCreateTargetFile,					idbgFile + 59, "Unable to create the target file - file may be in use.")
IDebugError(idbgCopyNotify,      /* Info */					idbgFile + 60, "progress tick.")
IDebugError(idbgNeedNextCabinet, /* Info */					idbgFile + 61, "Need next cabinet.")
IDebugError(idbgInvalidPath,										idbgFile + 62, "Folder not found: [2]")
IDebugError(idbgErrorEnumSubPaths,								idbgFile + 63, "Could not enumerate subfolders for folder: [2]")
IDebugError(idbgErrorBadCreateCopierEnum,						idbgFile + 64, "Bad enumeration constant in CreateCopier call.")
IDebugError(idbgErrorBindImage,									idbgFile + 65, "Could not BindImage exe file [2]")
IDebugError(idbgUserFailure,										idbgFile + 66, "User Failure")
IDebugError(idbgUserAbort,											idbgFile + 67, "User Abort.")
IDebugError(idbgGetResourceInformationFailed,				idbgFile + 68, "Failed to get network resource information. Error [2], network path [3].{ Extended error: network provider [5], error code [4], error description [6].}")
IDebugError(idbgInvalidChecksum,									idbgFile + 70,"Invalid CRC checksum value for [2] file.{{ Its header says [3] for checksum, its computed value is [4].}}")
IDebugError(idbgCabinetNotFound,									idbgFile + 76, "Cabinet not found.")
IDebugError(idbgErrorOpeningFileForRead,						idbgFile + 79, "Error opening file for read: [3] GetLastError: [2]")
IDebugError(idbgErrorOpeningFileForWrite,						idbgFile + 80, "Error opening file for write: [3] GetLastError: [2]")
IDebugError(idbgDirDoesNotExist,									idbgFile + 81, "Directory does not exist: [2]")
IDebugError(idbgDriveNotReady,									idbgFile + 82, "Drive not ready: [2]")

// idbgRegistry = 2400
IDebugError(idbg64bitRegOpOn32bit,                       idbgRegistry + 1,  "64-bit registry operation attempted on 32-bit operating system for key [2].")
IDebugError(idbgOutOfMemory,                             idbgRegistry + 2,  "Out of memory.")

// idbgConfig = 2500
IDebugError(idbgEnumRollback,                            idbgConfig +  1,    "Could not create rollback script enumerator")
IDebugError(idbgInstallNotInProgress,                    idbgConfig +  2,    "Called InstallFinalize when no install in progress.")
IDebugError(idbgRunScriptInstallNotInProgress,           idbgConfig +  3,    "Called RunScript when not marked in progress.")

// idbgAction = 2600
IDebugError(idbgInvalidPropValue,                        idbgAction +  1,    "Invalid value for property [2]: '[3]'")
IDebugError(idbgMissingMediaTable,                       idbgAction +  2,    "The [2] table entry '[3]' has no associated entry in the Media table.")
IDebugError(idbgDuplicateTableName,                      idbgAction +  3,    "Duplicate Table Name [2]")
IDebugError(idbgNoProperty,                              idbgAction +  4,    "[2] property undefined.")
IDebugError(idbgServerMissing,                           idbgAction +  5,    "Could not find server [2] in [3] {, [5]} or [4].")
IDebugError(idbgPropValueNotFullPath,                    idbgAction +  6,    "Value of property [2] is not a valid full path: '[3]'.")
IDebugError(idbgMediaTableRequired,                      idbgAction +  7,    "Media table not found or empty (required for installation of files).")
IDebugError(idbgCreateAclFailed,                         idbgAction +  8,    "Could not create security descriptor for object.  Error: '[2]'.")
IDebugError(idbgNotInitializedToMigrateSettings,         idbgAction +  9,    "Attempt to migrate product settings before initialization.")
IDebugError(idbgNoCabForCompressedFile,                  idbgAction + 11,    "The file [2] is marked as compressed, but the associated media entry does not specify a cabinet.")
IDebugError(idbgStreamNotFoundInRecord,                  idbgAction + 12,    "Stream not found in '[2]' column.  Primary key: '[3]'.")
IDebugError(idbgRemoveExistingProductsSequenceError,     idbgAction + 13,    "RemoveExistingProducts action sequenced incorrectly.")
IDebugError(idbgMissingStorage,                          idbgAction + 14,    "Could not access IStorage object from installation package.")
IDebugError(idbgOpRegSelfUnregFailed,                    idbgAction + 15,    "Skipped unregistration of Module [2] due to source resolution failure.")
IDebugError(idbgNoCompanionParent,                       idbgAction + 16,    "Companion file [2] parent missing.")
IDebugError(idbgIsolateNoSharedComponent,                idbgAction + 17,    "Shared component [2] not found in Component table.")
IDebugError(idbgIsolateNoApplicationComponent,           idbgAction + 18,    "Isolated application component [2] not found in Component table.")
IDebugError(idbgIsolateNotSameFeature,                   idbgAction + 19,    "Isolated components [2], [3] not part of same feature.")
IDebugError(idbgIsolateNoKeyFile,                        idbgAction + 20,    "Key file of isolated application component [2] not in File table.")

// idbgEngine = 2700
IDebugError(idbgIllegalTreeDepth,                        idbgEngine +  1,    "The Component Table exceeds the acceptable tree depth of [2] levels.")
IDebugError(idbgFeatureBadParent,                        idbgEngine +  2,    "A Feature Table record ([2]) references a non-existent parent in the Attributes field.")
IDebugError(idbgNoRootSourcePropertyName,                idbgEngine +  3,    "Property name for root source path not defined: [2]")
IDebugError(idbgNoRootProperty,                          idbgEngine +  4,    "Root directory property undefined: [2]")
IDebugError(idbgLinkTable,                               idbgEngine +  5,    "Invalid table: [2]; Could not be linked as tree.")
IDebugError(idbgSourcePathsNotCreated,                   idbgEngine +  6,    "Source paths not created.  No path exists for entry [2] in Directory Table")
IDebugError(idbgTargetPathsNotCreated,                   idbgEngine +  7,    "Target paths not created.  No path exists for entry [2] in Directory Table")
IDebugError(idbgFileTableEmpty,                          idbgEngine +  8,    "No entries found in the file table.")
IDebugError(idbgBadComponent,                            idbgEngine +  9,    "The specified Component name ('[2]') not found in Component Table.")
IDebugError(idbgIllegalSetComponentRequest,              idbgEngine + 10,    "The requested 'Select' state is illegal for this Component.")
IDebugError(idbgBadFeature,                              idbgEngine + 11,    "The specified Feature name ('[2]') not found in Feature Table.")
IDebugError(idbgInvalidModelessDialogReturn,             idbgEngine + 12,    "Invalid return from modeless dialog: [3], in action [2].")
IDebugError(idbgNullInNonNullableColumn,                 idbgEngine + 13,    "Null value in a non-nullable column ('[2]') in '[3]' column of the '[4]' table.")
IDebugError(idbgInvalidDefaultFolder,                    idbgEngine + 14,    "Invalid value for default folder name: [2].")
IDebugError(idbgBadFile,                                 idbgEngine + 15,    "The specified File key ('[2]') not found in the File Table.")
IDebugError(idbgBadSubcomponentName,                     idbgEngine + 16,    "Couldn't create a random subcomponent name for component '[2]'.")
IDebugError(idbgBadActionData,                           idbgEngine + 17,    "Bad action condition or error calling custom action '[2]'.")
IDebugError(idbgSrcNoPackageName,                        idbgEngine + 18,    "Missing package name for product code '[2]'.")
IDebugError(idbgSrcNoVolume,                             idbgEngine + 19,    "Neither UNC nor drive letter path found in source '[2]'.")
IDebugError(idbgSrcOpenSourceListKey,                    idbgEngine + 20,    "Error opening sourcelist key. Error: '[2]'")
IDebugError(idbgCustomActionNotInBinaryTable,            idbgEngine + 21,    "Custom action [2] not found in Binary table stream")
IDebugError(idbgCustomActionNotInFileTable,              idbgEngine + 22,    "Custom action [2] not found in File table")
IDebugError(idbgInvalidCustomActionType,                 idbgEngine + 23,    "Custom action [2] specifies unsupported type")
IDebugError(idbgMediaLabel,                  idbgEngine + 24, "The volume label '[2]' on the media you're running from doesn't match the label '[3]' given in the Media table. This is allowed only if you have only 1 entry in your Media table.")
IDebugError(idbgDatabaseTableError,          idbgEngine + 25, "Invalid database tables")
IDebugError(idbgMissingAction,               idbgEngine + 26, "Action not found: [2]")
IDebugError(idbgUnknownDirectory,            idbgEngine + 27, "The directory entry '[2]' does not exist in the Directory table")
IDebugError(idbgTableDefinition,             idbgEngine + 28, "Table definition error: [2]")
IDebugError(idbgEngineNotInitialized,        idbgEngine + 29, "Install engine not initialized.")
IDebugError(idbgDatabaseValueError,          idbgEngine + 30, "Bad value in database. Table: '[2]'; Primary key: '[3]';  Column: '[4]'")
IDebugError(idbgSelMgrNotInitialized,        idbgEngine + 31, "Selection Manager not initialized.")
IDebugError(idbgDirMgrNotInitialized,        idbgEngine + 32, "Directory Manager not initialized.")
IDebugError(idbgBadForeignKey,               idbgEngine + 33, "Bad foreign key ('[2]') in '[3]' column of the '[4]' table.")
IDebugError(idbgBadReinstallMode,            idbgEngine + 34, "Invalid Reinstall mode character.")
IDebugError(idbgCustomActionDied,            idbgEngine + 35, "Custom action '[2]' has caused an unhandled exception and has been stopped.  This may be the result of an internal error in the custom action, such as an access violation.")
IDebugError(idbgCustomActionTempFile,        idbgEngine + 36, "Generation of custom action temp file failed: [2]")
IDebugError(idbgCustomActionNoVBScriptEngine,idbgEngine + 38, "Could not access VBScript runtime for custom action [2]")
IDebugError(idbgCustomActionNoJScriptEngine, idbgEngine + 39, "Could not access JavaScript runtime for custom action [2]")
IDebugError(idbgCorruptConfigInfo,		    idbgEngine + 41,"Configuration information for product [2] is corrupt. Invalid info: [2]")
IDebugError(idbgMarshalingFailed,		    idbgEngine + 42, "Marshaling to Server failed: [2]")
IDebugError(idbgTransformInvalidLanguage,    idbgEngine + 45, "Transform [2] invalid for package [3]. Expected language [4], found language [5].")
IDebugError(idbgTransformInvalidProduct,     idbgEngine + 46, "Transform [2] invalid for package [3]. Expected product [4], found product [5].")
IDebugError(idbgTransformInvalidLTVersion,   idbgEngine + 47, "Transform [2] invalid for package [3]. Expected product version < [4], found product version [5].")
IDebugError(idbgTransformInvalidLEVersion,   idbgEngine + 48, "Transform [2] invalid for package [3]. Expected product version <= [4], found product version [5].")
IDebugError(idbgTransformInvalidEQVersion,   idbgEngine + 49, "Transform [2] invalid for package [3]. Expected product version == [4], found product version [5].")
IDebugError(idbgTransformInvalidGEVersion,   idbgEngine + 50, "Transform [2] invalid for package [3]. Expected product version >= [4], found product version [5].")
IDebugError(idbgTransformInvalidGTVersion,   idbgEngine + 51, "Transform [2] invalid for package [3]. Expected product version > [4], found product version [5].")
IDebugError(idbgNoTransformAsChild,          idbgEngine + 52, "Could not open transform [2] stored as child storage of package [4].")
IDebugError(idbgFileNotMarkedForInstall,     idbgEngine + 53, "The File '[2]' is not marked for installation.")
IDebugError(idbgNotPatchStorage,             idbgEngine + 54, "The File '[2]' is not a valid patch file.")
IDebugError(idbgUnexpectedServerReturn,      idbgEngine + 55, "Server returned unexpected error [2] attempting to install package [3].")
IDebugError(idbgDirPropertyUndefined,		idbgEngine + 56, "The property '[2]' was used as a directory property in one or more tables, but no value was ever assigned.")
IDebugError(idbgTransformCreateSumInfoFailed,idbgEngine + 57, "Could not create summary info for transform [2].")
IDebugError(idbgTransformLacksMSIVersion,    idbgEngine + 58, "Transform [2] doesn't contain a MSI version.")
IDebugError(idbgTransformIncompatibleVersion,idbgEngine + 59, "Transform [2] version [3] incompatible with engine; Min: [4], Max: [5].")
IDebugError(idbgTransformInvalidUpgradeCode, idbgEngine + 60, "Transform [2] invalid for package [3]. Expected upgrade code [4], found [5].")
IDebugError(idbgErrorBeginningTransaction,   idbgEngine + 61, "Cannot begin transaction. Global mutex not properly initialized.")
IDebugError(idbgErrorWritingScriptRecord,    idbgEngine + 62, "Unable to schedule operation. The action must be scheduled between InstallInitialize and InstallFinalize.")
IDebugError(idbgErrorRunningScript,          idbgEngine + 63, "Cannot run script.  Transaction not started.")
IDebugError(idbgBadAssemblyName,             idbgEngine + 65, "Assembly name missing from AssemblyName table : Component: [4].")
IDebugError(idbgInvalidMsiStorage,           idbgEngine + 66, "The file [2] is an invalid MSI storage file.")
IDebugError(idbgNoMoreData,                  idbgEngine + 67, "No more data{ while enumerating [2]}.")
IDebugError(idbgInvalidPatchTransform,       idbgEngine + 68, "Transform in patch package is invalid.")
IDebugError(idbgCustomActionLeakedHandle,    idbgEngine + 69, "Custom Action [2] did not close [3] MSIHANDLEs.")
IDebugError(idbgCacheFolderPropertyNotDefined,idbgEngine+ 70, "Cached folder [2] not defined in internal cache folder table.")

// idbgHandler = 2800
IDebugError(idbgUnknownMessageType,          idbgHandler +  1,"Unknown Message -- Type [2]. No action is taken")
IDebugError(idbgEventNoPublisher,            idbgHandler +  2,"No publisher is found for the event [2]")
IDebugError(idbgFetchDialogViewFailed,       idbgHandler +  3,"Dialog View did not find a record for the dialog [2]")
IDebugError(idbgCEEval,                      idbgHandler +  4,"On activation of the control [3] on dialog [2] CMsiDialog failed to evaluate the condition [3]")
IDebugError(idbgWaitCEEval,                  idbgHandler +  5,"") // Reported by HandleWaitEvent, formatted by ControlActivated
IDebugError(idbgCCEval,                      idbgHandler +  6,"The dialog [2] failed to evaluate the condition [3]")
IDebugError(idbgCCActionUnknown,             idbgHandler +  7,"The action [2] is not recognized")
IDebugError(idbgDefaultButtonDef,            idbgHandler +  8,"Default button is illdefined on dialog [2]")
IDebugError(idbgControlLoopOpen,             idbgHandler +  9,"On the dialog [2] the next control pointers do not form a cycle.There is a pointer from [3] to [4], but there is no further pointer") //?
IDebugError(idbgControlLoopTail,             idbgHandler + 10,"On the dialog [2] the next control pointers do not form a cycle.There is a pointer from both [3] and [5] to [4]") //?
IDebugError(idbgTabNext,                     idbgHandler + 11,"On dialog [2] control [3] has to take focus, but it is unable to do so")
IDebugError(idbgEventNotFound,               idbgHandler + 12,"The event [2] is not recognized")
IDebugError(idbgExitButParent,               idbgHandler + 13,"The EndDialog event was called with the argument [2], but the dialog has a parent")
IDebugError(idbgNoNext,                      idbgHandler + 14,"On the dialog [2] the control [3] names a non-existent control [4] as the next control")
IDebugError(idbgCCMissingCond,               idbgHandler + 15,"ControlCondition table has a row without condition for the dialog [2]")
IDebugError(idbgEMInvalidControl,            idbgHandler + 16,"The EventMapping table refers to an invalid control [4] on dialog [2] for the event [3]")
IDebugError(idbgEMAttribute,                 idbgHandler + 17,"The event [2] failed to set the attribute for the control [4] on dialog [3]")
IDebugError(idbgEndDialogArg,                idbgHandler + 18,"In the ControlEvent table EndDialog has an unrecognized argument [2]")
IDebugError(idbgNoControlProperty,           idbgHandler + 19,"Control [3] on dialog [2] needs a property linked to it")
IDebugError(idbgHandlerSecondInit,           idbgHandler + 20,"Attempted to initialize an already initialized handler")
IDebugError(idbgSecondInitDialog,            idbgHandler + 21,"Attempted to initialize an already initialized dialog: [2]")
IDebugError(idbgAddingControls,              idbgHandler + 22,"No other method can be called on dialog [2] untill all the controls are added")
IDebugError(idbgSecondInitControl,           idbgHandler + 23,"Attempted to initialize an already initialized control: [3] on dialog [2]")
IDebugError(idbgDialogAttributeShort,        idbgHandler + 24,"The dialog attribute [3] needs a record of at least [2] field(s)")
IDebugError(idbgControlAttributeShort,       idbgHandler + 25,"The control attribute [3] needs a record of at least [2] field(s)")
IDebugError(idbgControlOutOfDialog,          idbgHandler + 26,"Control [3] on dialog [2] extends beyond the boundaries of the dialog [4] by [5] pixels")
IDebugError(idbgRadioButtonOff,              idbgHandler + 27,"The button [4] on the radiobutton group [3] on dialog [2] extends beyond the boundaries of the group [5] by [6] pixels")
IDebugError(idbgRemoveNonexControl,          idbgHandler + 28,"Tried to remove control [3] from dialog [2], but the control is not part of the dialog")
IDebugError(idbgUninitDialog,                idbgHandler + 29,"Attempt to use an uninitialized dialog")
IDebugError(idbgUninitControl,               idbgHandler + 30,"Attempt to use an uninitialized control on dialog [2]")
IDebugError(idbgUnsupportedControlAttrib,    idbgHandler + 31,"The control [3] on dialog [2] does not support [5] the attribute [4]")
IDebugError(idbgUnsupportedDialogAttrib,     idbgHandler + 32,"The dialog [2] does not support the attribute [3]")
IDebugError(idbgWinMesNoResponse,            idbgHandler + 33,"Control [4] on dialog [3] ignored the message [2]")
IDebugError(idbgNotSingleLoop,               idbgHandler + 34,"The next pointers on the dialog [2] do not form a single loop")
IDebugError(idbgControlNotFound,             idbgHandler + 35,"The control [2] was not found on dialog [3]")
IDebugError(idbgControlCantTakeFocus,        idbgHandler + 36,"The control [3] on the dialog [2] can not take focus")
IDebugError(idbgWinMes,                      idbgHandler + 37,"The control [3] on dialog [2] wants the winproc to return [4]")
IDebugError(idbgSelSelfParent,               idbgHandler + 38,"The item [2] in the selection table has itself as a parent")
IDebugError(idbgSettingPropertyFailed,       idbgHandler + 39,"Setting the property [2] failed")
IDebugError(idbgErrorNameMismatch,           idbgHandler + 40,"Error dialog name mismatch")
IDebugError(idbgNoOKonError,                 idbgHandler + 41,"No OK button was found on the error dialog")
IDebugError(idbgNoTextOnError,               idbgHandler + 42,"No text field was found on the error dialog")
IDebugError(idbgErrorStringNotSupported,     idbgHandler + 43,"The ErrorString attribute is not supported for standard dialogs")
IDebugError(idbgNoErrorString,               idbgHandler + 44,"Can not execute an error dialog if the errorstring is not set")
IDebugError(idbgButtonsDontFit,              idbgHandler + 45,"The total width of the buttons exceeds the size of the error dialog")
IDebugError(idbgSetFocusNotFound,            idbgHandler + 46,"SetFocus did not find the required control on the error dialog")
IDebugError(idbgBitmapIcon,                  idbgHandler + 47,"The control [3] on dialog [2] has both the icon and the bitmap style set") 
IDebugError(idbgDefaultDoesNotExist,         idbgHandler + 48,"Tried to set control [3] as the default button on dialog [2], but the control does not exist") 
IDebugError(idbgNoInteger,                   idbgHandler + 49,"The control [3] on dialog [2] is of a type, that can not be integer valued")
IDebugError(idbgUnrecognizedVolumeType,      idbgHandler + 50,"Unrecognized volume type")
IDebugError(idbgNotIcon,                     idbgHandler + 51,"The data for the icon [2] is not valid") 
IDebugError(idbgNoControl,                   idbgHandler + 52,"At least one control has to be added to dialog [2] before it is used")
IDebugError(idbgModelessExecute,             idbgHandler + 53,"Dialog [2] is a modeless dialog. The execute method should not be called on it")
IDebugError(idbgFirstControlDef,             idbgHandler + 54,"On the dialog [2] the control [3] is designated as first active control, but there is no such control")
IDebugError(idbgRBNoButtons,                 idbgHandler + 55,"The radiobutton group [3] on dialog [2] has fewer than 2 buttons")
IDebugError(idbgSecondDialog,                idbgHandler + 56,"Creating a second copy of the dialog [2]")
IDebugError(idbgSelectionPathMissing,        idbgHandler + 57,"The directory [2] is mentioned in the selection table but not found")
IDebugError(idbgNotBitmap,                   idbgHandler + 58,"The data for the bitmap [2] is not valid") 
IDebugError(idbgPaintError,                  idbgHandler + 59,"Failed to paint control [2]") 
IDebugError(idbgCancelButtonDef,             idbgHandler + 60,"Cancel button is illdefined on dialog [2]")
IDebugError(idbgRadioButtonCycle,            idbgHandler + 61,"The next pointers for the radiobuttons on dialog [2] control [3] do not form a cycle")
IDebugError(idbgNoIconSize,                  idbgHandler + 62,"The attributes for the control [3] on dialog [2] do not define a valid icon size. Setting the size to 16")
IDebugError(idbgIconWrongSize,               idbgHandler + 63,"The control [3] on dialog [2] needs the icon [4] in size [5]x[5], but that size is not available. Loading the first available size")
IDebugError(idbgNoDirCont,                   idbgHandler + 64,"The control [3] on dialog [2] received a browse event, but there is no configurable directory for the present selection. Likely cause: browse button is not authored correctly")
IDebugError(idbgControlOutOfBillboard,       idbgHandler + 65,"Control [3] on billboard [2] extends beyond the boundaries of the billboard [4] by [5] pixels")
IDebugError(idbgEventNotAllowed,             idbgHandler + 66,"The dialog [2] is not allowed to return the argument [3]")
IDebugError(idbgNoErrorProperty,             idbgHandler + 67,"The error dialog property is not set")
IDebugError(idbgErrorNoStyle,                idbgHandler + 68,"The error dialog [2] does not have the error style bit set")
IDebugError(idbgStyleNoError,                idbgHandler + 69,"The dialog [2] has the error style bit set, but is not an error dialog")
IDebugError(idbgNoHelpSeparator,             idbgHandler + 70,"The help string [4] for control [3] on dialog [2] does not contain the separator character")
IDebugError(idbgOldTable,                    idbgHandler + 71,"The [2] table is out of date: [3]")
IDebugError(idbgCheckPathArgument,           idbgHandler + 72,"The argument of the CheckPath control event on dialog [2] is invalid")
IDebugError(idbgInvalidLimit,                idbgHandler + 73,"On the dialog [2] the control [3] has an invalid string length limit: [4]")
IDebugError(idbgFontChange,                  idbgHandler + 74,"Changing the text font to [2] failed")
IDebugError(idbgFontChangeColor,             idbgHandler + 75,"Changing the text color to [2] failed")
IDebugError(idbgTextTruncated,               idbgHandler + 76,"The control [3] on dialog [2]  had to truncate the string: [4]")
IDebugError(idbgBinaryData,                  idbgHandler + 77,"The binary data [2] was not found")
IDebugError(idbgValueNotUnique,              idbgHandler + 78,"On the dialog [2] the control [3] has a possible value: [4]. This is an invalid or duplicate value.")
IDebugError(idbgInvalidMask,                 idbgHandler + 79,"The control [3] on dialog [2]  can not parse the mask string: [4]")
IDebugError(idbgStopControlEvents,           idbgHandler + 80,"Do not perform the remaining control events.")
IDebugError(idbgHandlerInit,                 idbgHandler + 81,"CMsiHandler initialization failed")
IDebugError(idbgWindowClassRegFailed,        idbgHandler + 82,"Dialog window class registration failed")
IDebugError(idbgCreateDialog,                idbgHandler + 83,"CreateNewDialog failed for the dialog [2]")
IDebugError(idbgDialogWindow,                idbgHandler + 84,"Failed to create a window for the dialog [2]!")
IDebugError(idbgControlCreate,               idbgHandler + 85,"Failed to create the control [3] on the dialog [2]")
IDebugError(idbgTableCreate,                 idbgHandler + 86,"Creating the [2] table failed")
IDebugError(idbgCursorCreate,                idbgHandler + 87,"Creating a cursor to the [2] table failed")
IDebugError(idbgViewExecute,                 idbgHandler + 88,"Executing the [2] view failed")
IDebugError(idbgCreateControlWindow,         idbgHandler + 89,"Creating the window for the control [3] on dialog [2] failed")
IDebugError(idbgDialogCreate,                idbgHandler + 90,"The handler failed in creating an unitialized dialog")
IDebugError(idbgFailedToDestroyWindow,       idbgHandler + 91,"Failed to destroy window for dialog [2]")
IDebugError(idbgIntegerOnlyControl,          idbgHandler + 92,"[2] is an integer only control, [3] is not a valid integer value")
IDebugError(idbgOverLimit,                   idbgHandler + 93,"The control [3] on dialog [2] can accept property values that are at most [5] characters long. The value [4] exceeds this limit, and has been truncated.")
IDebugError(idbgRichEdLoad,                  idbgHandler + 94,"Loading RichEd20.dll failed. GetLastError() returned: [2]")
IDebugError(idbgRichEdFree,                  idbgHandler + 95,"Freeing RichEd20.dll failed. GetLastError() returned: [2]")
IDebugError(idbgActionFailed,                idbgHandler + 96,"Executing action [2] failed.")
IDebugError(idbgNoSuchFont,                  idbgHandler + 97,"Failed to create any [2] font on this system.")
IDebugError(idbgCreatedFont,                 idbgHandler + 98,"For [2] textstyle, the system created a '[3]' font, in [4] character set, of [5] pixels height.")
IDebugError(idbgCannotCreateFont,            idbgHandler + 99,"Failed to create [2] textstyle. GetLastError() returned: [3].")

// idbgExecute = 2900
IDebugError(idbgOpInvalidParam,              idbgExecute +  1, "Invalid parameter to operation [2]: Parameter [3]")
IDebugError(idbgOpOutOfSequence,             idbgExecute +  2, "Operation [2] called out of sequence.")
IDebugError(idbgOpFileMissing,               idbgExecute +  3, "The file [2] is missing")
IDebugError(idbgOpBindImage,                 idbgExecute +  4, "Could not BindImage file [2].")
IDebugError(idbgReadScriptRecord,            idbgExecute +  5, "Could not read record from script file [2].")
IDebugError(idbgMissingScriptHeader,         idbgExecute +  6, "Missing header in script file [2].")
IDebugError(idbgOpSecureSecurityDescriptor,  idbgExecute +  7,"Could not create secure security descriptor. Error: [2]")
IDebugError(idbgOpCompRegister,              idbgExecute +  8, "Could not register component [2].")
IDebugError(idbgOpCompUnregister,            idbgExecute +  9, "Could not unregister component [2].")
IDebugError(idbgOpGetUserSID,                idbgExecute + 10, "Could not determine user's security id.")
IDebugError(idbgOpRemoveFolder,              idbgExecute + 11,"Could not remove the folder [2].")
IDebugError(idbgOpScheduleRebootRemove,      idbgExecute + 12,"Could not schedule file [2] for removal on reboot.")
IDebugError(idbgOpCompressedCopyWithoutCabinet, idbgExecute + 19,"No cabinet specified for compressed file: [2]")
IDebugError(idbgOpSourcePathNotSet,          idbgExecute + 20,"Source directory not specified for file [2].")
IDebugError(idbgOpScriptVersionUnsupported,  idbgExecute + 24, "Script [2] version unsupported. Script version: [3], minimum version: [4], maximum version: [5].")
IDebugError(idbgInvalidShellFolder,          idbgExecute + 27, "ShellFolder id [2] is invalid.")
IDebugError(idbgOpExceededSourceLimit,       idbgExecute + 28,"Exceeded maximum number of sources. Skipping source '[2]'.")
IDebugError(idbgPublishRoot,                 idbgExecute + 29,"Could not determine publishing root. Error: [2]")
IDebugError(idbgOpCreateFileFromData,        idbgExecute + 32,"Could not create file [2] from script data.{ Error: [3]}")
IDebugError(idbgInitializeRollbackScript,    idbgExecute + 33,"Could not initialize rollback script [2].")
IDebugError(idbgOpSecureTransformFailed,     idbgExecute + 34,"Could not secure transform [2]. Error [3]")
IDebugError(idbgOpUnsecureTransformFailed,   idbgExecute + 35,"Could not un-secure transform [2]. Error [3]")
IDebugError(idbgOpTransformNotFound,         idbgExecute + 36,"Could not find transform [2].")
IDebugError(idbgErrorSfpInstallCatalog,      idbgExecute + 37,"The Windows Installer cannot install a system file protection catalog.  Catalog: [2],  Error: [3]")
IDebugError(idbgErrorSfpDuplicateCatalog,    idbgExecute + 38,"The Windows Installer cannot retrieve a system file protection catalog from the cache.  Catalog: [2], Error: [3]")
IDebugError(idbgErrorSfpDeleteCatalog,       idbgExecute + 39,"The Windows Installer cannot delete a system file protection catalog from the cache.  Catalog: [2], Error: [3]")
IDebugError(idbgOpNoDirMgr,                  idbgExecute + 40,"Directory Manager not supplied for source resolution.")
IDebugError(idbgOpCRCCheckFailed,            idbgExecute + 41,"Unable to compute the CRC for file [2].")
IDebugError(idbgOpImageNotBound,             idbgExecute + 42,"BindImage action has not been executed on [2] file.")
IDebugError(idbgScriptPlatformUnsupported,   idbgExecute + 43,"This version of Windows does not support deploying 64-bit packages.  The script [2] is for a 64-bit package.")
IDebugError(idbgGetProductAssignmentTypeFailed,	idbgExecute + 44, "GetProductAssignmentType failed.")
IDebugError(idbgComPlusInstallFailed,        idbgExecute + 45,"Installation of ComPlus App [2] failed with error [3].")


