msidefs.h 22 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512
  1. /**
  2. * This file has no copyright assigned and is placed in the Public Domain.
  3. * This file is part of the mingw-w64 runtime package.
  4. * No warranty is given; refer to the file DISCLAIMER.PD within this package.
  5. */
  6. #ifndef __MSIDEFS
  7. #define __MSIDEFS
  8. #ifndef NTDDI_WIN2K
  9. #define NTDDI_WIN2K 0x05000000
  10. #endif
  11. #ifndef NTDDI_WINXP
  12. #define NTDDI_WINXP 0x05010000
  13. #endif
  14. #ifndef NTDDI_WINXPSP2
  15. #define NTDDI_WINXPSP2 0x05010200
  16. #endif
  17. #ifndef NTDDI_WS03SP1
  18. #define NTDDI_WS03SP1 0x05020100
  19. #endif
  20. #ifndef NTDDI_VISTA
  21. #define NTDDI_VISTA 0x06000000
  22. #endif
  23. #ifndef NTDDI_VISTASP1
  24. #define NTDDI_VISTASP1 0x6000100
  25. #endif
  26. #ifndef _WIN32_MSI
  27. #if _WIN32_WINNT >= 0x0600 || (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_VISTA)
  28. #if defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_VISTASP1
  29. #define _WIN32_MSI 450
  30. #else
  31. #define _WIN32_MSI 400
  32. #endif
  33. #elif (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WS03SP1)
  34. #define _WIN32_MSI 310
  35. #elif defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WINXPSP2
  36. #define _WIN32_MSI 300
  37. #else
  38. #define _WIN32_MSI 200
  39. #endif
  40. #endif
  41. #define IPROPNAME_PRODUCTNAME TEXT("ProductName")
  42. #define IPROPNAME_PRODUCTCODE TEXT("ProductCode")
  43. #define IPROPNAME_PRODUCTVERSION TEXT("ProductVersion")
  44. #define IPROPNAME_INSTALLLANGUAGE TEXT("ProductLanguage")
  45. #define IPROPNAME_MANUFACTURER TEXT("Manufacturer")
  46. #define IPROPNAME_UPGRADECODE TEXT("UpgradeCode")
  47. #define IPROPNAME_PIDTEMPLATE TEXT("PIDTemplate")
  48. #define IPROPNAME_DISKPROMPT TEXT("DiskPrompt")
  49. #define IPROPNAME_LEFTUNIT TEXT("LeftUnit")
  50. #define IPROPNAME_ADMIN_PROPERTIES TEXT("AdminProperties")
  51. #define IPROPNAME_DEFAULTUIFONT TEXT("DefaultUIFont")
  52. #define IPROPNAME_ALLOWEDPROPERTIES TEXT("SecureCustomProperties")
  53. #define IPROPNAME_ENABLEUSERCONTROL TEXT("EnableUserControl")
  54. #define IPROPNAME_HIDDEN_PROPERTIES TEXT("MsiHiddenProperties")
  55. #define IPROPNAME_USERNAME TEXT("USERNAME")
  56. #define IPROPNAME_COMPANYNAME TEXT("COMPANYNAME")
  57. #define IPROPNAME_PIDKEY TEXT("PIDKEY")
  58. #define IPROPNAME_PATCH TEXT("PATCH")
  59. #define IPROPNAME_MSIPATCHREMOVE TEXT("MSIPATCHREMOVE")
  60. #define IPROPNAME_TARGETDIR TEXT("TARGETDIR")
  61. #define IPROPNAME_ACTION TEXT("ACTION")
  62. #define IPROPNAME_LIMITUI TEXT("LIMITUI")
  63. #define IPROPNAME_LOGACTION TEXT("LOGACTION")
  64. #define IPROPNAME_ALLUSERS TEXT("ALLUSERS")
  65. #define IPROPNAME_INSTALLLEVEL TEXT("INSTALLLEVEL")
  66. #define IPROPNAME_REBOOT TEXT("REBOOT")
  67. #if (_WIN32_MSI >= 110)
  68. #define IPROPNAME_REBOOTPROMPT TEXT("REBOOTPROMPT")
  69. #endif
  70. #define IPROPNAME_EXECUTEMODE TEXT("EXECUTEMODE")
  71. #define IPROPVALUE_EXECUTEMODE_NONE TEXT("NONE")
  72. #define IPROPVALUE_EXECUTEMODE_SCRIPT TEXT("SCRIPT")
  73. #define IPROPNAME_EXECUTEACTION TEXT("EXECUTEACTION")
  74. #define IPROPNAME_SOURCELIST TEXT("SOURCELIST")
  75. #define IPROPNAME_ROOTDRIVE TEXT("ROOTDRIVE")
  76. #define IPROPNAME_TRANSFORMS TEXT("TRANSFORMS")
  77. #define IPROPNAME_TRANSFORMSATSOURCE TEXT("TRANSFORMSATSOURCE")
  78. #define IPROPNAME_TRANSFORMSSECURE TEXT("TRANSFORMSSECURE")
  79. #define IPROPNAME_SEQUENCE TEXT("SEQUENCE")
  80. #define IPROPNAME_SHORTFILENAMES TEXT("SHORTFILENAMES")
  81. #define IPROPNAME_PRIMARYFOLDER TEXT("PRIMARYFOLDER")
  82. #define IPROPNAME_AFTERREBOOT TEXT("AFTERREBOOT")
  83. #define IPROPNAME_NOCOMPANYNAME TEXT("NOCOMPANYNAME")
  84. #define IPROPNAME_NOUSERNAME TEXT("NOUSERNAME")
  85. #define IPROPNAME_DISABLEROLLBACK TEXT("DISABLEROLLBACK")
  86. #define IPROPNAME_AVAILABLEFREEREG TEXT("AVAILABLEFREEREG")
  87. #define IPROPNAME_DISABLEADVTSHORTCUTS TEXT("DISABLEADVTSHORTCUTS")
  88. #define IPROPNAME_PATCHNEWPACKAGECODE TEXT("PATCHNEWPACKAGECODE")
  89. #define IPROPNAME_PATCHNEWSUMMARYSUBJECT TEXT("PATCHNEWSUMMARYSUBJECT")
  90. #define IPROPNAME_PATCHNEWSUMMARYCOMMENTS TEXT("PATCHNEWSUMMARYCOMMENTS")
  91. #define IPROPNAME_PRODUCTLANGUAGE TEXT("PRODUCTLANGUAGE")
  92. #if (_WIN32_MSI >= 150)
  93. #define IPROPNAME_CHECKCRCS TEXT("MSICHECKCRCS")
  94. #define IPROPNAME_MSINODISABLEMEDIA TEXT("MSINODISABLEMEDIA")
  95. #define IPROPNAME_CARRYINGNDP TEXT("CARRYINGNDP")
  96. #define IPROPVALUE__CARRYINGNDP_URTREINSTALL TEXT("URTREINSTALL")
  97. #define IPROPVALUE__CARRYINGNDP_URTUPGRADE TEXT("URTUPGRADE")
  98. #define IPROPNAME_ENFORCE_UPGRADE_COMPONENT_RULES TEXT("MSIENFORCEUPGRADECOMPONENTRULES")
  99. #define IPROPNAME_MSINEWINSTANCE TEXT("MSINEWINSTANCE")
  100. #define IPROPNAME_MSIINSTANCEGUID TEXT("MSIINSTANCEGUID")
  101. #define IPROPNAME_MSIPACKAGEDOWNLOADLOCALCOPY TEXT("MSIPACKAGEDOWNLOADLOCALCOPY")
  102. #define IPROPNAME_MSIPATCHDOWNLOADLOCALCOPY TEXT("MSIPATCHDOWNLOADLOCALCOPY")
  103. #endif
  104. #if (_WIN32_MSI >= 300)
  105. #define IPROPNAME_MSIDISABLELUAPATCHING TEXT("MSIDISABLELUAPATCHING")
  106. #endif
  107. #if _WIN32_MSI >= 400
  108. #define IPROPNAME_MSILOGGINGMODE TEXT("MsiLogging")
  109. #define IPROPNAME_MSILOGFILELOCATION TEXT("MsiLogFileLocation")
  110. #define IPROPNAME_MSI_RM_CONTROL TEXT("MSIRESTARTMANAGERCONTROL")
  111. #define IPROPVALUE_MSI_RM_CONTROL_DISABLE TEXT("Disable")
  112. #define IPROPVALUE_MSI_RM_CONTROL_DISABLESHUTDOWN TEXT("DisableShutdown")
  113. #define IPROPNAME_MSI_RM_SESSION_KEY TEXT("MsiRestartManagerSessionKey")
  114. #define IPROPNAME_MSI_REBOOT_PENDING TEXT("MsiSystemRebootPending")
  115. #define IPROPNAME_MSI_RM_SHUTDOWN TEXT("MSIRMSHUTDOWN")
  116. #define IPROPNAME_MSI_RM_DISABLE_RESTART TEXT("MSIDISABLERMRESTART")
  117. #define IPROPNAME_MSI_UAC_DEPLOYMENT_COMPLIANT TEXT("MSIDEPLOYMENTCOMPLIANT")
  118. #define IPROPNAME_MSI_USE_REAL_ADMIN_DETECTION TEXT("MSIUSEREALADMINDETECTION")
  119. #endif
  120. #define IPROPNAME_ARPAUTHORIZEDCDFPREFIX TEXT("ARPAUTHORIZEDCDFPREFIX")
  121. #define IPROPNAME_ARPCOMMENTS TEXT("ARPCOMMENTS")
  122. #define IPROPNAME_ARPCONTACT TEXT("ARPCONTACT")
  123. #define IPROPNAME_ARPHELPLINK TEXT("ARPHELPLINK")
  124. #define IPROPNAME_ARPHELPTELEPHONE TEXT("ARPHELPTELEPHONE")
  125. #define IPROPNAME_ARPINSTALLLOCATION TEXT("ARPINSTALLLOCATION")
  126. #define IPROPNAME_ARPNOMODIFY TEXT("ARPNOMODIFY")
  127. #define IPROPNAME_ARPNOREMOVE TEXT("ARPNOREMOVE")
  128. #define IPROPNAME_ARPNOREPAIR TEXT("ARPNOREPAIR")
  129. #define IPROPNAME_ARPREADME TEXT("ARPREADME")
  130. #define IPROPNAME_ARPSIZE TEXT("ARPSIZE")
  131. #define IPROPNAME_ARPSYSTEMCOMPONENT TEXT("ARPSYSTEMCOMPONENT")
  132. #define IPROPNAME_ARPURLINFOABOUT TEXT("ARPURLINFOABOUT")
  133. #define IPROPNAME_ARPURLUPDATEINFO TEXT("ARPURLUPDATEINFO")
  134. #if (_WIN32_MSI >= 110)
  135. #define IPROPNAME_ARPPRODUCTICON TEXT("ARPPRODUCTICON")
  136. #if _WIN32_MSI >= 400
  137. #define IPROPNAME_ARPSETTINGSIDENTIFIER TEXT("MSIARPSETTINGSIDENTIFIER")
  138. #endif
  139. #endif
  140. #define IPROPNAME_INSTALLED TEXT("Installed")
  141. #define IPROPNAME_PRODUCTSTATE TEXT("ProductState")
  142. #define IPROPNAME_PRESELECTED TEXT("Preselected")
  143. #define IPROPNAME_RESUME TEXT("RESUME")
  144. #define IPROPNAME_UPDATESTARTED TEXT("UpdateStarted")
  145. #define IPROPNAME_PRODUCTID TEXT("ProductID")
  146. #define IPROPNAME_OUTOFDISKSPACE TEXT("OutOfDiskSpace")
  147. #define IPROPNAME_OUTOFNORBDISKSPACE TEXT("OutOfNoRbDiskSpace")
  148. #define IPROPNAME_COSTINGCOMPLETE TEXT("CostingComplete")
  149. #define IPROPNAME_SOURCEDIR TEXT("SourceDir")
  150. #define IPROPNAME_REPLACEDINUSEFILES TEXT("ReplacedInUseFiles")
  151. #define IPROPNAME_PRIMARYFOLDER_PATH TEXT("PrimaryVolumePath")
  152. #define IPROPNAME_PRIMARYFOLDER_SPACEAVAILABLE TEXT("PrimaryVolumeSpaceAvailable")
  153. #define IPROPNAME_PRIMARYFOLDER_SPACEREQUIRED TEXT("PrimaryVolumeSpaceRequired")
  154. #define IPROPNAME_PRIMARYFOLDER_SPACEREMAINING TEXT("PrimaryVolumeSpaceRemaining")
  155. #define IPROPNAME_ISADMINPACKAGE TEXT("IsAdminPackage")
  156. #define IPROPNAME_ROLLBACKDISABLED TEXT("RollbackDisabled")
  157. #define IPROPNAME_RESTRICTEDUSERCONTROL TEXT("RestrictedUserControl")
  158. #if (_WIN32_MSI >= 300)
  159. #define IPROPNAME_SOURCERESONLY TEXT("MsiUISourceResOnly")
  160. #define IPROPNAME_HIDECANCEL TEXT("MsiUIHideCancel")
  161. #define IPROPNAME_PROGRESSONLY TEXT("MsiUIProgressOnly")
  162. #endif
  163. #define IPROPNAME_TIME TEXT("Time")
  164. #define IPROPNAME_DATE TEXT("Date")
  165. #define IPROPNAME_DATETIME TEXT("DateTime")
  166. #define IPROPNAME_INTEL TEXT("Intel")
  167. #if (_WIN32_MSI >= 150)
  168. #define IPROPNAME_TEMPLATE_AMD64 TEXT("AMD64")
  169. #define IPROPNAME_TEMPLATE_X64 TEXT("x64")
  170. #define IPROPNAME_MSIAMD64 TEXT("MsiAMD64")
  171. #define IPROPNAME_MSIX64 TEXT("Msix64")
  172. #define IPROPNAME_INTEL64 TEXT("Intel64")
  173. #else
  174. #define IPROPNAME_IA64 TEXT("IA64")
  175. #endif
  176. #define IPROPNAME_TEXTHEIGHT TEXT("TextHeight")
  177. #define IPROPNAME_SCREENX TEXT("ScreenX")
  178. #define IPROPNAME_SCREENY TEXT("ScreenY")
  179. #define IPROPNAME_CAPTIONHEIGHT TEXT("CaptionHeight")
  180. #define IPROPNAME_BORDERTOP TEXT("BorderTop")
  181. #define IPROPNAME_BORDERSIDE TEXT("BorderSide")
  182. #define IPROPNAME_COLORBITS TEXT("ColorBits")
  183. #define IPROPNAME_PHYSICALMEMORY TEXT("PhysicalMemory")
  184. #define IPROPNAME_VIRTUALMEMORY TEXT("VirtualMemory")
  185. #if (_WIN32_MSI >= 150)
  186. #define IPROPNAME_TEXTHEIGHT_CORRECTION TEXT("TextHeightCorrection")
  187. #if _WIN32_MSI >= 400
  188. #define IPROPNAME_MSITABLETPC TEXT("MsiTabletPC")
  189. #endif
  190. #endif
  191. #define IPROPNAME_VERSIONNT TEXT("VersionNT")
  192. #define IPROPNAME_VERSION9X TEXT("Version9X")
  193. #if (_WIN32_MSI >= 150)
  194. #define IPROPNAME_VERSIONNT64 TEXT("VersionNT64")
  195. #endif
  196. #define IPROPNAME_WINDOWSBUILD TEXT("WindowsBuild")
  197. #define IPROPNAME_SERVICEPACKLEVEL TEXT("ServicePackLevel")
  198. #if (_WIN32_MSI >= 110)
  199. #define IPROPNAME_SERVICEPACKLEVELMINOR TEXT("ServicePackLevelMinor")
  200. #endif
  201. #define IPROPNAME_SHAREDWINDOWS TEXT("SharedWindows")
  202. #define IPROPNAME_COMPUTERNAME TEXT("ComputerName")
  203. #define IPROPNAME_SHELLADVTSUPPORT TEXT("ShellAdvtSupport")
  204. #define IPROPNAME_OLEADVTSUPPORT TEXT("OLEAdvtSupport")
  205. #define IPROPNAME_SYSTEMLANGUAGEID TEXT("SystemLanguageID")
  206. #define IPROPNAME_TTCSUPPORT TEXT("TTCSupport")
  207. #define IPROPNAME_TERMSERVER TEXT("TerminalServer")
  208. #if (_WIN32_MSI >= 110)
  209. #define IPROPNAME_REMOTEADMINTS TEXT("RemoteAdminTS")
  210. #define IPROPNAME_REDIRECTEDDLLSUPPORT TEXT("RedirectedDllSupport")
  211. #endif
  212. #if (_WIN32_MSI >= 150)
  213. #define IPROPNAME_NTPRODUCTTYPE TEXT("MsiNTProductType")
  214. #define IPROPNAME_NTSUITEBACKOFFICE TEXT("MsiNTSuiteBackOffice")
  215. #define IPROPNAME_NTSUITEDATACENTER TEXT("MsiNTSuiteDataCenter")
  216. #define IPROPNAME_NTSUITEENTERPRISE TEXT("MsiNTSuiteEnterprise")
  217. #define IPROPNAME_NTSUITESMALLBUSINESS TEXT("MsiNTSuiteSmallBusiness")
  218. #define IPROPNAME_NTSUITESMALLBUSINESSRESTRICTED TEXT("MsiNTSuiteSmallBusinessRestricted")
  219. #define IPROPNAME_NTSUITEPERSONAL TEXT("MsiNTSuitePersonal")
  220. #define IPROPNAME_NTSUITEWEBSERVER TEXT("MsiNTSuiteWebServer")
  221. #define IPROPNAME_NETASSEMBLYSUPPORT TEXT("MsiNetAssemblySupport")
  222. #define IPROPNAME_WIN32ASSEMBLYSUPPORT TEXT("MsiWin32AssemblySupport")
  223. #endif
  224. #define IPROPNAME_LOGONUSER TEXT("LogonUser")
  225. #define IPROPNAME_USERSID TEXT("UserSID")
  226. #define IPROPNAME_ADMINUSER TEXT("AdminUser")
  227. #define IPROPNAME_USERLANGUAGEID TEXT("UserLanguageID")
  228. #define IPROPNAME_PRIVILEGED TEXT("Privileged")
  229. #if _WIN32_MSI >= 400
  230. #define IPROPNAME_RUNNINGELEVATED TEXT("MsiRunningElevated")
  231. #endif
  232. #define IPROPNAME_WINDOWS_FOLDER TEXT("WindowsFolder")
  233. #define IPROPNAME_SYSTEM_FOLDER TEXT("SystemFolder")
  234. #define IPROPNAME_SYSTEM16_FOLDER TEXT("System16Folder")
  235. #define IPROPNAME_WINDOWS_VOLUME TEXT("WindowsVolume")
  236. #define IPROPNAME_TEMP_FOLDER TEXT("TempFolder")
  237. #define IPROPNAME_PROGRAMFILES_FOLDER TEXT("ProgramFilesFolder")
  238. #define IPROPNAME_COMMONFILES_FOLDER TEXT("CommonFilesFolder")
  239. #if (_WIN32_MSI >= 150)
  240. #define IPROPNAME_SYSTEM64_FOLDER TEXT("System64Folder")
  241. #define IPROPNAME_PROGRAMFILES64_FOLDER TEXT("ProgramFiles64Folder")
  242. #define IPROPNAME_COMMONFILES64_FOLDER TEXT("CommonFiles64Folder")
  243. #endif
  244. #define IPROPNAME_STARTMENU_FOLDER TEXT("StartMenuFolder")
  245. #define IPROPNAME_PROGRAMMENU_FOLDER TEXT("ProgramMenuFolder")
  246. #define IPROPNAME_STARTUP_FOLDER TEXT("StartupFolder")
  247. #define IPROPNAME_NETHOOD_FOLDER TEXT("NetHoodFolder")
  248. #define IPROPNAME_PERSONAL_FOLDER TEXT("PersonalFolder")
  249. #define IPROPNAME_SENDTO_FOLDER TEXT("SendToFolder")
  250. #define IPROPNAME_DESKTOP_FOLDER TEXT("DesktopFolder")
  251. #define IPROPNAME_TEMPLATE_FOLDER TEXT("TemplateFolder")
  252. #define IPROPNAME_FONTS_FOLDER TEXT("FontsFolder")
  253. #define IPROPNAME_FAVORITES_FOLDER TEXT("FavoritesFolder")
  254. #define IPROPNAME_RECENT_FOLDER TEXT("RecentFolder")
  255. #define IPROPNAME_APPDATA_FOLDER TEXT("AppDataFolder")
  256. #define IPROPNAME_PRINTHOOD_FOLDER TEXT("PrintHoodFolder")
  257. #if (_WIN32_MSI >= 110)
  258. #define IPROPNAME_ADMINTOOLS_FOLDER TEXT("AdminToolsFolder")
  259. #define IPROPNAME_COMMONAPPDATA_FOLDER TEXT("CommonAppDataFolder")
  260. #define IPROPNAME_LOCALAPPDATA_FOLDER TEXT("LocalAppDataFolder")
  261. #define IPROPNAME_MYPICTURES_FOLDER TEXT("MyPicturesFolder")
  262. #endif
  263. #define IPROPNAME_FEATUREADDLOCAL TEXT("ADDLOCAL")
  264. #define IPROPNAME_FEATUREADDSOURCE TEXT("ADDSOURCE")
  265. #define IPROPNAME_FEATUREADDDEFAULT TEXT("ADDDEFAULT")
  266. #define IPROPNAME_FEATUREREMOVE TEXT("REMOVE")
  267. #define IPROPNAME_FEATUREADVERTISE TEXT("ADVERTISE")
  268. #define IPROPVALUE_FEATURE_ALL TEXT("ALL")
  269. #define IPROPNAME_COMPONENTADDLOCAL TEXT("COMPADDLOCAL")
  270. #define IPROPNAME_COMPONENTADDSOURCE TEXT("COMPADDSOURCE")
  271. #define IPROPNAME_COMPONENTADDDEFAULT TEXT("COMPADDDEFAULT")
  272. #define IPROPNAME_FILEADDLOCAL TEXT("FILEADDLOCAL")
  273. #define IPROPNAME_FILEADDSOURCE TEXT("FILEADDSOURCE")
  274. #define IPROPNAME_FILEADDDEFAULT TEXT("FILEADDDEFAULT")
  275. #define IPROPNAME_REINSTALL TEXT("REINSTALL")
  276. #define IPROPNAME_REINSTALLMODE TEXT("REINSTALLMODE")
  277. #define IPROPNAME_PROMPTROLLBACKCOST TEXT("PROMPTROLLBACKCOST")
  278. #define IPROPVALUE_RBCOST_PROMPT TEXT("P")
  279. #define IPROPVALUE_RBCOST_SILENT TEXT("D")
  280. #define IPROPVALUE_RBCOST_FAIL TEXT("F")
  281. #define IPROPNAME_CUSTOMACTIONDATA TEXT("CustomActionData")
  282. #define IACTIONNAME_INSTALL TEXT("INSTALL")
  283. #define IACTIONNAME_ADVERTISE TEXT("ADVERTISE")
  284. #define IACTIONNAME_ADMIN TEXT("ADMIN")
  285. #define IACTIONNAME_SEQUENCE TEXT("SEQUENCE")
  286. #define IACTIONNAME_COLLECTUSERINFO TEXT("CollectUserInfo")
  287. #define IACTIONNAME_FIRSTRUN TEXT("FirstRun")
  288. #undef PID_SECURITY
  289. #define PID_DICTIONARY (0)
  290. #define PID_CODEPAGE (0x1)
  291. #define PID_TITLE 2
  292. #define PID_SUBJECT 3
  293. #define PID_AUTHOR 4
  294. #define PID_KEYWORDS 5
  295. #define PID_COMMENTS 6
  296. #define PID_TEMPLATE 7
  297. #define PID_LASTAUTHOR 8
  298. #define PID_REVNUMBER 9
  299. #define PID_EDITTIME 10
  300. #define PID_LASTPRINTED 11
  301. #define PID_CREATE_DTM 12
  302. #define PID_LASTSAVE_DTM 13
  303. #define PID_PAGECOUNT 14
  304. #define PID_WORDCOUNT 15
  305. #define PID_CHARCOUNT 16
  306. #define PID_THUMBNAIL 17
  307. #define PID_APPNAME 18
  308. #define PID_SECURITY 19
  309. #define PID_MSIVERSION PID_PAGECOUNT
  310. #define PID_MSISOURCE PID_WORDCOUNT
  311. #define PID_MSIRESTRICT PID_CHARCOUNT
  312. enum msidbControlAttributes {
  313. msidbControlAttributesVisible = 0x00000001,msidbControlAttributesEnabled = 0x00000002,msidbControlAttributesSunken = 0x00000004,
  314. msidbControlAttributesIndirect = 0x00000008,msidbControlAttributesInteger = 0x00000010,msidbControlAttributesRTLRO = 0x00000020,
  315. msidbControlAttributesRightAligned = 0x00000040,msidbControlAttributesLeftScroll = 0x00000080,
  316. msidbControlAttributesBiDi = msidbControlAttributesRTLRO | msidbControlAttributesRightAligned | msidbControlAttributesLeftScroll,
  317. msidbControlAttributesTransparent = 0x00010000,msidbControlAttributesNoPrefix = 0x00020000,msidbControlAttributesNoWrap = 0x00040000,
  318. msidbControlAttributesFormatSize = 0x00080000,msidbControlAttributesUsersLanguage = 0x00100000,msidbControlAttributesMultiline = 0x00010000,
  319. #if (_WIN32_MSI >= 110)
  320. msidbControlAttributesPasswordInput = 0x00200000,
  321. #endif
  322. msidbControlAttributesProgress95 = 0x00010000,msidbControlAttributesRemovableVolume = 0x00010000,msidbControlAttributesFixedVolume = 0x00020000,
  323. msidbControlAttributesRemoteVolume = 0x00040000,msidbControlAttributesCDROMVolume = 0x00080000,msidbControlAttributesRAMDiskVolume = 0x00100000,
  324. msidbControlAttributesFloppyVolume = 0x00200000,msidbControlShowRollbackCost = 0x00400000,msidbControlAttributesSorted = 0x00010000,
  325. msidbControlAttributesComboList = 0x00020000,msidbControlAttributesImageHandle = 0x00010000,msidbControlAttributesPushLike = 0x00020000,
  326. msidbControlAttributesBitmap = 0x00040000,msidbControlAttributesIcon = 0x00080000,msidbControlAttributesFixedSize = 0x00100000,
  327. msidbControlAttributesIconSize16 = 0x00200000,msidbControlAttributesIconSize32 = 0x00400000,msidbControlAttributesIconSize48 = 0x00600000,
  328. msidbControlAttributesHasBorder = 0x01000000
  329. };
  330. typedef enum _msidbLocatorType {
  331. msidbLocatorTypeDirectory = 0x0,
  332. msidbLocatorTypeFileName = 0x1
  333. #if (_WIN32_MSI >= 110)
  334. ,msidbLocatorTypeRawValue = 0x2
  335. #endif
  336. #if (_WIN32_MSI >= 150)
  337. ,msidbLocatorType64bit = 0x10
  338. #endif
  339. } msidbLocatorType;
  340. enum msidbComponentAttributes {
  341. msidbComponentAttributesLocalOnly = 0x00000000,msidbComponentAttributesSourceOnly = 0x00000001,msidbComponentAttributesOptional = 0x00000002,
  342. msidbComponentAttributesRegistryKeyPath = 0x00000004,msidbComponentAttributesSharedDllRefCount = 0x00000008,
  343. msidbComponentAttributesPermanent = 0x00000010,msidbComponentAttributesODBCDataSource = 0x00000020,msidbComponentAttributesTransitive = 0x00000040,
  344. msidbComponentAttributesNeverOverwrite = 0x00000080
  345. #if (_WIN32_MSI >= 150)
  346. ,msidbComponentAttributes64bit = 0x00000100
  347. #if _WIN32_MSI >= 400
  348. ,msidbComponentAttributesDisableRegistryReflection = 0x00000200
  349. #endif
  350. #endif
  351. };
  352. #if (_WIN32_MSI >= 150)
  353. enum msidbAssemblyAttributes {
  354. msidbAssemblyAttributesURT = 0x00000000,msidbAssemblyAttributesWin32 = 0x00000001
  355. };
  356. #endif
  357. enum msidbCustomActionType {
  358. msidbCustomActionTypeDll = 0x00000001,msidbCustomActionTypeExe = 0x00000002,msidbCustomActionTypeTextData = 0x00000003,
  359. msidbCustomActionTypeJScript = 0x00000005,msidbCustomActionTypeVBScript = 0x00000006,msidbCustomActionTypeInstall = 0x00000007,
  360. msidbCustomActionTypeBinaryData = 0x00000000,msidbCustomActionTypeSourceFile = 0x00000010,msidbCustomActionTypeDirectory = 0x00000020,
  361. msidbCustomActionTypeProperty = 0x00000030,msidbCustomActionTypeContinue = 0x00000040,msidbCustomActionTypeAsync = 0x00000080,
  362. msidbCustomActionTypeFirstSequence = 0x00000100,msidbCustomActionTypeOncePerProcess = 0x00000200,msidbCustomActionTypeClientRepeat = 0x00000300,
  363. msidbCustomActionTypeInScript = 0x00000400,msidbCustomActionTypeRollback = 0x00000100,msidbCustomActionTypeCommit = 0x00000200,
  364. msidbCustomActionTypeNoImpersonate = 0x00000800
  365. #if (_WIN32_MSI >= 150)
  366. ,msidbCustomActionTypeTSAware = 0x00004000
  367. #endif
  368. #if (_WIN32_MSI >= 150)
  369. ,msidbCustomActionType64BitScript = 0x00001000,msidbCustomActionTypeHideTarget = 0x00002000
  370. #if _WIN32_MSI >= 450
  371. ,msidbCustomActionTypePatchUninstall = 0x00008000
  372. #endif
  373. #endif
  374. };
  375. enum msidbDialogAttributes {
  376. msidbDialogAttributesVisible = 0x00000001,msidbDialogAttributesModal = 0x00000002,msidbDialogAttributesMinimize = 0x00000004,
  377. msidbDialogAttributesSysModal = 0x00000008,msidbDialogAttributesKeepModeless = 0x00000010,msidbDialogAttributesTrackDiskSpace = 0x00000020,
  378. msidbDialogAttributesUseCustomPalette = 0x00000040,msidbDialogAttributesRTLRO = 0x00000080,msidbDialogAttributesRightAligned = 0x00000100,
  379. msidbDialogAttributesLeftScroll = 0x00000200,msidbDialogAttributesBiDi = msidbDialogAttributesRTLRO | msidbDialogAttributesRightAligned | msidbDialogAttributesLeftScroll,
  380. msidbDialogAttributesError = 0x00010000
  381. };
  382. enum msidbFeatureAttributes {
  383. msidbFeatureAttributesFavorLocal = 0x00000000,msidbFeatureAttributesFavorSource = 0x00000001,msidbFeatureAttributesFollowParent = 0x00000002,
  384. msidbFeatureAttributesFavorAdvertise = 0x00000004,msidbFeatureAttributesDisallowAdvertise = 0x00000008,
  385. msidbFeatureAttributesUIDisallowAbsent = 0x00000010,msidbFeatureAttributesNoUnsupportedAdvertise= 0x00000020
  386. };
  387. enum msidbFileAttributes {
  388. msidbFileAttributesReadOnly = 0x00000001,msidbFileAttributesHidden = 0x00000002,msidbFileAttributesSystem = 0x00000004,
  389. msidbFileAttributesReserved0 = 0x00000008,msidbFileAttributesReserved1 = 0x00000040,msidbFileAttributesReserved2 = 0x00000080,
  390. msidbFileAttributesReserved3 = 0x00000100,msidbFileAttributesVital = 0x00000200,msidbFileAttributesChecksum = 0x00000400,
  391. msidbFileAttributesPatchAdded = 0x00001000,msidbFileAttributesNoncompressed = 0x00002000,msidbFileAttributesCompressed = 0x00004000,
  392. msidbFileAttributesReserved4 = 0x00008000
  393. };
  394. typedef enum _msidbIniFileAction {
  395. msidbIniFileActionAddLine = 0x00000000,msidbIniFileActionCreateLine = 0x00000001,msidbIniFileActionRemoveLine = 0x00000002,
  396. msidbIniFileActionAddTag = 0x00000003,msidbIniFileActionRemoveTag = 0x00000004
  397. } msidbIniFileAction;
  398. enum msidbMoveFileOptions {
  399. msidbMoveFileOptionsMove = 0x00000001
  400. };
  401. typedef enum _msidbODBCDataSourceRegistration {
  402. msidbODBCDataSourceRegistrationPerMachine = 0x00000000,msidbODBCDataSourceRegistrationPerUser = 0x00000001
  403. } msidbODBCDataSourceRegistration;
  404. #if (_WIN32_MSI >= 110)
  405. enum msidbClassAttributes {
  406. msidbClassAttributesRelativePath = 0x00000001
  407. };
  408. #endif
  409. enum msidbPatchAttributes {
  410. msidbPatchAttributesNonVital = 0x00000001
  411. };
  412. enum msidbRegistryRoot {
  413. msidbRegistryRootClassesRoot = 0,msidbRegistryRootCurrentUser = 1,msidbRegistryRootLocalMachine = 2,msidbRegistryRootUsers = 3
  414. };
  415. enum msidbRemoveFileInstallMode {
  416. msidbRemoveFileInstallModeOnInstall = 0x00000001,msidbRemoveFileInstallModeOnRemove = 0x00000002,msidbRemoveFileInstallModeOnBoth = 0x00000003
  417. };
  418. enum msidbServiceControlEvent {
  419. msidbServiceControlEventStart = 0x00000001,msidbServiceControlEventStop = 0x00000002,msidbServiceControlEventDelete = 0x00000008,
  420. msidbServiceControlEventUninstallStart = 0x00000010,msidbServiceControlEventUninstallStop = 0x00000020,
  421. msidbServiceControlEventUninstallDelete = 0x00000080
  422. };
  423. enum msidbServiceInstallErrorControl {
  424. msidbServiceInstallErrorControlVital = 0x00008000
  425. };
  426. enum msidbTextStyleStyleBits {
  427. msidbTextStyleStyleBitsBold = 0x00000001,msidbTextStyleStyleBitsItalic = 0x00000002,msidbTextStyleStyleBitsUnderline = 0x00000004,
  428. msidbTextStyleStyleBitsStrike = 0x00000008
  429. };
  430. #if (_WIN32_MSI >= 110)
  431. enum msidbUpgradeAttributes {
  432. msidbUpgradeAttributesMigrateFeatures = 0x00000001,msidbUpgradeAttributesOnlyDetect = 0x00000002,
  433. msidbUpgradeAttributesIgnoreRemoveFailure = 0x00000004,msidbUpgradeAttributesVersionMinInclusive = 0x00000100,
  434. msidbUpgradeAttributesVersionMaxInclusive = 0x00000200,msidbUpgradeAttributesLanguagesExclusive = 0x00000400
  435. };
  436. #endif
  437. #if _WIN32_MSI >= 450
  438. enum msidbEmbeddedUIAttributes {
  439. msidbEmbeddedUI = 0x1, msidbEmbeddedHandlesBasic = 0x02
  440. };
  441. #endif
  442. enum msidbSumInfoSourceType {
  443. msidbSumInfoSourceTypeSFN = 0x00000001,msidbSumInfoSourceTypeCompressed = 0x00000002,
  444. msidbSumInfoSourceTypeAdminImage = 0x00000004
  445. #if _WIN32_MSI >= 400
  446. ,msidbSumInfoSourceTypeLUAPackage = 0x00000008
  447. #endif
  448. };
  449. #if _WIN32_MSI >= 400
  450. enum msirbRebootType {
  451. msirbRebootImmediate = 1, msirbRebootDeferred = 2
  452. };
  453. enum msirbRebootReason {
  454. msirbRebootUndeterminedReason = 0, msirbRebootInUseFilesReason = 1,
  455. msirbRebootScheduleRebootReason = 2, msirbRebootForceRebootReason = 3,
  456. msirbRebootCustomActionReason = 4
  457. };
  458. #endif
  459. #endif