jwamsidefs.pas 47 KB

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