MsiDefs.h
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:30k
源码类别:

模拟服务器

开发平台:

C/C++

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