jwamsidefs.pas 47 KB

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