home *** CD-ROM | disk | FTP | other *** search
/ Magazyn Internet 2000 May / MICD_2000_05.iso / CBuilder5 / INSTALL / DATA1.CAB / Program_Built_Files / Include / msidefs.h < prev    next >
C/C++ Source or Header  |  2000-02-01  |  27KB  |  563 lines

  1. //+-------------------------------------------------------------------------
  2. //
  3. //  Microsoft Windows
  4. //
  5. //  Copyright (C) Microsoft Corporation, 1996 - 1999
  6. //
  7. //  File:       msidefs.h
  8. //
  9. //--------------------------------------------------------------------------
  10.  
  11. /* msidefs.h   Windows Installer data definitions
  12.  
  13. ____________________________________________________________________________*/
  14.  
  15. #ifndef __MSIDEFS
  16. #pragma option push -b -a8 -pc -A- /*P_O_Push*/
  17. #define __MSIDEFS
  18.  
  19. #ifndef _WIN32_MSI
  20. #if (_WIN32_WINNT >= 0x0500)
  21. #define _WIN32_MSI   110
  22. #else
  23. #define _WIN32_MSI   100
  24. #endif //(_WIN32_WINNT >= 0x0500)
  25. #endif // !_WIN32_MSI
  26.  
  27. //__________________________________________________________________________
  28. //
  29. // INSTALLER PROPERTY DEFINITIONS
  30. //__________________________________________________________________________
  31.  
  32. // Required properties: set in Property table
  33. #define IPROPNAME_PRODUCTNAME      TEXT("ProductName")      // name registered for display
  34. #define IPROPNAME_PRODUCTCODE      TEXT("ProductCode")      // unique string GUID for product
  35. #define IPROPNAME_PRODUCTVERSION   TEXT("ProductVersion")   // string product version
  36. #define IPROPNAME_INSTALLLANGUAGE  TEXT("ProductLanguage")  // install language of product, use to load resources        
  37. #define IPROPNAME_MANUFACTURER     TEXT("Manufacturer")     // name of manufacturer
  38.  
  39. // Customization properties: set in Property table
  40. #define IPROPNAME_UPGRADECODE      TEXT("UpgradeCode")      // unique string GUID for product family
  41. #define IPROPNAME_PIDTEMPLATE      TEXT("PIDTemplate")      // drives Product ID processing
  42. #define IPROPNAME_DISKPROMPT       TEXT("DiskPrompt")       // prompt for CD
  43. #define IPROPNAME_LEFTUNIT         TEXT("LeftUnit")         // name of unit placed to left of number instead of right
  44. #define IPROPNAME_ADMIN_PROPERTIES TEXT("AdminProperties")  // properties to stuff in admin package
  45. #define IPROPNAME_DEFAULTUIFONT    TEXT("DefaultUIFont")    // the font used in the UI if no other font is specified
  46. #define IPROPNAME_ALLOWEDPROPERTIES TEXT("SecureCustomProperties")
  47. #define IPROPNAME_ENABLEUSERCONTROL TEXT("EnableUserControl") // allows user to specify any public property
  48.  
  49. // Customization properties: set on command-line or in Property table
  50. #define IPROPNAME_USERNAME         TEXT("USERNAME")
  51. #define IPROPNAME_COMPANYNAME      TEXT("COMPANYNAME")
  52. #define IPROPNAME_PIDKEY           TEXT("PIDKEY")           // used with PIDTemplate to form ProductID
  53. #define IPROPNAME_PATCH            TEXT("PATCH")            // patch package to apply - SET BY INSTALLER
  54. #define IPROPNAME_TARGETDIR        TEXT("TARGETDIR")        // target location - defaults to ROOTDRIVE
  55. #define IPROPNAME_ACTION           TEXT("ACTION")           // top-level action to perform - default to INSTALL
  56. #define IPROPNAME_LIMITUI          TEXT("LIMITUI")          // limit ui level to Basic
  57. #define IPROPNAME_LOGACTION        TEXT("LOGACTION")        // log only these actions
  58. #define IPROPNAME_ALLUSERS         TEXT("ALLUSERS")         // install for all users
  59. #define IPROPNAME_INSTALLLEVEL     TEXT("INSTALLLEVEL")
  60. #define IPROPNAME_REBOOT           TEXT("REBOOT")           // force or suppress reboot
  61. #if (_WIN32_MSI >=  110)
  62. #define IPROPNAME_REBOOTPROMPT     TEXT("REBOOTPROMPT")     // allow or suppress reboot prompt
  63. #endif //(_WIN32_MSI >=  110)
  64. #define IPROPNAME_EXECUTEMODE      TEXT("EXECUTEMODE")      // NONE or SCRIPT
  65. #define IPROPVALUE_EXECUTEMODE_NONE TEXT("NONE")            // do not update system
  66. #define IPROPVALUE_EXECUTEMODE_SCRIPT TEXT("SCRIPT")        // default - run script to update system
  67. #define IPROPNAME_EXECUTEACTION    TEXT("EXECUTEACTION")    // run action on server side
  68. #define IPROPNAME_SOURCELIST       TEXT("SOURCELIST")
  69. #define IPROPNAME_ROOTDRIVE        TEXT("ROOTDRIVE")        // default drive to install - SET BY INSTALLER
  70. #define IPROPNAME_TRANSFORMS       TEXT("TRANSFORMS")       // transforms to apply
  71. #define IPROPNAME_TRANSFORMSATSOURCE TEXT("TRANSFORMSATSOURCE") // transforms can be found at source
  72. #define IPROPNAME_TRANSFORMSSECURE   TEXT("TRANSFORMSSECURE")   // file transforms are secured
  73. #define IPROPNAME_SEQUENCE         TEXT("SEQUENCE")         // sequence table to run with SEQUENCE action
  74. #define IPROPNAME_SHORTFILENAMES   TEXT("SHORTFILENAMES")   // force short file names
  75. #define IPROPNAME_PRIMARYFOLDER    TEXT("PRIMARYFOLDER")       // Folder on the volume the author wants costing info for
  76. #define IPROPNAME_AFTERREBOOT      TEXT("AFTERREBOOT")      // install is after a ForceReboot triggered reboot
  77. #define IPROPNAME_NOCOMPANYNAME    TEXT("NOCOMPANYNAME")
  78. #define IPROPNAME_NOUSERNAME       TEXT("NOUSERNAME")
  79. #define IPROPNAME_DISABLEROLLBACK  TEXT("DISABLEROLLBACK")  // disable rollback for this install
  80. #define IPROPNAME_AVAILABLEFREEREG TEXT("AVAILABLEFREEREG") // set up the free space in the registry before commencing the install
  81. #define IPROPNAME_DISABLEADVTSHORTCUTS TEXT("DISABLEADVTSHORTCUTS") // disable creating darwin shortcuts even if supported
  82. #define IPROPNAME_PATCHNEWPACKAGECODE TEXT("PATCHNEWPACKAGECODE")   // added to property table by patch transforms - used to update
  83.                                                                                           // PackageCode of admin packages when patching admin installs
  84. #define IPROPNAME_PATCHNEWSUMMARYSUBJECT TEXT("PATCHNEWSUMMARYSUBJECT") // added to property table by patch transforms - used to update
  85.                                                                                                 // Subject summary info property of admin packages when patching admin installs
  86. #define IPROPNAME_PATCHNEWSUMMARYCOMMENTS TEXT("PATCHNEWSUMMARYCOMMENTS") // added to property table by patch transforms - used to update
  87.                                                                                                   // Comments summary info property of admin packages when patching admin installs
  88. #define IPROPNAME_PRODUCTLANGUAGE  TEXT("PRODUCTLANGUAGE")   // requested language, must be one in summary information list, selects language transform
  89.  
  90. // Properties used to populate Add/Remove Control Panel values 
  91. #define IPROPNAME_ARPAUTHORIZEDCDFPREFIX  TEXT("ARPAUTHORIZEDCDFPREFIX")
  92. #define IPROPNAME_ARPCOMMENTS             TEXT("ARPCOMMENTS")
  93. #define IPROPNAME_ARPCONTACT              TEXT("ARPCONTACT")
  94. #define IPROPNAME_ARPHELPLINK             TEXT("ARPHELPLINK")
  95. #define IPROPNAME_ARPHELPTELEPHONE        TEXT("ARPHELPTELEPHONE")
  96. #define IPROPNAME_ARPINSTALLLOCATION      TEXT("ARPINSTALLLOCATION")
  97. #define IPROPNAME_ARPNOMODIFY             TEXT("ARPNOMODIFY")
  98. #define IPROPNAME_ARPNOREMOVE             TEXT("ARPNOREMOVE")
  99. #define IPROPNAME_ARPNOREPAIR             TEXT("ARPNOREPAIR")
  100. #define IPROPNAME_ARPREADME               TEXT("ARPREADME")
  101. #define IPROPNAME_ARPSIZE                 TEXT("ARPSIZE")
  102. #define IPROPNAME_ARPSYSTEMCOMPONENT      TEXT("ARPSYSTEMCOMPONENT")
  103. #define IPROPNAME_ARPURLINFOABOUT         TEXT("ARPURLINFOABOUT")
  104. #define IPROPNAME_ARPURLUPDATEINFO        TEXT("ARPURLUPDATEINFO")
  105. #if (_WIN32_MSI >=  110)
  106. #define IPROPNAME_ARPPRODUCTICON          TEXT("ARPPRODUCTICON")
  107. #endif //(_WIN32_MSI >=  110)
  108.  
  109. // Dynamic properties set by installer during install
  110. #define IPROPNAME_INSTALLED        TEXT("Installed")        // product already installed
  111. #define IPROPNAME_PRODUCTSTATE     TEXT("ProductState")     // state of product (installed,advertised,etc...)
  112. #define IPROPNAME_PRESELECTED      TEXT("Preselected")      // selections made on command line
  113. #define IPROPNAME_RESUME           TEXT("RESUME")           // resuming suspended install
  114. #define IPROPNAME_UPDATESTARTED    TEXT("UpdateStarted")    // have begun to update system
  115. #define IPROPNAME_PRODUCTID        TEXT("ProductID")        // the complete validated Product ID
  116. #define IPROPNAME_OUTOFDISKSPACE   TEXT("OutOfDiskSpace")
  117. #define IPROPNAME_OUTOFNORBDISKSPACE TEXT("OutOfNoRbDiskSpace")
  118. #define IPROPNAME_COSTINGCOMPLETE  TEXT("CostingComplete")
  119. #define IPROPNAME_SOURCEDIR        TEXT("SourceDir")        // source location - SET BY INSTALLER
  120. #define IPROPNAME_REPLACEDINUSEFILES TEXT("ReplacedInUseFiles") // need reboot to completely install one or more files
  121. #define IPROPNAME_PRIMARYFOLDER_PATH TEXT("PrimaryVolumePath")
  122. #define IPROPNAME_PRIMARYFOLDER_SPACEAVAILABLE TEXT("PrimaryVolumeSpaceAvailable")
  123. #define IPROPNAME_PRIMARYFOLDER_SPACEREQUIRED TEXT("PrimaryVolumeSpaceRequired")
  124. #define IPROPNAME_PRIMARYFOLDER_SPACEREMAINING TEXT("PrimaryVolumeSpaceRemaining")
  125. #define IPROPNAME_ISADMINPACKAGE   TEXT("IsAdminPackage")
  126. #define IPROPNAME_ROLLBACKDISABLED TEXT("RollbackDisabled")
  127. #define IPROPNAME_RESTRICTEDUSERCONTROL TEXT("RestrictedUserControl")
  128.  
  129. // Dynamic properties evaluated upon use
  130. #define IPROPNAME_TIME             TEXT("Time")
  131. #define IPROPNAME_DATE             TEXT("Date")
  132. #define IPROPNAME_DATETIME         TEXT("DateTime")
  133.  
  134. // Hardware properties: set by installer at initialization
  135. #define IPROPNAME_INTEL            TEXT("Intel")
  136. #define IPROPNAME_ALPHA            TEXT("Alpha")
  137. #if (_WIN32_MSI >=  110)
  138. #define IPROPNAME_ALPHA64          TEXT("Alpha64")
  139. #define IPROPNAME_IA64             TEXT("IA64")
  140. #endif //(_WIN32_MSI >=  110)
  141. #define IPROPNAME_TEXTHEIGHT       TEXT("TextHeight")
  142. #define IPROPNAME_SCREENX          TEXT("ScreenX")
  143. #define IPROPNAME_SCREENY          TEXT("ScreenY")
  144. #define IPROPNAME_CAPTIONHEIGHT    TEXT("CaptionHeight")
  145. #define IPROPNAME_BORDERTOP        TEXT("BorderTop")
  146. #define IPROPNAME_BORDERSIDE       TEXT("BorderSide")
  147. #define IPROPNAME_COLORBITS        TEXT("ColorBits")
  148. #define IPROPNAME_PHYSICALMEMORY   TEXT("PhysicalMemory")
  149. #define IPROPNAME_VIRTUALMEMORY    TEXT("VirtualMemory")
  150.  
  151. // Operating System properties: set by installer at initialization
  152. #define IPROPNAME_VERSIONNT         TEXT("VersionNT")
  153. #define IPROPNAME_VERSION9X         TEXT("Version9X")
  154. #define IPROPNAME_WINDOWSBUILD      TEXT("WindowsBuild")
  155. #define IPROPNAME_SERVICEPACKLEVEL  TEXT("ServicePackLevel")
  156. #if (_WIN32_MSI >=  110)
  157. #define IPROPNAME_SERVICEPACKLEVELMINOR TEXT("ServicePackLevelMinor")
  158. #endif //(_WIN32_MSI >=  110)
  159. #define IPROPNAME_SHAREDWINDOWS     TEXT("SharedWindows")
  160. #define IPROPNAME_COMPUTERNAME      TEXT("ComputerName")
  161. #define IPROPNAME_SHELLADVTSUPPORT  TEXT("ShellAdvtSupport")
  162. #define IPROPNAME_OLEADVTSUPPORT    TEXT("OLEAdvtSupport")
  163. #define IPROPNAME_SYSTEMLANGUAGEID  TEXT("SystemLanguageID")
  164. #define IPROPNAME_TTCSUPPORT        TEXT("TTCSupport")
  165. #define IPROPNAME_TERMSERVER        TEXT("TerminalServer")
  166. #if (_WIN32_MSI >=  110)
  167. #define IPROPNAME_REMOTEADMINTS        TEXT("RemoteAdminTS")
  168. #define IPROPNAME_REDIRECTEDDLLSUPPORT TEXT("RedirectedDllSupport")
  169. #endif //(_WIN32_MSI >=  110)
  170.  
  171. // User properties: set by installer at initialization
  172. #define IPROPNAME_LOGONUSER        TEXT("LogonUser")
  173. #define IPROPNAME_USERSID          TEXT("UserSID")
  174. #define IPROPNAME_ADMINUSER        TEXT("AdminUser")
  175. #define IPROPNAME_USERLANGUAGEID   TEXT("UserLanguageID")
  176. #define IPROPNAME_PRIVILEGED       TEXT("Privileged")
  177.  
  178. // System folder properties: set by installer at initialization
  179. #define IPROPNAME_WINDOWS_FOLDER   TEXT("WindowsFolder")
  180. #define IPROPNAME_SYSTEM_FOLDER    TEXT("SystemFolder")
  181. #define IPROPNAME_SYSTEM16_FOLDER  TEXT("System16Folder")
  182. #define IPROPNAME_WINDOWS_VOLUME   TEXT("WindowsVolume")
  183. #define IPROPNAME_TEMP_FOLDER      TEXT("TempFolder")
  184. #define IPROPNAME_PROGRAMFILES_FOLDER TEXT("ProgramFilesFolder")
  185. #define IPROPNAME_COMMONFILES_FOLDER TEXT("CommonFilesFolder")
  186. #define IPROPNAME_STARTMENU_FOLDER TEXT("StartMenuFolder")
  187. #define IPROPNAME_PROGRAMMENU_FOLDER TEXT("ProgramMenuFolder")
  188. #define IPROPNAME_STARTUP_FOLDER   TEXT("StartupFolder")
  189. #define IPROPNAME_NETHOOD_FOLDER   TEXT("NetHoodFolder")
  190. #define IPROPNAME_PERSONAL_FOLDER  TEXT("PersonalFolder")
  191. #define IPROPNAME_SENDTO_FOLDER    TEXT("SendToFolder")
  192. #define IPROPNAME_DESKTOP_FOLDER   TEXT("DesktopFolder")
  193. #define IPROPNAME_TEMPLATE_FOLDER  TEXT("TemplateFolder")
  194. #define IPROPNAME_FONTS_FOLDER     TEXT("FontsFolder")
  195. #define IPROPNAME_FAVORITES_FOLDER TEXT("FavoritesFolder")
  196. #define IPROPNAME_RECENT_FOLDER    TEXT("RecentFolder")
  197. #define IPROPNAME_APPDATA_FOLDER   TEXT("AppDataFolder")
  198. #define IPROPNAME_PRINTHOOD_FOLDER TEXT("PrintHoodFolder")
  199. #if (_WIN32_MSI >=  110)
  200. #define IPROPNAME_ADMINTOOLS_FOLDER TEXT("AdminToolsFolder")
  201. #define IPROPNAME_COMMONAPPDATA_FOLDER TEXT("CommonAppDataFolder")
  202. #define IPROPNAME_LOCALAPPDATA_FOLDER TEXT("LocalAppDataFolder")
  203. #define IPROPNAME_MYPICTURES_FOLDER TEXT("MyPicturesFolder")
  204. #endif //(_WIN32_MSI >=  110)
  205.  
  206. // Feature/Component installation properties: set on command-line
  207. #define IPROPNAME_FEATUREADDLOCAL  TEXT("ADDLOCAL")
  208. #define IPROPNAME_FEATUREADDSOURCE TEXT("ADDSOURCE")
  209. #define IPROPNAME_FEATUREADDDEFAULT TEXT("ADDDEFAULT")
  210. #define IPROPNAME_FEATUREREMOVE    TEXT("REMOVE")
  211. #define IPROPNAME_FEATUREADVERTISE TEXT("ADVERTISE")
  212. #define IPROPVALUE_FEATURE_ALL  TEXT("ALL")
  213.  
  214. #define IPROPNAME_COMPONENTADDLOCAL  TEXT("COMPADDLOCAL")
  215. #define IPROPNAME_COMPONENTADDSOURCE TEXT("COMPADDSOURCE")
  216. #define IPROPNAME_COMPONENTADDDEFAULT TEXT("COMPADDDEFAULT")
  217.  
  218. #define IPROPNAME_FILEADDLOCAL     TEXT("FILEADDLOCAL")
  219. #define IPROPNAME_FILEADDSOURCE    TEXT("FILEADDSOURCE")
  220. #define IPROPNAME_FILEADDDEFAULT   TEXT("FILEADDDEFAULT")
  221.  
  222. #define IPROPNAME_REINSTALL        TEXT("REINSTALL")
  223. #define IPROPNAME_REINSTALLMODE    TEXT("REINSTALLMODE")
  224. #define IPROPNAME_PROMPTROLLBACKCOST  TEXT("PROMPTROLLBACKCOST")
  225. #define IPROPVALUE_RBCOST_PROMPT      TEXT("P")
  226. #define IPROPVALUE_RBCOST_SILENT      TEXT("D")
  227. #define IPROPVALUE_RBCOST_FAIL        TEXT("F")
  228.  
  229. //__________________________________________________________________________
  230. //
  231. // TOP-LEVEL ACTION NAMES
  232. //__________________________________________________________________________
  233.  
  234. #define IACTIONNAME_INSTALL        TEXT("INSTALL")
  235. #define IACTIONNAME_ADVERTISE      TEXT("ADVERTISE")
  236. #define IACTIONNAME_ADMIN          TEXT("ADMIN")
  237. #define IACTIONNAME_SEQUENCE       TEXT("SEQUENCE")
  238. #define IACTIONNAME_COLLECTUSERINFO TEXT("CollectUserInfo")
  239. #define IACTIONNAME_FIRSTRUN       TEXT("FirstRun")
  240.  
  241. //__________________________________________________________________________
  242. //
  243. //  SummaryInformation property stream property IDs
  244. //__________________________________________________________________________
  245.  
  246. #undef PID_SECURITY // defined as ( 0x80000002 ) in objidl.h, need to redefine here
  247.  
  248. // standard property definitions, from OLE2 documentation
  249. #define PID_DICTIONARY  ( 0 )// integer count + array of entries
  250. #define PID_CODEPAGE  ( 0x1 )// short integer
  251. #define PID_TITLE         2  // string
  252. #define PID_SUBJECT       3  // string
  253. #define PID_AUTHOR        4  // string
  254. #define PID_KEYWORDS      5  // string
  255. #define PID_COMMENTS      6  // string
  256. #define PID_TEMPLATE      7  // string
  257. #define PID_LASTAUTHOR    8  // string
  258. #define PID_REVNUMBER     9  // string
  259. #define PID_EDITTIME     10  // datatime
  260. #define PID_LASTPRINTED  11  // datetime
  261. #define PID_CREATE_DTM   12  // datetime
  262. #define PID_LASTSAVE_DTM 13  // datetime
  263. #define PID_PAGECOUNT    14  // integer 
  264. #define PID_WORDCOUNT    15  // integer 
  265. #define PID_CHARCOUNT    16  // integer 
  266. #define PID_THUMBNAIL    17  // clipboard format + metafile/bitmap (not supported)
  267. #define PID_APPNAME      18  // string
  268. #define PID_SECURITY     19  // integer
  269.  
  270. // PIDs given specific meanings for Installer
  271. #define PID_MSIVERSION     PID_PAGECOUNT  // integer, Installer version number (major*100+minor)
  272. #define PID_MSISOURCE      PID_WORDCOUNT  // integer, type of file image, short/long, media/tree
  273. #define PID_MSIRESTRICT    PID_CHARCOUNT  // integer, transform restrictions
  274.  
  275. //__________________________________________________________________________
  276. //
  277. // INSTALLER DATABASE INTEGER COLUMN DEFINITIONS
  278. //__________________________________________________________________________
  279.  
  280. // BBControl.Attributes
  281. // Control.Attributes
  282. enum msidbControlAttributes
  283. {
  284.     msidbControlAttributesVisible           = 0x00000001,
  285.     msidbControlAttributesEnabled           = 0x00000002,
  286.     msidbControlAttributesSunken            = 0x00000004,
  287.     msidbControlAttributesIndirect          = 0x00000008,
  288.     msidbControlAttributesInteger           = 0x00000010,
  289.     msidbControlAttributesRTLRO             = 0x00000020,
  290.     msidbControlAttributesRightAligned      = 0x00000040,
  291.     msidbControlAttributesLeftScroll        = 0x00000080,
  292.     msidbControlAttributesBiDi              = msidbControlAttributesRTLRO |
  293.                                               msidbControlAttributesRightAligned |
  294.                                                        msidbControlAttributesLeftScroll,
  295.     
  296.     // Text controls
  297.     msidbControlAttributesTransparent       = 0x00010000,
  298.     msidbControlAttributesNoPrefix          = 0x00020000,
  299.     msidbControlAttributesNoWrap            = 0x00040000,
  300.     msidbControlAttributesFormatSize        = 0x00080000,
  301.     msidbControlAttributesUsersLanguage     = 0x00100000,
  302.  
  303.     // Edit controls
  304.     msidbControlAttributesMultiline         = 0x00010000,
  305. #if (_WIN32_MSI >=  110)
  306.     msidbControlAttributesPasswordInput     = 0x00200000,
  307. #endif //(_WIN32_MSI >=  110)
  308.     
  309.     // ProgressBar controls
  310.     msidbControlAttributesProgress95        = 0x00010000,
  311.     
  312.     // VolumeSelectCombo and DirectoryCombo controls
  313.     msidbControlAttributesRemovableVolume   = 0x00010000,
  314.     msidbControlAttributesFixedVolume       = 0x00020000,
  315.     msidbControlAttributesRemoteVolume      = 0x00040000,
  316.     msidbControlAttributesCDROMVolume       = 0x00080000,
  317.     msidbControlAttributesRAMDiskVolume     = 0x00100000,
  318.     msidbControlAttributesFloppyVolume      = 0x00200000,
  319.     // VolumeCostList controls
  320.     msidbControlShowRollbackCost            = 0x00400000,
  321.     
  322.     // ListBox and ComboBox controls
  323.     msidbControlAttributesSorted            = 0x00010000,
  324.     msidbControlAttributesComboList         = 0x00020000,
  325.     
  326.     // picture button controls
  327.     msidbControlAttributesImageHandle       = 0x00010000,
  328.     msidbControlAttributesPushLike          = 0x00020000,
  329.     msidbControlAttributesBitmap            = 0x00040000,
  330.     msidbControlAttributesIcon              = 0x00080000,
  331.     msidbControlAttributesFixedSize         = 0x00100000,
  332.     msidbControlAttributesIconSize16        = 0x00200000,
  333.     msidbControlAttributesIconSize32        = 0x00400000,
  334.     msidbControlAttributesIconSize48        = 0x00600000,
  335.     
  336.     // RadioButton controls
  337.     msidbControlAttributesHasBorder         = 0x01000000,
  338. };
  339.  
  340. // CompLocator.Type
  341. // IniLocator.Type
  342. // RegLocator.Type
  343. typedef enum _msidbLocatorType
  344. {
  345.     msidbLocatorTypeDirectory = 0x00000000,
  346.     msidbLocatorTypeFileName  = 0x00000001,
  347. #if (_WIN32_MSI >=  110)
  348.     msidbLocatorTypeRawValue  = 0x00000002,
  349. #endif //(_WIN32_MSI >=  110)
  350. } msidbLocatorType;
  351.  
  352. // Component.Attributes
  353. enum msidbComponentAttributes
  354. {
  355.     msidbComponentAttributesLocalOnly          = 0x00000000,
  356.     msidbComponentAttributesSourceOnly         = 0x00000001,
  357.     msidbComponentAttributesOptional           = 0x00000002, // local or source
  358.     msidbComponentAttributesRegistryKeyPath    = 0x00000004, // KeyPath is key to Registry table
  359.     msidbComponentAttributesSharedDllRefCount  = 0x00000008, // increment SharedDll count
  360.     msidbComponentAttributesPermanent          = 0x00000010, // never uninstall component
  361.     msidbComponentAttributesODBCDataSource     = 0x00000020, // KeyFile is key to ODBCDataSource table
  362.     msidbComponentAttributesTransitive         = 0x00000040, // Can transition to/from installed/uninstalled based on changing conditional
  363.     msidbComponentAttributesNeverOverwrite     = 0x00000080, // dont stomp over existing component if key path exists (file/ regkey)
  364. };
  365.  
  366. // CustomAction.Type
  367. enum msidbCustomActionType
  368. {
  369.     // executable types
  370.     msidbCustomActionTypeDll              = 0x00000001,  // Target = entry point name
  371.     msidbCustomActionTypeExe              = 0x00000002,  // Target = command line args
  372.     msidbCustomActionTypeTextData         = 0x00000003,  // Target = text string to be formatted and set into property
  373.     msidbCustomActionTypeJScript          = 0x00000005,  // Target = entry point name, null if none to call
  374.     msidbCustomActionTypeVBScript         = 0x00000006,  // Target = entry point name, null if none to call
  375.     msidbCustomActionTypeInstall          = 0x00000007,  // Target = property list for nested engine initialization
  376.  
  377.     // source of code
  378.     msidbCustomActionTypeBinaryData       = 0x00000000,  // Source = Binary.Name, data stored in stream
  379.     msidbCustomActionTypeSourceFile       = 0x00000010,  // Source = File.File, file part of installation
  380.     msidbCustomActionTypeDirectory        = 0x00000020,  // Source = Directory.Directory, folder containing existing file
  381.     msidbCustomActionTypeProperty         = 0x00000030,  // Source = Property.Property, full path to executable
  382.  
  383.     // return processing                  // default is syncronous execution, process return code
  384.     msidbCustomActionTypeContinue         = 0x00000040,  // ignore action return status, continue running
  385.     msidbCustomActionTypeAsync            = 0x00000080,  // run asynchronously
  386.     
  387.     // execution scheduling flags               // default is execute whenever sequenced
  388.     msidbCustomActionTypeFirstSequence    = 0x00000100,  // skip if UI sequence already run
  389.     msidbCustomActionTypeOncePerProcess   = 0x00000200,  // skip if UI sequence already run in same process
  390.     msidbCustomActionTypeClientRepeat     = 0x00000300,  // run on client only if UI already run on client
  391.     msidbCustomActionTypeInScript         = 0x00000400,  // queue for execution within script
  392.     msidbCustomActionTypeRollback         = 0x00000100,  // in conjunction with InScript: queue in Rollback script
  393.     msidbCustomActionTypeCommit           = 0x00000200,  // in conjunction with InScript: run Commit ops from script on success
  394.  
  395.     // security context flag, default to impersonate as user, valid only if InScript
  396.     msidbCustomActionTypeNoImpersonate    = 0x00000800,  // no impersonation, run in system context
  397. };
  398.  
  399. // Dialog.Attributes
  400. enum msidbDialogAttributes
  401. {
  402.     msidbDialogAttributesVisible          = 0x00000001,
  403.     msidbDialogAttributesModal            = 0x00000002,
  404.     msidbDialogAttributesMinimize         = 0x00000004,
  405.     msidbDialogAttributesSysModal         = 0x00000008,
  406.     msidbDialogAttributesKeepModeless     = 0x00000010,
  407.     msidbDialogAttributesTrackDiskSpace   = 0x00000020,
  408.     msidbDialogAttributesUseCustomPalette = 0x00000040,
  409.     msidbDialogAttributesRTLRO            = 0x00000080,
  410.     msidbDialogAttributesRightAligned     = 0x00000100,
  411.     msidbDialogAttributesLeftScroll       = 0x00000200,
  412.     msidbDialogAttributesBiDi             = msidbDialogAttributesRTLRO |
  413.                                                      msidbDialogAttributesRightAligned |
  414.                                                      msidbDialogAttributesLeftScroll,
  415.     msidbDialogAttributesError            = 0x00010000,
  416. };
  417.  
  418. // Feature.Attributes
  419. enum msidbFeatureAttributes
  420. {
  421.     msidbFeatureAttributesFavorLocal            = 0x00000000,
  422.     msidbFeatureAttributesFavorSource           = 0x00000001,
  423.     msidbFeatureAttributesFollowParent          = 0x00000002,
  424.     msidbFeatureAttributesFavorAdvertise        = 0x00000004,
  425.     msidbFeatureAttributesDisallowAdvertise     = 0x00000008,
  426.     msidbFeatureAttributesUIDisallowAbsent      = 0x00000010,
  427.     msidbFeatureAttributesNoUnsupportedAdvertise= 0x00000020,
  428. };
  429.  
  430. // File.Attributes
  431. enum msidbFileAttributes
  432. {
  433.     msidbFileAttributesReadOnly       = 0x00000001,
  434.     msidbFileAttributesHidden         = 0x00000002,
  435.     msidbFileAttributesSystem         = 0x00000004,
  436.     msidbFileAttributesReserved0      = 0x00000008, // Internal use only - must be 0
  437.     msidbFileAttributesReserved1      = 0x00000040, // Internal use only - must be 0
  438.     msidbFileAttributesReserved2      = 0x00000080, // Internal use only - must be 0
  439.     msidbFileAttributesReserved3      = 0x00000100, // Internal use only - must be 0
  440.     msidbFileAttributesVital          = 0x00000200,
  441.     msidbFileAttributesChecksum       = 0x00000400,
  442.     msidbFileAttributesPatchAdded     = 0x00001000, // Internal use only - set by patches
  443.     msidbFileAttributesNoncompressed  = 0x00002000,
  444.     msidbFileAttributesCompressed     = 0x00004000,
  445.     msidbFileAttributesReserved4      = 0x00008000, // Internal use only - must be 0
  446. };
  447.  
  448. // IniFile.Action
  449. // RemoveIniFile.Action
  450. typedef enum _msidbIniFileAction
  451. {
  452.     msidbIniFileActionAddLine    = 0x00000000,
  453.     msidbIniFileActionCreateLine = 0x00000001,
  454.     msidbIniFileActionRemoveLine = 0x00000002,
  455.     msidbIniFileActionAddTag     = 0x00000003,
  456.     msidbIniFileActionRemoveTag  = 0x00000004,
  457. } msidbIniFileAction;
  458.  
  459. // MoveFile.Options
  460. enum msidbMoveFileOptions
  461. {
  462.     msidbMoveFileOptionsMove = 0x00000001,
  463. };
  464.  
  465. // ODBCDataSource.Registration
  466. typedef enum _msidbODBCDataSourceRegistration
  467. {
  468.     msidbODBCDataSourceRegistrationPerMachine  = 0x00000000,
  469.     msidbODBCDataSourceRegistrationPerUser     = 0x00000001,
  470. } msidbODBCDataSourceRegistration;
  471.  
  472. #if (_WIN32_MSI >=  110)
  473.  
  474. // Class.Attributes
  475. enum msidbClassAttributes
  476. {
  477.     msidbClassAttributesRelativePath  = 0x00000001,
  478. };
  479.  
  480. #endif //(_WIN32_MSI >=  110)
  481.  
  482. // Patch.Attributes
  483. enum msidbPatchAttributes
  484. {
  485.     msidbPatchAttributesNonVital = 0x00000001,
  486. };
  487.  
  488. // Registry.Root
  489. // RegLocator.Root
  490. // RemoveRegistry.Root
  491. enum msidbRegistryRoot
  492. {
  493.     msidbRegistryRootClassesRoot  = 0,
  494.     msidbRegistryRootCurrentUser  = 1,
  495.     msidbRegistryRootLocalMachine = 2,
  496.     msidbRegistryRootUsers        = 3,
  497. };
  498.  
  499. // RemoveFile.InstallMode
  500. enum msidbRemoveFileInstallMode
  501. {
  502.     msidbRemoveFileInstallModeOnInstall = 0x00000001,
  503.     msidbRemoveFileInstallModeOnRemove  = 0x00000002,
  504.     msidbRemoveFileInstallModeOnBoth    = 0x00000003,
  505. };
  506.  
  507. // ServiceControl.Event
  508. enum msidbServiceControlEvent
  509. {
  510.     msidbServiceControlEventStart             = 0x00000001,
  511.     msidbServiceControlEventStop              = 0x00000002,
  512.     msidbServiceControlEventDelete            = 0x00000008,
  513.     msidbServiceControlEventUninstallStart    = 0x00000010,
  514.     msidbServiceControlEventUninstallStop     = 0x00000020,
  515.     msidbServiceControlEventUninstallDelete   = 0x00000080,
  516. };
  517.  
  518. // ServiceInstall.ErrorControl
  519. enum msidbServiceInstallErrorControl
  520. {
  521.     msidbServiceInstallErrorControlVital = 0x00008000,
  522. };
  523.  
  524. // TextStyle.StyleBits
  525. enum msidbTextStyleStyleBits
  526. {
  527.     msidbTextStyleStyleBitsBold         = 0x00000001,
  528.     msidbTextStyleStyleBitsItalic       = 0x00000002,
  529.     msidbTextStyleStyleBitsUnderline    = 0x00000004,
  530.     msidbTextStyleStyleBitsStrike       = 0x00000008,
  531. };
  532.  
  533. #if (_WIN32_MSI >=  110)
  534.  
  535. // Upgrade.Attributes
  536. enum msidbUpgradeAttributes
  537. {
  538.     msidbUpgradeAttributesMigrateFeatures     = 0x00000001,
  539.     msidbUpgradeAttributesOnlyDetect          = 0x00000002,
  540.     msidbUpgradeAttributesIgnoreRemoveFailure = 0x00000004,
  541.     msidbUpgradeAttributesVersionMinInclusive = 0x00000100,
  542.     msidbUpgradeAttributesVersionMaxInclusive = 0x00000200,
  543.     msidbUpgradeAttributesLanguagesExclusive  = 0x00000400,
  544. };
  545.  
  546. #endif //(_WIN32_MSI >=  110)
  547.  
  548.  
  549. //__________________________________________________________________________
  550. //
  551. // SUMMARY INFORMATION PROPERTY DEFINITIONS
  552. //__________________________________________________________________________
  553.  
  554. enum msidbSumInfoSourceType
  555. {
  556.     msidbSumInfoSourceTypeSFN            = 0x00000001,  // source uses short filenames
  557.     msidbSumInfoSourceTypeCompressed     = 0x00000002,  // source is compressed
  558.     msidbSumInfoSourceTypeAdminImage     = 0x00000004,  // source is an admin image
  559. };
  560.  
  561. #pragma option pop /*P_O_Pop*/
  562. #endif // __MSIDEFS
  563.