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