jwamsidefs.pas 47 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068
  1. {******************************************************************************}
  2. { }
  3. { Windows Installer API interface Unit for Object Pascal }
  4. { }
  5. { Portions created by Microsoft are Copyright (C) 1995-2001 Microsoft }
  6. { Corporation. All Rights Reserved. }
  7. { }
  8. { The original file is: msidefs.h, released June 2000. The original Pascal }
  9. { code is: MsiDefs.pas, released June 2001. The initial developer of the }
  10. { Pascal code is Marcel van Brakel (brakelm att chello dott nl). }
  11. { }
  12. { Portions created by Marcel van Brakel are Copyright (C) 1999-2001 }
  13. { Marcel van Brakel. All Rights Reserved. }
  14. { }
  15. { Obtained through: Joint Endeavour of Delphi Innovators (Project JEDI) }
  16. { }
  17. { You may retrieve the latest version of this file at the Project JEDI }
  18. { APILIB home page, located at http://jedi-apilib.sourceforge.net }
  19. { }
  20. { The contents of this file are used with permission, subject to the Mozilla }
  21. { Public License Version 1.1 (the "License"); you may not use this file except }
  22. { in compliance with the License. You may obtain a copy of the License at }
  23. { http://www.mozilla.org/MPL/MPL-1.1.html }
  24. { }
  25. { Software distributed under the License is distributed on an "AS IS" basis, }
  26. { WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License for }
  27. { the specific language governing rights and limitations under the License. }
  28. { }
  29. { Alternatively, the contents of this file may be used under the terms of the }
  30. { GNU Lesser General Public License (the "LGPL License"), in which case the }
  31. { provisions of the LGPL License are applicable instead of those above. }
  32. { If you wish to allow use of your version of this file only under the terms }
  33. { of the LGPL License and not to allow others to use your version of this file }
  34. { under the MPL, indicate your decision by deleting the provisions above and }
  35. { replace them with the notice and other provisions required by the LGPL }
  36. { License. If you do not delete the provisions above, a recipient may use }
  37. { your version of this file under either the MPL or the LGPL License. }
  38. { }
  39. { For more information about the LGPL: http://www.gnu.org/copyleft/lesser.html }
  40. { }
  41. {******************************************************************************}
  42. // $Id: JwaMsiDefs.pas,v 1.6 2005/09/03 14:27:48 marquardt Exp $
  43. unit JwaMsiDefs;
  44. {$WEAKPACKAGEUNIT}
  45. {$HPPEMIT ''}
  46. {$HPPEMIT '#include "msidefs.h"'}
  47. {$HPPEMIT ''}
  48. {$I jediapilib.inc}
  49. interface
  50. uses
  51. JwaWindows;
  52. //------------------------------------------------------------------------------
  53. // INSTALLER PROPERTY DEFINITIONS
  54. //------------------------------------------------------------------------------
  55. const
  56. // Required properties: set in Property table
  57. IPROPNAME_PRODUCTNAME = TEXT('ProductName'); // name registered for display
  58. {$EXTERNALSYM IPROPNAME_PRODUCTNAME}
  59. IPROPNAME_PRODUCTCODE = TEXT('ProductCode'); // unique string GUID for product
  60. {$EXTERNALSYM IPROPNAME_PRODUCTCODE}
  61. IPROPNAME_PRODUCTVERSION = TEXT('ProductVersion'); // string product version
  62. {$EXTERNALSYM IPROPNAME_PRODUCTVERSION}
  63. IPROPNAME_INSTALLLANGUAGE = TEXT('ProductLanguage'); // install language of product, use to load resources
  64. {$EXTERNALSYM IPROPNAME_INSTALLLANGUAGE}
  65. IPROPNAME_MANUFACTURER = TEXT('Manufacturer'); // name of manufacturer
  66. {$EXTERNALSYM IPROPNAME_MANUFACTURER}
  67. // Customization properties: set in Property table
  68. IPROPNAME_UPGRADECODE = TEXT('UpgradeCode'); // unique string GUID for product family
  69. {$EXTERNALSYM IPROPNAME_UPGRADECODE}
  70. IPROPNAME_PIDTEMPLATE = TEXT('PIDTemplate'); // drives Product ID processing
  71. {$EXTERNALSYM IPROPNAME_PIDTEMPLATE}
  72. IPROPNAME_DISKPROMPT = TEXT('DiskPrompt'); // prompt for CD
  73. {$EXTERNALSYM IPROPNAME_DISKPROMPT}
  74. IPROPNAME_LEFTUNIT = TEXT('LeftUnit'); // name of unit placed to left of number instead of right
  75. {$EXTERNALSYM IPROPNAME_LEFTUNIT}
  76. IPROPNAME_ADMIN_PROPERTIES = TEXT('AdminProperties'); // properties to stuff in admin package
  77. {$EXTERNALSYM IPROPNAME_ADMIN_PROPERTIES}
  78. IPROPNAME_DEFAULTUIFONT = TEXT('DefaultUIFont'); // the font used in the UI if no other font is specified
  79. {$EXTERNALSYM IPROPNAME_DEFAULTUIFONT}
  80. IPROPNAME_ALLOWEDPROPERTIES = TEXT('SecureCustomProperties');
  81. {$EXTERNALSYM IPROPNAME_ALLOWEDPROPERTIES}
  82. IPROPNAME_ENABLEUSERCONTROL = TEXT('EnableUserControl'); // allows user to specify any public property
  83. {$EXTERNALSYM IPROPNAME_ENABLEUSERCONTROL}
  84. IPROPNAME_HIDDEN_PROPERTIES = TEXT('MsiHiddenProperties'); // properties that should not be dumped into the log file
  85. {$EXTERNALSYM IPROPNAME_HIDDEN_PROPERTIES}
  86. // Customization properties: set on command-line or in Property table
  87. IPROPNAME_USERNAME = TEXT('USERNAME');
  88. {$EXTERNALSYM IPROPNAME_USERNAME}
  89. IPROPNAME_COMPANYNAME = TEXT('COMPANYNAME');
  90. {$EXTERNALSYM IPROPNAME_COMPANYNAME}
  91. IPROPNAME_PIDKEY = TEXT('PIDKEY'); // used with PIDTemplate to form ProductID
  92. {$EXTERNALSYM IPROPNAME_PIDKEY}
  93. IPROPNAME_PATCH = TEXT('PATCH'); // patch package to apply - SET BY INSTALLER
  94. {$EXTERNALSYM IPROPNAME_PATCH}
  95. IPROPNAME_TARGETDIR = TEXT('TARGETDIR'); // target location - defaults to ROOTDRIVE
  96. {$EXTERNALSYM IPROPNAME_TARGETDIR}
  97. IPROPNAME_ACTION = TEXT('ACTION'); // top-level action to perform - default to INSTALL
  98. {$EXTERNALSYM IPROPNAME_ACTION}
  99. IPROPNAME_LIMITUI = TEXT('LIMITUI'); // limit ui level to Basic
  100. {$EXTERNALSYM IPROPNAME_LIMITUI}
  101. IPROPNAME_LOGACTION = TEXT('LOGACTION'); // log only these actions
  102. {$EXTERNALSYM IPROPNAME_LOGACTION}
  103. IPROPNAME_ALLUSERS = TEXT('ALLUSERS'); // install for all users
  104. {$EXTERNALSYM IPROPNAME_ALLUSERS}
  105. IPROPNAME_INSTALLLEVEL = TEXT('INSTALLLEVEL');
  106. {$EXTERNALSYM IPROPNAME_INSTALLLEVEL}
  107. IPROPNAME_REBOOT = TEXT('REBOOT'); // force or suppress reboot
  108. {$EXTERNALSYM IPROPNAME_REBOOT}
  109. IPROPNAME_REBOOTPROMPT = TEXT('REBOOTPROMPT'); // allow or suppress reboot prompt
  110. {$EXTERNALSYM IPROPNAME_REBOOTPROMPT}
  111. IPROPNAME_EXECUTEMODE = TEXT('EXECUTEMODE'); // NONE or SCRIPT
  112. {$EXTERNALSYM IPROPNAME_EXECUTEMODE}
  113. IPROPVALUE_EXECUTEMODE_NONE = TEXT('NONE'); // do not update system
  114. {$EXTERNALSYM IPROPVALUE_EXECUTEMODE_NONE}
  115. IPROPVALUE_EXECUTEMODE_SCRIPT = TEXT('SCRIPT'); // default - run script to update system
  116. {$EXTERNALSYM IPROPVALUE_EXECUTEMODE_SCRIPT}
  117. IPROPNAME_EXECUTEACTION = TEXT('EXECUTEACTION'); // run action on server side
  118. {$EXTERNALSYM IPROPNAME_EXECUTEACTION}
  119. IPROPNAME_SOURCELIST = TEXT('SOURCELIST');
  120. {$EXTERNALSYM IPROPNAME_SOURCELIST}
  121. IPROPNAME_ROOTDRIVE = TEXT('ROOTDRIVE'); // default drive to install - SET BY INSTALLER
  122. {$EXTERNALSYM IPROPNAME_ROOTDRIVE}
  123. IPROPNAME_TRANSFORMS = TEXT('TRANSFORMS'); // transforms to apply
  124. {$EXTERNALSYM IPROPNAME_TRANSFORMS}
  125. IPROPNAME_TRANSFORMSATSOURCE = TEXT('TRANSFORMSATSOURCE'); // transforms can be found at source
  126. {$EXTERNALSYM IPROPNAME_TRANSFORMSATSOURCE}
  127. IPROPNAME_TRANSFORMSSECURE = TEXT('TRANSFORMSSECURE'); // file transforms are secured
  128. {$EXTERNALSYM IPROPNAME_TRANSFORMSSECURE}
  129. IPROPNAME_SEQUENCE = TEXT('SEQUENCE'); // sequence table to run with SEQUENCE action
  130. {$EXTERNALSYM IPROPNAME_SEQUENCE}
  131. IPROPNAME_SHORTFILENAMES = TEXT('SHORTFILENAMES'); // force short file names
  132. {$EXTERNALSYM IPROPNAME_SHORTFILENAMES}
  133. IPROPNAME_PRIMARYFOLDER = TEXT('PRIMARYFOLDER'); // Folder on the volume the author wants costing info for
  134. {$EXTERNALSYM IPROPNAME_PRIMARYFOLDER}
  135. IPROPNAME_AFTERREBOOT = TEXT('AFTERREBOOT'); // install is after a ForceReboot triggered reboot
  136. {$EXTERNALSYM IPROPNAME_AFTERREBOOT}
  137. IPROPNAME_NOCOMPANYNAME = TEXT('NOCOMPANYNAME');
  138. {$EXTERNALSYM IPROPNAME_NOCOMPANYNAME}
  139. IPROPNAME_NOUSERNAME = TEXT('NOUSERNAME');
  140. {$EXTERNALSYM IPROPNAME_NOUSERNAME}
  141. IPROPNAME_DISABLEROLLBACK = TEXT('DISABLEROLLBACK'); // disable rollback for this install
  142. {$EXTERNALSYM IPROPNAME_DISABLEROLLBACK}
  143. IPROPNAME_AVAILABLEFREEREG = TEXT('AVAILABLEFREEREG'); // set up the free space in the registry before commencing the install
  144. {$EXTERNALSYM IPROPNAME_AVAILABLEFREEREG}
  145. IPROPNAME_DISABLEADVTSHORTCUTS = TEXT('DISABLEADVTSHORTCUTS'); // disable creating darwin shortcuts even if supported
  146. {$EXTERNALSYM IPROPNAME_DISABLEADVTSHORTCUTS}
  147. IPROPNAME_PATCHNEWPACKAGECODE = TEXT('PATCHNEWPACKAGECODE'); // added to property table by patch transforms - used to update
  148. {$EXTERNALSYM IPROPNAME_PATCHNEWPACKAGECODE}
  149. // PackageCode of admin packages when patching admin installs
  150. IPROPNAME_PATCHNEWSUMMARYSUBJECT = TEXT('PATCHNEWSUMMARYSUBJECT'); // added to property table by patch transforms - used to update
  151. {$EXTERNALSYM IPROPNAME_PATCHNEWSUMMARYSUBJECT}
  152. // Subject summary info property of admin packages when patching admin installs
  153. IPROPNAME_PATCHNEWSUMMARYCOMMENTS = TEXT('PATCHNEWSUMMARYCOMMENTS'); // added to property table by patch transforms - used to update
  154. {$EXTERNALSYM IPROPNAME_PATCHNEWSUMMARYCOMMENTS}
  155. // Comments summary info property of admin packages when patching admin installs
  156. IPROPNAME_PRODUCTLANGUAGE = TEXT('PRODUCTLANGUAGE'); // requested language, must be one in summary information list, selects language transform
  157. {$EXTERNALSYM IPROPNAME_PRODUCTLANGUAGE}
  158. IPROPNAME_CHECKCRCS = TEXT('MSICHECKCRCS'); // requests Darwin to check CRCs after copying, moving, patching & duplicating files.
  159. {$EXTERNALSYM IPROPNAME_CHECKCRCS}
  160. IPROPNAME_MSINODISABLEMEDIA = TEXT('MSINODISABLEMEDIA'); // if set, DISABLEMEDIA won't be set in the AdminProperties stream during an admin install of
  161. {$EXTERNALSYM IPROPNAME_MSINODISABLEMEDIA} // a package with compressed source
  162. // property used for URT bootstrapping
  163. IPROPNAME_CARRYINGNDP = TEXT('CARRYINGNDP');
  164. {$EXTERNALSYM IPROPNAME_CARRYINGNDP}
  165. IPROPVALUE__CARRYINGNDP_URTREINSTALL = TEXT('URTREINSTALL'); // reinstalling/ uninstalling core URT files
  166. {$EXTERNALSYM IPROPVALUE__CARRYINGNDP_URTREINSTALL}
  167. IPROPVALUE__CARRYINGNDP_URTUPGRADE = TEXT('URTUPGRADE'); // upgrading core URT files
  168. {$EXTERNALSYM IPROPVALUE__CARRYINGNDP_URTUPGRADE}
  169. // property used for multiple instance support
  170. IPROPNAME_MSINEWINSTANCE = TEXT('MSINEWINSTANCE');
  171. {$EXTERNALSYM IPROPNAME_MSINEWINSTANCE}
  172. IPROPNAME_MSIINSTANCEGUID = TEXT('MSIINSTANCEGUID');
  173. {$EXTERNALSYM IPROPNAME_MSIINSTANCEGUID}
  174. // properties used for URL download reduction for admins
  175. IPROPNAME_MSIPACKAGEDOWNLOADLOCALCOPY = TEXT('MSIPACKAGEDOWNLOADLOCALCOPY');
  176. {$EXTERNALSYM IPROPNAME_MSIPACKAGEDOWNLOADLOCALCOPY}
  177. IPROPNAME_MSIPATCHDOWNLOADLOCALCOPY = TEXT('MSIPATCHDOWNLOADLOCALCOPY');
  178. {$EXTERNALSYM IPROPNAME_MSIPATCHDOWNLOADLOCALCOPY}
  179. // Properties used to populate Add/Remove Control Panel values
  180. IPROPNAME_ARPAUTHORIZEDCDFPREFIX = TEXT('ARPAUTHORIZEDCDFPREFIX');
  181. {$EXTERNALSYM IPROPNAME_ARPAUTHORIZEDCDFPREFIX}
  182. IPROPNAME_ARPCOMMENTS = TEXT('ARPCOMMENTS');
  183. {$EXTERNALSYM IPROPNAME_ARPCOMMENTS}
  184. IPROPNAME_ARPCONTACT = TEXT('ARPCONTACT');
  185. {$EXTERNALSYM IPROPNAME_ARPCONTACT}
  186. IPROPNAME_ARPHELPLINK = TEXT('ARPHELPLINK');
  187. {$EXTERNALSYM IPROPNAME_ARPHELPLINK}
  188. IPROPNAME_ARPHELPTELEPHONE = TEXT('ARPHELPTELEPHONE');
  189. {$EXTERNALSYM IPROPNAME_ARPHELPTELEPHONE}
  190. IPROPNAME_ARPINSTALLLOCATION = TEXT('ARPINSTALLLOCATION');
  191. {$EXTERNALSYM IPROPNAME_ARPINSTALLLOCATION}
  192. IPROPNAME_ARPNOMODIFY = TEXT('ARPNOMODIFY');
  193. {$EXTERNALSYM IPROPNAME_ARPNOMODIFY}
  194. IPROPNAME_ARPNOREMOVE = TEXT('ARPNOREMOVE');
  195. {$EXTERNALSYM IPROPNAME_ARPNOREMOVE}
  196. IPROPNAME_ARPNOREPAIR = TEXT('ARPNOREPAIR');
  197. {$EXTERNALSYM IPROPNAME_ARPNOREPAIR}
  198. IPROPNAME_ARPREADME = TEXT('ARPREADME');
  199. {$EXTERNALSYM IPROPNAME_ARPREADME}
  200. IPROPNAME_ARPSIZE = TEXT('ARPSIZE');
  201. {$EXTERNALSYM IPROPNAME_ARPSIZE}
  202. IPROPNAME_ARPSYSTEMCOMPONENT = TEXT('ARPSYSTEMCOMPONENT');
  203. {$EXTERNALSYM IPROPNAME_ARPSYSTEMCOMPONENT}
  204. IPROPNAME_ARPURLINFOABOUT = TEXT('ARPURLINFOABOUT');
  205. {$EXTERNALSYM IPROPNAME_ARPURLINFOABOUT}
  206. IPROPNAME_ARPURLUPDATEINFO = TEXT('ARPURLUPDATEINFO');
  207. {$EXTERNALSYM IPROPNAME_ARPURLUPDATEINFO}
  208. IPROPNAME_ARPPRODUCTICON = TEXT('ARPPRODUCTICON');
  209. {$EXTERNALSYM IPROPNAME_ARPPRODUCTICON}
  210. // Dynamic properties set by installer during install
  211. IPROPNAME_INSTALLED = TEXT('Installed'); // product already installed
  212. {$EXTERNALSYM IPROPNAME_INSTALLED}
  213. IPROPNAME_PRODUCTSTATE = TEXT('ProductState'); // state of product (installed,advertised,etc...)
  214. {$EXTERNALSYM IPROPNAME_PRODUCTSTATE}
  215. IPROPNAME_PRESELECTED = TEXT('Preselected'); // selections made on command line
  216. {$EXTERNALSYM IPROPNAME_PRESELECTED}
  217. IPROPNAME_RESUME = TEXT('RESUME'); // resuming suspended install
  218. {$EXTERNALSYM IPROPNAME_RESUME}
  219. IPROPNAME_UPDATESTARTED = TEXT('UpdateStarted'); // have begun to update system
  220. {$EXTERNALSYM IPROPNAME_UPDATESTARTED}
  221. IPROPNAME_PRODUCTID = TEXT('ProductID'); // the complete validated Product ID
  222. {$EXTERNALSYM IPROPNAME_PRODUCTID}
  223. IPROPNAME_OUTOFDISKSPACE = TEXT('OutOfDiskSpace');
  224. {$EXTERNALSYM IPROPNAME_OUTOFDISKSPACE}
  225. IPROPNAME_OUTOFNORBDISKSPACE = TEXT('OutOfNoRbDiskSpace');
  226. {$EXTERNALSYM IPROPNAME_OUTOFNORBDISKSPACE}
  227. IPROPNAME_COSTINGCOMPLETE = TEXT('CostingComplete');
  228. {$EXTERNALSYM IPROPNAME_COSTINGCOMPLETE}
  229. IPROPNAME_SOURCEDIR = TEXT('SourceDir'); // source location - SET BY INSTALLER
  230. {$EXTERNALSYM IPROPNAME_SOURCEDIR}
  231. IPROPNAME_REPLACEDINUSEFILES = TEXT('ReplacedInUseFiles'); // need reboot to completely install one or more files
  232. {$EXTERNALSYM IPROPNAME_REPLACEDINUSEFILES}
  233. IPROPNAME_PRIMARYFOLDER_PATH = TEXT('PrimaryVolumePath');
  234. {$EXTERNALSYM IPROPNAME_PRIMARYFOLDER_PATH}
  235. IPROPNAME_PRIMARYFOLDER_SPACEAVAILABLE = TEXT('PrimaryVolumeSpaceAvailable');
  236. {$EXTERNALSYM IPROPNAME_PRIMARYFOLDER_SPACEAVAILABLE}
  237. IPROPNAME_PRIMARYFOLDER_SPACEREQUIRED = TEXT('PrimaryVolumeSpaceRequired');
  238. {$EXTERNALSYM IPROPNAME_PRIMARYFOLDER_SPACEREQUIRED}
  239. IPROPNAME_PRIMARYFOLDER_SPACEREMAINING = TEXT('PrimaryVolumeSpaceRemaining');
  240. {$EXTERNALSYM IPROPNAME_PRIMARYFOLDER_SPACEREMAINING}
  241. IPROPNAME_ISADMINPACKAGE = TEXT('IsAdminPackage');
  242. {$EXTERNALSYM IPROPNAME_ISADMINPACKAGE}
  243. IPROPNAME_ROLLBACKDISABLED = TEXT('RollbackDisabled');
  244. {$EXTERNALSYM IPROPNAME_ROLLBACKDISABLED}
  245. IPROPNAME_RESTRICTEDUSERCONTROL = TEXT('RestrictedUserControl');
  246. {$EXTERNALSYM IPROPNAME_RESTRICTEDUSERCONTROL}
  247. // Dynamic properties evaluated upon use
  248. IPROPNAME_TIME = TEXT('Time');
  249. {$EXTERNALSYM IPROPNAME_TIME}
  250. IPROPNAME_DATE = TEXT('Date');
  251. {$EXTERNALSYM IPROPNAME_DATE}
  252. IPROPNAME_DATETIME = TEXT('DateTime');
  253. {$EXTERNALSYM IPROPNAME_DATETIME}
  254. // Hardware properties: set by installer at initialization
  255. IPROPNAME_INTEL = TEXT('Intel');
  256. {$EXTERNALSYM IPROPNAME_INTEL}
  257. //#if (_WIN32_MSI >= 150)
  258. IPROPNAME_AMD64 = TEXT('AMD64');
  259. {$EXTERNALSYM IPROPNAME_AMD64}
  260. IPROPNAME_INTEL64 = TEXT('Intel64');
  261. {$EXTERNALSYM IPROPNAME_INTEL64}
  262. //#else // (_WIN32_MSI >= 150)
  263. IPROPNAME_IA64 = TEXT('IA64');
  264. {$EXTERNALSYM IPROPNAME_IA64}
  265. //#endif // (_WIN32_MSI >= 150)
  266. IPROPNAME_TEXTHEIGHT = TEXT('TextHeight');
  267. {$EXTERNALSYM IPROPNAME_TEXTHEIGHT}
  268. IPROPNAME_SCREENX = TEXT('ScreenX');
  269. {$EXTERNALSYM IPROPNAME_SCREENX}
  270. IPROPNAME_SCREENY = TEXT('ScreenY');
  271. {$EXTERNALSYM IPROPNAME_SCREENY}
  272. IPROPNAME_CAPTIONHEIGHT = TEXT('CaptionHeight');
  273. {$EXTERNALSYM IPROPNAME_CAPTIONHEIGHT}
  274. IPROPNAME_BORDERTOP = TEXT('BorderTop');
  275. {$EXTERNALSYM IPROPNAME_BORDERTOP}
  276. IPROPNAME_BORDERSIDE = TEXT('BorderSide');
  277. {$EXTERNALSYM IPROPNAME_BORDERSIDE}
  278. IPROPNAME_COLORBITS = TEXT('ColorBits');
  279. {$EXTERNALSYM IPROPNAME_COLORBITS}
  280. IPROPNAME_PHYSICALMEMORY = TEXT('PhysicalMemory');
  281. {$EXTERNALSYM IPROPNAME_PHYSICALMEMORY}
  282. IPROPNAME_VIRTUALMEMORY = TEXT('VirtualMemory');
  283. {$EXTERNALSYM IPROPNAME_VIRTUALMEMORY}
  284. IPROPNAME_TEXTHEIGHT_CORRECTION = TEXT('TextHeightCorrection');
  285. {$EXTERNALSYM IPROPNAME_TEXTHEIGHT_CORRECTION}
  286. // Operating System properties: set by installer at initialization
  287. IPROPNAME_VERSIONNT = TEXT('VersionNT');
  288. {$EXTERNALSYM IPROPNAME_VERSIONNT}
  289. IPROPNAME_VERSION9X = TEXT('Version9X');
  290. {$EXTERNALSYM IPROPNAME_VERSION9X}
  291. IPROPNAME_VERSIONNT64 = TEXT('VersionNT64');
  292. {$EXTERNALSYM IPROPNAME_VERSIONNT64}
  293. IPROPNAME_WINDOWSBUILD = TEXT('WindowsBuild');
  294. {$EXTERNALSYM IPROPNAME_WINDOWSBUILD}
  295. IPROPNAME_SERVICEPACKLEVEL = TEXT('ServicePackLevel');
  296. {$EXTERNALSYM IPROPNAME_SERVICEPACKLEVEL}
  297. IPROPNAME_SERVICEPACKLEVELMINOR = TEXT('ServicePackLevelMinor');
  298. {$EXTERNALSYM IPROPNAME_SERVICEPACKLEVELMINOR}
  299. IPROPNAME_SHAREDWINDOWS = TEXT('SharedWindows');
  300. {$EXTERNALSYM IPROPNAME_SHAREDWINDOWS}
  301. IPROPNAME_COMPUTERNAME = TEXT('ComputerName');
  302. {$EXTERNALSYM IPROPNAME_COMPUTERNAME}
  303. IPROPNAME_SHELLADVTSUPPORT = TEXT('ShellAdvtSupport');
  304. {$EXTERNALSYM IPROPNAME_SHELLADVTSUPPORT}
  305. IPROPNAME_OLEADVTSUPPORT = TEXT('OLEAdvtSupport');
  306. {$EXTERNALSYM IPROPNAME_OLEADVTSUPPORT}
  307. IPROPNAME_SYSTEMLANGUAGEID = TEXT('SystemLanguageID');
  308. {$EXTERNALSYM IPROPNAME_SYSTEMLANGUAGEID}
  309. IPROPNAME_TTCSUPPORT = TEXT('TTCSupport');
  310. {$EXTERNALSYM IPROPNAME_TTCSUPPORT}
  311. IPROPNAME_TERMSERVER = TEXT('TerminalServer');
  312. {$EXTERNALSYM IPROPNAME_TERMSERVER}
  313. IPROPNAME_REMOTEADMINTS = TEXT('RemoteAdminTS');
  314. {$EXTERNALSYM IPROPNAME_REMOTEADMINTS}
  315. IPROPNAME_REDIRECTEDDLLSUPPORT = TEXT('RedirectedDllSupport');
  316. {$EXTERNALSYM IPROPNAME_REDIRECTEDDLLSUPPORT}
  317. IPROPNAME_NTPRODUCTTYPE = TEXT('MsiNTProductType');
  318. {$EXTERNALSYM IPROPNAME_NTPRODUCTTYPE}
  319. IPROPNAME_NTSUITEBACKOFFICE = TEXT('MsiNTSuiteBackOffice');
  320. {$EXTERNALSYM IPROPNAME_NTSUITEBACKOFFICE}
  321. IPROPNAME_NTSUITEDATACENTER = TEXT('MsiNTSuiteDataCenter');
  322. {$EXTERNALSYM IPROPNAME_NTSUITEDATACENTER}
  323. IPROPNAME_NTSUITEENTERPRISE = TEXT('MsiNTSuiteEnterprise');
  324. {$EXTERNALSYM IPROPNAME_NTSUITEENTERPRISE}
  325. IPROPNAME_NTSUITESMALLBUSINESS = TEXT('MsiNTSuiteSmallBusiness');
  326. {$EXTERNALSYM IPROPNAME_NTSUITESMALLBUSINESS}
  327. IPROPNAME_NTSUITESMALLBUSINESSRESTRICTED = TEXT('MsiNTSuiteSmallBusinessRestricted');
  328. {$EXTERNALSYM IPROPNAME_NTSUITESMALLBUSINESSRESTRICTED}
  329. IPROPNAME_NTSUITEPERSONAL = TEXT('MsiNTSuitePersonal');
  330. {$EXTERNALSYM IPROPNAME_NTSUITEPERSONAL}
  331. IPROPNAME_NTSUITEWEBSERVER = TEXT('MsiNTSuiteWebServer');
  332. {$EXTERNALSYM IPROPNAME_NTSUITEWEBSERVER}
  333. IPROPNAME_NETASSEMBLYSUPPORT = TEXT('MsiNetAssemblySupport');
  334. {$EXTERNALSYM IPROPNAME_NETASSEMBLYSUPPORT}
  335. IPROPNAME_WIN32ASSEMBLYSUPPORT = TEXT('MsiWin32AssemblySupport');
  336. {$EXTERNALSYM IPROPNAME_WIN32ASSEMBLYSUPPORT}
  337. // User properties: set by installer at initialization
  338. IPROPNAME_LOGONUSER = TEXT('LogonUser');
  339. {$EXTERNALSYM IPROPNAME_LOGONUSER}
  340. IPROPNAME_USERSID = TEXT('UserSID');
  341. {$EXTERNALSYM IPROPNAME_USERSID}
  342. IPROPNAME_ADMINUSER = TEXT('AdminUser');
  343. {$EXTERNALSYM IPROPNAME_ADMINUSER}
  344. IPROPNAME_USERLANGUAGEID = TEXT('UserLanguageID');
  345. {$EXTERNALSYM IPROPNAME_USERLANGUAGEID}
  346. IPROPNAME_PRIVILEGED = TEXT('Privileged');
  347. {$EXTERNALSYM IPROPNAME_PRIVILEGED}
  348. // System folder properties: set by installer at initialization
  349. IPROPNAME_WINDOWS_FOLDER = TEXT('WindowsFolder');
  350. {$EXTERNALSYM IPROPNAME_WINDOWS_FOLDER}
  351. IPROPNAME_SYSTEM_FOLDER = TEXT('SystemFolder');
  352. {$EXTERNALSYM IPROPNAME_SYSTEM_FOLDER}
  353. IPROPNAME_SYSTEM16_FOLDER = TEXT('System16Folder');
  354. {$EXTERNALSYM IPROPNAME_SYSTEM16_FOLDER}
  355. IPROPNAME_WINDOWS_VOLUME = TEXT('WindowsVolume');
  356. {$EXTERNALSYM IPROPNAME_WINDOWS_VOLUME}
  357. IPROPNAME_TEMP_FOLDER = TEXT('TempFolder');
  358. {$EXTERNALSYM IPROPNAME_TEMP_FOLDER}
  359. IPROPNAME_PROGRAMFILES_FOLDER = TEXT('ProgramFilesFolder');
  360. {$EXTERNALSYM IPROPNAME_PROGRAMFILES_FOLDER}
  361. IPROPNAME_COMMONFILES_FOLDER = TEXT('CommonFilesFolder');
  362. {$EXTERNALSYM IPROPNAME_COMMONFILES_FOLDER}
  363. IPROPNAME_SYSTEM64_FOLDER = TEXT('System64Folder');
  364. {$EXTERNALSYM IPROPNAME_SYSTEM64_FOLDER}
  365. IPROPNAME_PROGRAMFILES64_FOLDER = TEXT('ProgramFiles64Folder');
  366. {$EXTERNALSYM IPROPNAME_PROGRAMFILES64_FOLDER}
  367. IPROPNAME_COMMONFILES64_FOLDER = TEXT('CommonFiles64Folder');
  368. {$EXTERNALSYM IPROPNAME_COMMONFILES64_FOLDER}
  369. IPROPNAME_STARTMENU_FOLDER = TEXT('StartMenuFolder');
  370. {$EXTERNALSYM IPROPNAME_STARTMENU_FOLDER}
  371. IPROPNAME_PROGRAMMENU_FOLDER = TEXT('ProgramMenuFolder');
  372. {$EXTERNALSYM IPROPNAME_PROGRAMMENU_FOLDER}
  373. IPROPNAME_STARTUP_FOLDER = TEXT('StartupFolder');
  374. {$EXTERNALSYM IPROPNAME_STARTUP_FOLDER}
  375. IPROPNAME_NETHOOD_FOLDER = TEXT('NetHoodFolder');
  376. {$EXTERNALSYM IPROPNAME_NETHOOD_FOLDER}
  377. IPROPNAME_PERSONAL_FOLDER = TEXT('PersonalFolder');
  378. {$EXTERNALSYM IPROPNAME_PERSONAL_FOLDER}
  379. IPROPNAME_SENDTO_FOLDER = TEXT('SendToFolder');
  380. {$EXTERNALSYM IPROPNAME_SENDTO_FOLDER}
  381. IPROPNAME_DESKTOP_FOLDER = TEXT('DesktopFolder');
  382. {$EXTERNALSYM IPROPNAME_DESKTOP_FOLDER}
  383. IPROPNAME_TEMPLATE_FOLDER = TEXT('TemplateFolder');
  384. {$EXTERNALSYM IPROPNAME_TEMPLATE_FOLDER}
  385. IPROPNAME_FONTS_FOLDER = TEXT('FontsFolder');
  386. {$EXTERNALSYM IPROPNAME_FONTS_FOLDER}
  387. IPROPNAME_FAVORITES_FOLDER = TEXT('FavoritesFolder');
  388. {$EXTERNALSYM IPROPNAME_FAVORITES_FOLDER}
  389. IPROPNAME_RECENT_FOLDER = TEXT('RecentFolder');
  390. {$EXTERNALSYM IPROPNAME_RECENT_FOLDER}
  391. IPROPNAME_APPDATA_FOLDER = TEXT('AppDataFolder');
  392. {$EXTERNALSYM IPROPNAME_APPDATA_FOLDER}
  393. IPROPNAME_PRINTHOOD_FOLDER = TEXT('PrintHoodFolder');
  394. {$EXTERNALSYM IPROPNAME_PRINTHOOD_FOLDER}
  395. IPROPNAME_ADMINTOOLS_FOLDER = TEXT('AdminToolsFolder');
  396. {$EXTERNALSYM IPROPNAME_ADMINTOOLS_FOLDER}
  397. IPROPNAME_COMMONAPPDATA_FOLDER = TEXT('CommonAppDataFolder');
  398. {$EXTERNALSYM IPROPNAME_COMMONAPPDATA_FOLDER}
  399. IPROPNAME_LOCALAPPDATA_FOLDER = TEXT('LocalAppDataFolder');
  400. {$EXTERNALSYM IPROPNAME_LOCALAPPDATA_FOLDER}
  401. IPROPNAME_MYPICTURES_FOLDER = TEXT('MyPicturesFolder');
  402. {$EXTERNALSYM IPROPNAME_MYPICTURES_FOLDER}
  403. // Feature/Component installation properties: set on command-line
  404. IPROPNAME_FEATUREADDLOCAL = TEXT('ADDLOCAL');
  405. {$EXTERNALSYM IPROPNAME_FEATUREADDLOCAL}
  406. IPROPNAME_FEATUREADDSOURCE = TEXT('ADDSOURCE');
  407. {$EXTERNALSYM IPROPNAME_FEATUREADDSOURCE}
  408. IPROPNAME_FEATUREADDDEFAULT = TEXT('ADDDEFAULT');
  409. {$EXTERNALSYM IPROPNAME_FEATUREADDDEFAULT}
  410. IPROPNAME_FEATUREREMOVE = TEXT('REMOVE');
  411. {$EXTERNALSYM IPROPNAME_FEATUREREMOVE}
  412. IPROPNAME_FEATUREADVERTISE = TEXT('ADVERTISE');
  413. {$EXTERNALSYM IPROPNAME_FEATUREADVERTISE}
  414. IPROPVALUE_FEATURE_ALL = TEXT('ALL');
  415. {$EXTERNALSYM IPROPVALUE_FEATURE_ALL}
  416. IPROPNAME_COMPONENTADDLOCAL = TEXT('COMPADDLOCAL');
  417. {$EXTERNALSYM IPROPNAME_COMPONENTADDLOCAL}
  418. IPROPNAME_COMPONENTADDSOURCE = TEXT('COMPADDSOURCE');
  419. {$EXTERNALSYM IPROPNAME_COMPONENTADDSOURCE}
  420. IPROPNAME_COMPONENTADDDEFAULT = TEXT('COMPADDDEFAULT');
  421. {$EXTERNALSYM IPROPNAME_COMPONENTADDDEFAULT}
  422. IPROPNAME_FILEADDLOCAL = TEXT('FILEADDLOCAL');
  423. {$EXTERNALSYM IPROPNAME_FILEADDLOCAL}
  424. IPROPNAME_FILEADDSOURCE = TEXT('FILEADDSOURCE');
  425. {$EXTERNALSYM IPROPNAME_FILEADDSOURCE}
  426. IPROPNAME_FILEADDDEFAULT = TEXT('FILEADDDEFAULT');
  427. {$EXTERNALSYM IPROPNAME_FILEADDDEFAULT}
  428. IPROPNAME_REINSTALL = TEXT('REINSTALL');
  429. {$EXTERNALSYM IPROPNAME_REINSTALL}
  430. IPROPNAME_REINSTALLMODE = TEXT('REINSTALLMODE');
  431. {$EXTERNALSYM IPROPNAME_REINSTALLMODE}
  432. IPROPNAME_PROMPTROLLBACKCOST = TEXT('PROMPTROLLBACKCOST');
  433. {$EXTERNALSYM IPROPNAME_PROMPTROLLBACKCOST}
  434. IPROPVALUE_RBCOST_PROMPT = TEXT('P');
  435. {$EXTERNALSYM IPROPVALUE_RBCOST_PROMPT}
  436. IPROPVALUE_RBCOST_SILENT = TEXT('D');
  437. {$EXTERNALSYM IPROPVALUE_RBCOST_SILENT}
  438. IPROPVALUE_RBCOST_FAIL = TEXT('F');
  439. {$EXTERNALSYM IPROPVALUE_RBCOST_FAIL}
  440. // Property for custom actions to communicate
  441. IPROPNAME_CUSTOMACTIONDATA = TEXT('CustomActionData');
  442. {$EXTERNALSYM IPROPNAME_CUSTOMACTIONDATA}
  443. //------------------------------------------------------------------------------
  444. // TOP-LEVEL ACTION NAMES
  445. //------------------------------------------------------------------------------
  446. IACTIONNAME_INSTALL = TEXT('INSTALL');
  447. {$EXTERNALSYM IACTIONNAME_INSTALL}
  448. IACTIONNAME_ADVERTISE = TEXT('ADVERTISE');
  449. {$EXTERNALSYM IACTIONNAME_ADVERTISE}
  450. IACTIONNAME_ADMIN = TEXT('ADMIN');
  451. {$EXTERNALSYM IACTIONNAME_ADMIN}
  452. IACTIONNAME_SEQUENCE = TEXT('SEQUENCE');
  453. {$EXTERNALSYM IACTIONNAME_SEQUENCE}
  454. IACTIONNAME_COLLECTUSERINFO = TEXT('CollectUserInfo');
  455. {$EXTERNALSYM IACTIONNAME_COLLECTUSERINFO}
  456. IACTIONNAME_FIRSTRUN = TEXT('FirstRun');
  457. {$EXTERNALSYM IACTIONNAME_FIRSTRUN}
  458. //------------------------------------------------------------------------------
  459. // SummaryInformation property stream property IDs
  460. //------------------------------------------------------------------------------
  461. // standard property definitions, from OLE2 documentation
  462. PID_DICTIONARY = 0; // integer count + array of entries
  463. {$EXTERNALSYM PID_DICTIONARY}
  464. PID_CODEPAGE = 1; // short integer
  465. {$EXTERNALSYM PID_CODEPAGE}
  466. PID_TITLE = 2; // string
  467. {$EXTERNALSYM PID_TITLE}
  468. PID_SUBJECT = 3; // string
  469. {$EXTERNALSYM PID_SUBJECT}
  470. PID_AUTHOR = 4; // string
  471. {$EXTERNALSYM PID_AUTHOR}
  472. PID_KEYWORDS = 5; // string
  473. {$EXTERNALSYM PID_KEYWORDS}
  474. PID_COMMENTS = 6; // string
  475. {$EXTERNALSYM PID_COMMENTS}
  476. PID_TEMPLATE = 7; // string
  477. {$EXTERNALSYM PID_TEMPLATE}
  478. PID_LASTAUTHOR = 8; // string
  479. {$EXTERNALSYM PID_LASTAUTHOR}
  480. PID_REVNUMBER = 9; // string
  481. {$EXTERNALSYM PID_REVNUMBER}
  482. PID_EDITTIME = 10; // datatime
  483. {$EXTERNALSYM PID_EDITTIME}
  484. PID_LASTPRINTED = 11; // datetime
  485. {$EXTERNALSYM PID_LASTPRINTED}
  486. PID_CREATE_DTM = 12; // datetime
  487. {$EXTERNALSYM PID_CREATE_DTM}
  488. PID_LASTSAVE_DTM = 13; // datetime
  489. {$EXTERNALSYM PID_LASTSAVE_DTM}
  490. PID_PAGECOUNT = 14; // integer
  491. {$EXTERNALSYM PID_PAGECOUNT}
  492. PID_WORDCOUNT = 15; // integer
  493. {$EXTERNALSYM PID_WORDCOUNT}
  494. PID_CHARCOUNT = 16; // integer
  495. {$EXTERNALSYM PID_CHARCOUNT}
  496. PID_THUMBNAIL = 17; // clipboard format + metafile/bitmap (not supported)
  497. {$EXTERNALSYM PID_THUMBNAIL}
  498. PID_APPNAME = 18; // string
  499. {$EXTERNALSYM PID_APPNAME}
  500. PID_SECURITY = 19; // integer
  501. {$EXTERNALSYM PID_SECURITY}
  502. // PIDs given specific meanings for Installer
  503. PID_MSIVERSION = PID_PAGECOUNT; // integer, Installer version number (major*100+minor)
  504. {$EXTERNALSYM PID_MSIVERSION}
  505. PID_MSISOURCE = PID_WORDCOUNT; // integer, type of file image, short/long, media/tree
  506. {$EXTERNALSYM PID_MSISOURCE}
  507. PID_MSIRESTRICT = PID_CHARCOUNT; // integer, transform restrictions
  508. {$EXTERNALSYM PID_MSIRESTRICT}
  509. //------------------------------------------------------------------------------
  510. // INSTALLER DATABASE INTEGER COLUMN DEFINITIONS
  511. //------------------------------------------------------------------------------
  512. // BBControl.Attributes
  513. // Control.Attributes
  514. type
  515. msidbControlAttributes = DWORD;
  516. {$EXTERNALSYM msidbControlAttributes}
  517. const
  518. msidbControlAttributesVisible = $00000001;
  519. {$EXTERNALSYM msidbControlAttributesVisible}
  520. msidbControlAttributesEnabled = $00000002;
  521. {$EXTERNALSYM msidbControlAttributesEnabled}
  522. msidbControlAttributesSunken = $00000004;
  523. {$EXTERNALSYM msidbControlAttributesSunken}
  524. msidbControlAttributesIndirect = $00000008;
  525. {$EXTERNALSYM msidbControlAttributesIndirect}
  526. msidbControlAttributesInteger = $00000010;
  527. {$EXTERNALSYM msidbControlAttributesInteger}
  528. msidbControlAttributesRTLRO = $00000020;
  529. {$EXTERNALSYM msidbControlAttributesRTLRO}
  530. msidbControlAttributesRightAligned = $00000040;
  531. {$EXTERNALSYM msidbControlAttributesRightAligned}
  532. msidbControlAttributesLeftScroll = $00000080;
  533. {$EXTERNALSYM msidbControlAttributesLeftScroll}
  534. msidbControlAttributesBiDi = msidbControlAttributesRTLRO or
  535. msidbControlAttributesRightAligned or msidbControlAttributesLeftScroll;
  536. {$EXTERNALSYM msidbControlAttributesBiDi}
  537. // Text controls
  538. msidbControlAttributesTransparent = $00010000;
  539. {$EXTERNALSYM msidbControlAttributesTransparent}
  540. msidbControlAttributesNoPrefix = $00020000;
  541. {$EXTERNALSYM msidbControlAttributesNoPrefix}
  542. msidbControlAttributesNoWrap = $00040000;
  543. {$EXTERNALSYM msidbControlAttributesNoWrap}
  544. msidbControlAttributesFormatSize = $00080000;
  545. {$EXTERNALSYM msidbControlAttributesFormatSize}
  546. msidbControlAttributesUsersLanguage = $00100000;
  547. {$EXTERNALSYM msidbControlAttributesUsersLanguage}
  548. // Edit controls
  549. msidbControlAttributesMultiline = $00010000;
  550. {$EXTERNALSYM msidbControlAttributesMultiline}
  551. msidbControlAttributesPasswordInput = $00200000;
  552. {$EXTERNALSYM msidbControlAttributesPasswordInput}
  553. // ProgressBar controls
  554. msidbControlAttributesProgress95 = $00010000;
  555. {$EXTERNALSYM msidbControlAttributesProgress95}
  556. // VolumeSelectCombo and DirectoryCombo controls
  557. msidbControlAttributesRemovableVolume = $00010000;
  558. {$EXTERNALSYM msidbControlAttributesRemovableVolume}
  559. msidbControlAttributesFixedVolume = $00020000;
  560. {$EXTERNALSYM msidbControlAttributesFixedVolume}
  561. msidbControlAttributesRemoteVolume = $00040000;
  562. {$EXTERNALSYM msidbControlAttributesRemoteVolume}
  563. msidbControlAttributesCDROMVolume = $00080000;
  564. {$EXTERNALSYM msidbControlAttributesCDROMVolume}
  565. msidbControlAttributesRAMDiskVolume = $00100000;
  566. {$EXTERNALSYM msidbControlAttributesRAMDiskVolume}
  567. msidbControlAttributesFloppyVolume = $00200000;
  568. {$EXTERNALSYM msidbControlAttributesFloppyVolume}
  569. // VolumeCostList controls
  570. msidbControlShowRollbackCost = $00400000;
  571. {$EXTERNALSYM msidbControlShowRollbackCost}
  572. // ListBox and ComboBox controls
  573. msidbControlAttributesSorted = $00010000;
  574. {$EXTERNALSYM msidbControlAttributesSorted}
  575. msidbControlAttributesComboList = $00020000;
  576. {$EXTERNALSYM msidbControlAttributesComboList}
  577. // picture button controls
  578. msidbControlAttributesImageHandle = $00010000;
  579. {$EXTERNALSYM msidbControlAttributesImageHandle}
  580. msidbControlAttributesPushLike = $00020000;
  581. {$EXTERNALSYM msidbControlAttributesPushLike}
  582. msidbControlAttributesBitmap = $00040000;
  583. {$EXTERNALSYM msidbControlAttributesBitmap}
  584. msidbControlAttributesIcon = $00080000;
  585. {$EXTERNALSYM msidbControlAttributesIcon}
  586. msidbControlAttributesFixedSize = $00100000;
  587. {$EXTERNALSYM msidbControlAttributesFixedSize}
  588. msidbControlAttributesIconSize16 = $00200000;
  589. {$EXTERNALSYM msidbControlAttributesIconSize16}
  590. msidbControlAttributesIconSize32 = $00400000;
  591. {$EXTERNALSYM msidbControlAttributesIconSize32}
  592. msidbControlAttributesIconSize48 = $00600000;
  593. {$EXTERNALSYM msidbControlAttributesIconSize48}
  594. // RadioButton controls
  595. msidbControlAttributesHasBorder = $01000000;
  596. {$EXTERNALSYM msidbControlAttributesHasBorder}
  597. // CompLocator.Type
  598. // IniLocator.Type
  599. // RegLocator.Type
  600. type
  601. msidbLocatorType = DWORD;
  602. {$EXTERNALSYM msidbLocatorType}
  603. const
  604. msidbLocatorTypeDirectory = $00000000;
  605. {$EXTERNALSYM msidbLocatorTypeDirectory}
  606. msidbLocatorTypeFileName = $00000001;
  607. {$EXTERNALSYM msidbLocatorTypeFileName}
  608. msidbLocatorTypeRawValue = $00000002;
  609. {$EXTERNALSYM msidbLocatorTypeRawValue}
  610. msidbLocatorType64bit = $00000010;
  611. {$EXTERNALSYM msidbLocatorType64bit}
  612. // Component.Attributes
  613. type
  614. msidbComponentAttributes = DWORD;
  615. {$EXTERNALSYM msidbComponentAttributes}
  616. const
  617. msidbComponentAttributesLocalOnly = $00000000;
  618. {$EXTERNALSYM msidbComponentAttributesLocalOnly}
  619. msidbComponentAttributesSourceOnly = $00000001;
  620. {$EXTERNALSYM msidbComponentAttributesSourceOnly}
  621. msidbComponentAttributesOptional = $00000002; // local or source
  622. {$EXTERNALSYM msidbComponentAttributesOptional}
  623. msidbComponentAttributesRegistryKeyPath = $00000004; // KeyPath is key to Registry table
  624. {$EXTERNALSYM msidbComponentAttributesRegistryKeyPath}
  625. msidbComponentAttributesSharedDllRefCount = $00000008; // increment SharedDll count
  626. {$EXTERNALSYM msidbComponentAttributesSharedDllRefCount}
  627. msidbComponentAttributesPermanent = $00000010; // never uninstall component
  628. {$EXTERNALSYM msidbComponentAttributesPermanent}
  629. msidbComponentAttributesODBCDataSource = $00000020; // KeyFile is key to ODBCDataSource table
  630. {$EXTERNALSYM msidbComponentAttributesODBCDataSource}
  631. msidbComponentAttributesTransitive = $00000040; // Can transition to/from installed/uninstalled based on changing conditional
  632. {$EXTERNALSYM msidbComponentAttributesTransitive}
  633. msidbComponentAttributesNeverOverwrite = $00000080; // dont stomp over existing component if key path exists (file/ regkey)
  634. {$EXTERNALSYM msidbComponentAttributesNeverOverwrite}
  635. msidbComponentAttributes64bit = $00000100; // designates a 64-bit component; 32-bit if missing.
  636. {$EXTERNALSYM msidbComponentAttributes64bit}
  637. // Assembly.Attributes
  638. type
  639. msidbAssemblyAttributes = DWORD;
  640. {$EXTERNALSYM msidbAssemblyAttributes}
  641. const
  642. msidbAssemblyAttributesURT = $00000000;
  643. {$EXTERNALSYM msidbAssemblyAttributesURT}
  644. msidbAssemblyAttributesWin32 = $00000001;
  645. {$EXTERNALSYM msidbAssemblyAttributesWin32}
  646. // CustomAction.Type
  647. type
  648. msidbCustomActionType = DWORD;
  649. {$EXTERNALSYM msidbCustomActionType}
  650. const
  651. // executable types
  652. msidbCustomActionTypeDll = $00000001; // Target = entry point name
  653. {$EXTERNALSYM msidbCustomActionTypeDll}
  654. msidbCustomActionTypeExe = $00000002; // Target = command line args
  655. {$EXTERNALSYM msidbCustomActionTypeExe}
  656. msidbCustomActionTypeTextData = $00000003; // Target = text string to be formatted and set into property
  657. {$EXTERNALSYM msidbCustomActionTypeTextData}
  658. msidbCustomActionTypeJScript = $00000005; // Target = entry point name, null if none to call
  659. {$EXTERNALSYM msidbCustomActionTypeJScript}
  660. msidbCustomActionTypeVBScript = $00000006; // Target = entry point name, null if none to call
  661. {$EXTERNALSYM msidbCustomActionTypeVBScript}
  662. msidbCustomActionTypeInstall = $00000007; // Target = property list for nested engine initialization
  663. {$EXTERNALSYM msidbCustomActionTypeInstall}
  664. // source of code
  665. msidbCustomActionTypeBinaryData = $00000000; // Source = Binary.Name, data stored in stream
  666. {$EXTERNALSYM msidbCustomActionTypeBinaryData}
  667. msidbCustomActionTypeSourceFile = $00000010; // Source = File.File, file part of installation
  668. {$EXTERNALSYM msidbCustomActionTypeSourceFile}
  669. msidbCustomActionTypeDirectory = $00000020; // Source = Directory.Directory, folder containing existing file
  670. {$EXTERNALSYM msidbCustomActionTypeDirectory}
  671. msidbCustomActionTypeProperty = $00000030; // Source = Property.Property, full path to executable
  672. {$EXTERNALSYM msidbCustomActionTypeProperty}
  673. // return processing // default is syncronous execution, process return code
  674. msidbCustomActionTypeContinue = $00000040; // ignore action return status, continue running
  675. {$EXTERNALSYM msidbCustomActionTypeContinue}
  676. msidbCustomActionTypeAsync = $00000080; // run asynchronously
  677. {$EXTERNALSYM msidbCustomActionTypeAsync}
  678. // execution scheduling flags // default is execute whenever sequenced
  679. msidbCustomActionTypeFirstSequence = $00000100; // skip if UI sequence already run
  680. {$EXTERNALSYM msidbCustomActionTypeFirstSequence}
  681. msidbCustomActionTypeOncePerProcess = $00000200; // skip if UI sequence already run in same process
  682. {$EXTERNALSYM msidbCustomActionTypeOncePerProcess}
  683. msidbCustomActionTypeClientRepeat = $00000300; // run on client only if UI already run on client
  684. {$EXTERNALSYM msidbCustomActionTypeClientRepeat}
  685. msidbCustomActionTypeInScript = $00000400; // queue for execution within script
  686. {$EXTERNALSYM msidbCustomActionTypeInScript}
  687. msidbCustomActionTypeRollback = $00000100; // in conjunction with InScript: queue in Rollback script
  688. {$EXTERNALSYM msidbCustomActionTypeRollback}
  689. msidbCustomActionTypeCommit = $00000200; // in conjunction with InScript: run Commit ops from script on success
  690. {$EXTERNALSYM msidbCustomActionTypeCommit}
  691. // security context flag, default to impersonate as user, valid only if InScript
  692. msidbCustomActionTypeNoImpersonate = $00000800; // no impersonation, run in system context
  693. {$EXTERNALSYM msidbCustomActionTypeNoImpersonate}
  694. //#if (_WIN32_MSI >= 150)
  695. msidbCustomActionTypeTSAware = $00004000; // impersonate for per-machine installs on TS machines
  696. {$EXTERNALSYM msidbCustomActionTypeTSAware}
  697. //#endif // (_WIN32_MSI >= 150)
  698. // script requires 64bit process
  699. msidbCustomActionType64BitScript = $00001000; // script should run in 64bit process
  700. {$EXTERNALSYM msidbCustomActionType64BitScript}
  701. // don't record the contents of the Target field in the log file.
  702. msidbCustomActionTypeHideTarget = $00002000;
  703. {$EXTERNALSYM msidbCustomActionTypeHideTarget}
  704. // Dialog.Attributes
  705. type
  706. msidbDialogAttributes = DWORD;
  707. {$EXTERNALSYM msidbDialogAttributes}
  708. const
  709. msidbDialogAttributesVisible = $00000001;
  710. {$EXTERNALSYM msidbDialogAttributesVisible}
  711. msidbDialogAttributesModal = $00000002;
  712. {$EXTERNALSYM msidbDialogAttributesModal}
  713. msidbDialogAttributesMinimize = $00000004;
  714. {$EXTERNALSYM msidbDialogAttributesMinimize}
  715. msidbDialogAttributesSysModal = $00000008;
  716. {$EXTERNALSYM msidbDialogAttributesSysModal}
  717. msidbDialogAttributesKeepModeless = $00000010;
  718. {$EXTERNALSYM msidbDialogAttributesKeepModeless}
  719. msidbDialogAttributesTrackDiskSpace = $00000020;
  720. {$EXTERNALSYM msidbDialogAttributesTrackDiskSpace}
  721. msidbDialogAttributesUseCustomPalette = $00000040;
  722. {$EXTERNALSYM msidbDialogAttributesUseCustomPalette}
  723. msidbDialogAttributesRTLRO = $00000080;
  724. {$EXTERNALSYM msidbDialogAttributesRTLRO}
  725. msidbDialogAttributesRightAligned = $00000100;
  726. {$EXTERNALSYM msidbDialogAttributesRightAligned}
  727. msidbDialogAttributesLeftScroll = $00000200;
  728. {$EXTERNALSYM msidbDialogAttributesLeftScroll}
  729. msidbDialogAttributesBiDi = msidbDialogAttributesRTLRO or
  730. msidbDialogAttributesRightAligned or msidbDialogAttributesLeftScroll;
  731. {$EXTERNALSYM msidbDialogAttributesBiDi}
  732. msidbDialogAttributesError = $00010000;
  733. {$EXTERNALSYM msidbDialogAttributesError}
  734. // Feature.Attributes
  735. type
  736. msidbFeatureAttributes = DWORD;
  737. {$EXTERNALSYM msidbFeatureAttributes}
  738. const
  739. msidbFeatureAttributesFavorLocal = $00000000;
  740. {$EXTERNALSYM msidbFeatureAttributesFavorLocal}
  741. msidbFeatureAttributesFavorSource = $00000001;
  742. {$EXTERNALSYM msidbFeatureAttributesFavorSource}
  743. msidbFeatureAttributesFollowParent = $00000002;
  744. {$EXTERNALSYM msidbFeatureAttributesFollowParent}
  745. msidbFeatureAttributesFavorAdvertise = $00000004;
  746. {$EXTERNALSYM msidbFeatureAttributesFavorAdvertise}
  747. msidbFeatureAttributesDisallowAdvertise = $00000008;
  748. {$EXTERNALSYM msidbFeatureAttributesDisallowAdvertise}
  749. msidbFeatureAttributesUIDisallowAbsent = $00000010;
  750. {$EXTERNALSYM msidbFeatureAttributesUIDisallowAbsent}
  751. msidbFeatureAttributesNoUnsupportedAdvertise = $00000020;
  752. {$EXTERNALSYM msidbFeatureAttributesNoUnsupportedAdvertise}
  753. // File.Attributes
  754. type
  755. msidbFileAttributes = DWORD;
  756. {$EXTERNALSYM msidbFileAttributes}
  757. const
  758. msidbFileAttributesReadOnly = $00000001;
  759. {$EXTERNALSYM msidbFileAttributesReadOnly}
  760. msidbFileAttributesHidden = $00000002;
  761. {$EXTERNALSYM msidbFileAttributesHidden}
  762. msidbFileAttributesSystem = $00000004;
  763. {$EXTERNALSYM msidbFileAttributesSystem}
  764. msidbFileAttributesReserved0 = $00000008; // Internal use only - must be 0
  765. {$EXTERNALSYM msidbFileAttributesReserved0}
  766. msidbFileAttributesReserved1 = $00000040; // Internal use only - must be 0
  767. {$EXTERNALSYM msidbFileAttributesReserved1}
  768. msidbFileAttributesReserved2 = $00000080; // Internal use only - must be 0
  769. {$EXTERNALSYM msidbFileAttributesReserved2}
  770. msidbFileAttributesReserved3 = $00000100; // Internal use only - must be 0
  771. {$EXTERNALSYM msidbFileAttributesReserved3}
  772. msidbFileAttributesVital = $00000200;
  773. {$EXTERNALSYM msidbFileAttributesVital}
  774. msidbFileAttributesChecksum = $00000400;
  775. {$EXTERNALSYM msidbFileAttributesChecksum}
  776. msidbFileAttributesPatchAdded = $00001000; // Internal use only - set by patches
  777. {$EXTERNALSYM msidbFileAttributesPatchAdded}
  778. msidbFileAttributesNoncompressed = $00002000;
  779. {$EXTERNALSYM msidbFileAttributesNoncompressed}
  780. msidbFileAttributesCompressed = $00004000;
  781. {$EXTERNALSYM msidbFileAttributesCompressed}
  782. msidbFileAttributesReserved4 = $00008000; // Internal use only - must be 0
  783. {$EXTERNALSYM msidbFileAttributesReserved4}
  784. // IniFile.Action
  785. // RemoveIniFile.Action
  786. type
  787. msidbIniFileAction = DWORD;
  788. {$EXTERNALSYM msidbIniFileAction}
  789. const
  790. msidbIniFileActionAddLine = $00000000;
  791. {$EXTERNALSYM msidbIniFileActionAddLine}
  792. msidbIniFileActionCreateLine = $00000001;
  793. {$EXTERNALSYM msidbIniFileActionCreateLine}
  794. msidbIniFileActionRemoveLine = $00000002;
  795. {$EXTERNALSYM msidbIniFileActionRemoveLine}
  796. msidbIniFileActionAddTag = $00000003;
  797. {$EXTERNALSYM msidbIniFileActionAddTag}
  798. msidbIniFileActionRemoveTag = $00000004;
  799. {$EXTERNALSYM msidbIniFileActionRemoveTag}
  800. // MoveFile.Options
  801. type
  802. msidbMoveFileOptions = DWORD;
  803. {$EXTERNALSYM msidbMoveFileOptions}
  804. const
  805. msidbMoveFileOptionsMove = $00000001;
  806. {$EXTERNALSYM msidbMoveFileOptionsMove}
  807. // ODBCDataSource.Registration
  808. type
  809. msidbODBCDataSourceRegistration = DWORD;
  810. {$EXTERNALSYM msidbODBCDataSourceRegistration}
  811. const
  812. msidbODBCDataSourceRegistrationPerMachine = $00000000;
  813. {$EXTERNALSYM msidbODBCDataSourceRegistrationPerMachine}
  814. msidbODBCDataSourceRegistrationPerUser = $00000001;
  815. {$EXTERNALSYM msidbODBCDataSourceRegistrationPerUser}
  816. // Class.Attributes
  817. type
  818. msidbClassAttributes = DWORD;
  819. {$EXTERNALSYM msidbClassAttributes}
  820. const
  821. msidbClassAttributesRelativePath = $00000001;
  822. {$EXTERNALSYM msidbClassAttributesRelativePath}
  823. // Patch.Attributes
  824. type
  825. msidbPatchAttributes = DWORD;
  826. {$EXTERNALSYM msidbPatchAttributes}
  827. const
  828. msidbPatchAttributesNonVital = $00000001;
  829. {$EXTERNALSYM msidbPatchAttributesNonVital}
  830. // Registry.Root
  831. // RegLocator.Root
  832. // RemoveRegistry.Root
  833. type
  834. msidbRegistryRoot = DWORD;
  835. {$EXTERNALSYM msidbRegistryRoot}
  836. const
  837. msidbRegistryRootClassesRoot = 0;
  838. {$EXTERNALSYM msidbRegistryRootClassesRoot}
  839. msidbRegistryRootCurrentUser = 1;
  840. {$EXTERNALSYM msidbRegistryRootCurrentUser}
  841. msidbRegistryRootLocalMachine = 2;
  842. {$EXTERNALSYM msidbRegistryRootLocalMachine}
  843. msidbRegistryRootUsers = 3;
  844. {$EXTERNALSYM msidbRegistryRootUsers}
  845. // RemoveFile.InstallMode
  846. type
  847. msidbRemoveFileInstallMode = DWORD;
  848. {$EXTERNALSYM msidbRemoveFileInstallMode}
  849. const
  850. msidbRemoveFileInstallModeOnInstall = $00000001;
  851. {$EXTERNALSYM msidbRemoveFileInstallModeOnInstall}
  852. msidbRemoveFileInstallModeOnRemove = $00000002;
  853. {$EXTERNALSYM msidbRemoveFileInstallModeOnRemove}
  854. msidbRemoveFileInstallModeOnBoth = $00000003;
  855. {$EXTERNALSYM msidbRemoveFileInstallModeOnBoth}
  856. // ServiceControl.Event
  857. type
  858. msidbServiceControlEvent = DWORD;
  859. {$EXTERNALSYM msidbServiceControlEvent}
  860. const
  861. msidbServiceControlEventStart = $00000001;
  862. {$EXTERNALSYM msidbServiceControlEventStart}
  863. msidbServiceControlEventStop = $00000002;
  864. {$EXTERNALSYM msidbServiceControlEventStop}
  865. msidbServiceControlEventDelete = $00000008;
  866. {$EXTERNALSYM msidbServiceControlEventDelete}
  867. msidbServiceControlEventUninstallStart = $00000010;
  868. {$EXTERNALSYM msidbServiceControlEventUninstallStart}
  869. msidbServiceControlEventUninstallStop = $00000020;
  870. {$EXTERNALSYM msidbServiceControlEventUninstallStop}
  871. msidbServiceControlEventUninstallDelete = $00000080;
  872. {$EXTERNALSYM msidbServiceControlEventUninstallDelete}
  873. // ServiceInstall.ErrorControl
  874. type
  875. msidbServiceInstallErrorControl = DWORD;
  876. {$EXTERNALSYM msidbServiceInstallErrorControl}
  877. const
  878. msidbServiceInstallErrorControlVital = $00008000;
  879. {$EXTERNALSYM msidbServiceInstallErrorControlVital}
  880. // TextStyle.StyleBits
  881. type
  882. msidbTextStyleStyleBits = DWORD;
  883. {$EXTERNALSYM msidbTextStyleStyleBits}
  884. const
  885. msidbTextStyleStyleBitsBold = $00000001;
  886. {$EXTERNALSYM msidbTextStyleStyleBitsBold}
  887. msidbTextStyleStyleBitsItalic = $00000002;
  888. {$EXTERNALSYM msidbTextStyleStyleBitsItalic}
  889. msidbTextStyleStyleBitsUnderline = $00000004;
  890. {$EXTERNALSYM msidbTextStyleStyleBitsUnderline}
  891. msidbTextStyleStyleBitsStrike = $00000008;
  892. {$EXTERNALSYM msidbTextStyleStyleBitsStrike}
  893. // Upgrade.Attributes
  894. type
  895. msidbUpgradeAttributes = DWORD;
  896. {$EXTERNALSYM msidbUpgradeAttributes}
  897. const
  898. msidbUpgradeAttributesMigrateFeatures = $00000001;
  899. {$EXTERNALSYM msidbUpgradeAttributesMigrateFeatures}
  900. msidbUpgradeAttributesOnlyDetect = $00000002;
  901. {$EXTERNALSYM msidbUpgradeAttributesOnlyDetect}
  902. msidbUpgradeAttributesIgnoreRemoveFailure = $00000004;
  903. {$EXTERNALSYM msidbUpgradeAttributesIgnoreRemoveFailure}
  904. msidbUpgradeAttributesVersionMinInclusive = $00000100;
  905. {$EXTERNALSYM msidbUpgradeAttributesVersionMinInclusive}
  906. msidbUpgradeAttributesVersionMaxInclusive = $00000200;
  907. {$EXTERNALSYM msidbUpgradeAttributesVersionMaxInclusive}
  908. msidbUpgradeAttributesLanguagesExclusive = $00000400;
  909. {$EXTERNALSYM msidbUpgradeAttributesLanguagesExclusive}
  910. //------------------------------------------------------------------------------
  911. // SUMMARY INFORMATION PROPERTY DEFINITIONS
  912. //------------------------------------------------------------------------------
  913. type
  914. msidbSumInfoSourceType = DWORD;
  915. {$EXTERNALSYM msidbSumInfoSourceType}
  916. const
  917. msidbSumInfoSourceTypeSFN = $00000001; // source uses short filenames
  918. {$EXTERNALSYM msidbSumInfoSourceTypeSFN}
  919. msidbSumInfoSourceTypeCompressed = $00000002; // source is compressed
  920. {$EXTERNALSYM msidbSumInfoSourceTypeCompressed}
  921. msidbSumInfoSourceTypeAdminImage = $00000004; // source is an admin image
  922. {$EXTERNALSYM msidbSumInfoSourceTypeAdminImage}
  923. implementation
  924. end.