' ########################################################################################
' Microsoft Windows
' File: MsiDefs.inc
' Copyright (c) 2011 Jos? Roca
' Portions Copyright (c) Microsoft Corporation.
' All Rights Reserved.
' THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
' EXPRESSED OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF
' MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR PURPOSE.
' ########################################################################################
#IF NOT %DEF(PBX_MsiDefs_PBI)
#DEFINE PBX_MsiDefs_PBI
%EQUATE `MSIDEFS_INC = 1
#IF NOT %DEF(%NTDDI_WIN2K)
%EQUATE `NTDDI_WIN2K = &H05000000
#ENDIF
#IF NOT %DEF(%NTDDI_WINXP)
%EQUATE `NTDDI_WINXP = &H05010000
#ENDIF
#IF NOT %DEF(%NTDDI_WINXPSP2)
%EQUATE `NTDDI_WINXPSP2 = &H05010200
#ENDIF
#IF NOT %DEF(%NTDDI_WS03SP1)
%EQUATE `NTDDI_WS03SP1 = &H05020100
#ENDIF
#IF NOT %DEF(%NTDDI_VISTA)
%EQUATE `NTDDI_VISTA = &H06000000
#ENDIF
'#ifndef _WIN32_MSI
'#if (_WIN32_WINNT >= 0x0600 || (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_VISTA))
' #define _WIN32_MSI 400
'#elif (_WIN32_WINNT >= 0x0501 || (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WINXP))
' #if (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WS03SP1)
' #define _WIN32_MSI 310
' #elif (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WINXPSP2)
' #define _WIN32_MSI 300
' #else
' #define _WIN32_MSI 200
' #endif
'#elif (_WIN32_WINNT >= 0x0500 || (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WIN2K))
' #define _WIN32_MSI 110
'#else
' #define _WIN32_MSI 100
'#endif //_WIN32_WINNT
'#endif // !_WIN32_MSI
'//__________________________________________________________________________
'//
'// INSTALLER PROPERTY DEFINITIONS
'//__________________________________________________________________________
'// Required properties: set in Property table
'#define IPROPNAME_PRODUCTNAME TEXT("ProductName") // name registered for display
'#define IPROPNAME_PRODUCTCODE TEXT("ProductCode") // unique string GUID for product
'#define IPROPNAME_PRODUCTVERSION TEXT("ProductVersion") // string product version
'#define IPROPNAME_INSTALLLANGUAGE TEXT("ProductLanguage") // install language of product, use to load resources
'#define IPROPNAME_MANUFACTURER TEXT("Manufacturer") // name of manufacturer
$$IPROPNAME_PRODUCTNAME = "ProductName"$$ ' // name registered for display
$$IPROPNAME_PRODUCTCODE = "ProductCode"$$ ' // unique string GUID for product
$$IPROPNAME_PRODUCTVERSION = "ProductVersion"$$ ' // string product version
$$IPROPNAME_INSTALLLANGUAGE = "ProductLanguage"$$ ' // install language of product, use to load resources
$$IPROPNAME_MANUFACTURER = "Manufacturer"$$ ' // name of manufacturer
'// Customization properties: set in Property table
'#define IPROPNAME_UPGRADECODE TEXT("UpgradeCode") // unique string GUID for product family
'#define IPROPNAME_PIDTEMPLATE TEXT("PIDTemplate") // drives Product ID processing
'#define IPROPNAME_DISKPROMPT TEXT("DiskPrompt") // prompt for CD
'#define IPROPNAME_LEFTUNIT TEXT("LeftUnit") // name of unit placed to left of number instead of right
'#define IPROPNAME_ADMIN_PROPERTIES TEXT("AdminProperties") // properties to stuff in admin package
'#define IPROPNAME_DEFAULTUIFONT TEXT("DefaultUIFont") // the font used in the UI if no other font is specified
'#define IPROPNAME_ALLOWEDPROPERTIES TEXT("SecureCustomProperties")
'#define IPROPNAME_ENABLEUSERCONTROL TEXT("EnableUserControl") // allows user to specify any public property
'#define IPROPNAME_HIDDEN_PROPERTIES TEXT("MsiHiddenProperties") // properties that should not be dumped into the log file
$$IPROPNAME_UPGRADECODE = "UpgradeCode"$$ ' // unique string GUID for product family
$$IPROPNAME_PIDTEMPLATE = "PIDTemplate"$$ ' // drives Product ID processing
$$IPROPNAME_DISKPROMPT = "DiskPrompt"$$ ' // prompt for CD
$$IPROPNAME_LEFTUNIT = "LeftUnit"$$ ' // name of unit placed to left of number instead of right
$$IPROPNAME_ADMIN_PROPERTIES = "AdminProperties"$$ ' // properties to stuff in admin package
$$IPROPNAME_DEFAULTUIFONT = "DefaultUIFont"$$ ' // the font used in the UI if no other font is specified
$$IPROPNAME_ALLOWEDPROPERTIES = "SecureCustomProperties"$$
$$IPROPNAME_ENABLEUSERCONTROL = "EnableUserControl"$$ ' // allows user to specify any public property
$$IPROPNAME_HIDDEN_PROPERTIES = "MsiHiddenProperties"$$ ' // properties that should not be dumped into the log file
'// Customization properties: set on command-line or in Property table
'#define IPROPNAME_USERNAME TEXT("USERNAME")
'#define IPROPNAME_COMPANYNAME TEXT("COMPANYNAME")
'#define IPROPNAME_PIDKEY TEXT("PIDKEY") // used with PIDTemplate to form ProductID
'#define IPROPNAME_PATCH TEXT("PATCH") // patch package to apply - SET BY INSTALLER
'#define IPROPNAME_MSIPATCHREMOVE TEXT("MSIPATCHREMOVE") // patch package to remove - SET BY INSTALLER
'#define IPROPNAME_TARGETDIR TEXT("TARGETDIR") // target location - defaults to ROOTDRIVE
'#define IPROPNAME_ACTION TEXT("ACTION") // top-level action to perform - default to INSTALL
'#define IPROPNAME_LIMITUI TEXT("LIMITUI") // limit ui level to Basic
'#define IPROPNAME_LOGACTION TEXT("LOGACTION") // log only these actions
'#define IPROPNAME_ALLUSERS TEXT("ALLUSERS") // install for all users
'#define IPROPNAME_INSTALLLEVEL TEXT("INSTALLLEVEL")
'#define IPROPNAME_REBOOT TEXT("REBOOT") // force or suppress reboot
'#if (_WIN32_MSI >= 110)
'#define IPROPNAME_REBOOTPROMPT TEXT("REBOOTPROMPT") // allow or suppress reboot prompt
'#endif //(_WIN32_MSI >= 110)
'#define IPROPNAME_EXECUTEMODE TEXT("EXECUTEMODE") // NONE or SCRIPT
'#define IPROPVALUE_EXECUTEMODE_NONE TEXT("NONE") // do not update system
'#define IPROPVALUE_EXECUTEMODE_SCRIPT TEXT("SCRIPT") // default - run script to update system
'#define IPROPNAME_EXECUTEACTION TEXT("EXECUTEACTION") // run action on server side
'#define IPROPNAME_SOURCELIST TEXT("SOURCELIST")
'#define IPROPNAME_ROOTDRIVE TEXT("ROOTDRIVE") // default drive to install - SET BY INSTALLER
'#define IPROPNAME_TRANSFORMS TEXT("TRANSFORMS") // transforms to apply
'#define IPROPNAME_TRANSFORMSATSOURCE TEXT("TRANSFORMSATSOURCE") // transforms can be found at source
'#define IPROPNAME_TRANSFORMSSECURE TEXT("TRANSFORMSSECURE") // file transforms are secured
'#define IPROPNAME_SEQUENCE TEXT("SEQUENCE") // sequence table to run with SEQUENCE action
'#define IPROPNAME_SHORTFILENAMES TEXT("SHORTFILENAMES") // force short file names
'#define IPROPNAME_PRIMARYFOLDER TEXT("PRIMARYFOLDER") // Folder on the volume the author wants costing info for
'#define IPROPNAME_AFTERREBOOT TEXT("AFTERREBOOT") // install is after a ForceReboot triggered reboot
'#define IPROPNAME_NOCOMPANYNAME TEXT("NOCOMPANYNAME")
'#define IPROPNAME_NOUSERNAME TEXT("NOUSERNAME")
'#define IPROPNAME_DISABLEROLLBACK TEXT("DISABLEROLLBACK") // disable rollback for this install
'#define IPROPNAME_AVAILABLEFREEREG TEXT("AVAILABLEFREEREG") // set up the free space in the registry before commencing the install
'#define IPROPNAME_DISABLEADVTSHORTCUTS TEXT("DISABLEADVTSHORTCUTS") // disable creating darwin shortcuts even if supported
'#define IPROPNAME_PATCHNEWPACKAGECODE TEXT("PATCHNEWPACKAGECODE") // added to property table by patch transforms - used to update
' // PackageCode of admin packages when patching admin installs
'#define IPROPNAME_PATCHNEWSUMMARYSUBJECT TEXT("PATCHNEWSUMMARYSUBJECT") // added to property table by patch transforms - used to update
' // Subject summary info property of admin packages when patching admin installs
'#define IPROPNAME_PATCHNEWSUMMARYCOMMENTS TEXT("PATCHNEWSUMMARYCOMMENTS") // added to property table by patch transforms - used to update
' // Comments summary info property of admin packages when patching admin installs
'#define IPROPNAME_PRODUCTLANGUAGE TEXT("PRODUCTLANGUAGE") // requested language, must be one in summary information list, selects language transform
'#if (_WIN32_MSI >= 150)
'#define IPROPNAME_CHECKCRCS TEXT("MSICHECKCRCS") // requests Darwin to check CRCs after copying, moving, patching & duplicating files.
'#define IPROPNAME_MSINODISABLEMEDIA TEXT("MSINODISABLEMEDIA") // if set, DISABLEMEDIA won't be set in the AdminProperties stream during an admin install of
' // a package with compressed source
$$IPROPNAME_USERNAME = "USERNAME"$$
$$IPROPNAME_COMPANYNAME = "COMPANYNAME"$$
$$IPROPNAME_PIDKEY = "PIDKEY"$$ ' // used with PIDTemplate to form ProductID
$$IPROPNAME_PATCH = "PATCH"$$ ' // patch package to apply - SET BY INSTALLER
$$IPROPNAME_MSIPATCHREMOVE = "MSIPATCHREMOVE"$$ ' // patch package to remove - SET BY INSTALLER
$$IPROPNAME_TARGETDIR = "TARGETDIR"$$ ' // target location - defaults to ROOTDRIVE
$$IPROPNAME_ACTION = "ACTION"$$ ' // top-level action to perform - default to INSTALL
$$IPROPNAME_LIMITUI = "LIMITUI"$$ ' // limit ui level to Basic
$$IPROPNAME_LOGACTION = "LOGACTION"$$ ' // log only these actions
$$IPROPNAME_ALLUSERS = "ALLUSERS"$$ ' // install for all users
$$IPROPNAME_INSTALLLEVEL = "INSTALLLEVEL"$$
$$IPROPNAME_REBOOT = "REBOOT"$$ ' // force or suppress reboot
'#if (_WIN32_MSI >= 110
$$IPROPNAME_REBOOTPROMPT = "REBOOTPROMPT"$$ ' // allow or suppress reboot prompt
'#endif ' //(_WIN32_MSI >= 110
$$IPROPNAME_EXECUTEMODE = "EXECUTEMODE"$$ ' // NONE or SCRIPT
$$IPROPVALUE_EXECUTEMODE_NONE = "NONE"$$ ' // do not update system
$$IPROPVALUE_EXECUTEMODE_SCRIPT = "SCRIPT"$$ ' // default - run script to update system
$$IPROPNAME_EXECUTEACTION = "EXECUTEACTION"$$ ' // run action on server side
$$IPROPNAME_SOURCELIST = "SOURCELIST"$$
$$IPROPNAME_ROOTDRIVE = "ROOTDRIVE"$$ ' // default drive to install - SET BY INSTALLER
$$IPROPNAME_TRANSFORMS = "TRANSFORMS"$$ ' // transforms to apply
$$IPROPNAME_TRANSFORMSATSOURCE = "TRANSFORMSATSOURCE"$$ ' // transforms can be found at source
$$IPROPNAME_TRANSFORMSSECURE = "TRANSFORMSSECURE"$$ ' // file transforms are secured
$$IPROPNAME_SEQUENCE = "SEQUENCE"$$ ' // sequence table to run with SEQUENCE action
$$IPROPNAME_SHORTFILENAMES = "SHORTFILENAMES"$$ ' // force short file names
$$IPROPNAME_PRIMARYFOLDER = "PRIMARYFOLDER"$$ ' // Folder on the volume the author wants costing info for
$$IPROPNAME_AFTERREBOOT = "AFTERREBOOT"$$ ' // install is after a ForceReboot triggered reboot
$$IPROPNAME_NOCOMPANYNAME = "NOCOMPANYNAME"$$
$$IPROPNAME_NOUSERNAME = "NOUSERNAME"$$
$$IPROPNAME_DISABLEROLLBACK = "DISABLEROLLBACK"$$ ' // disable rollback for this install
$$IPROPNAME_AVAILABLEFREEREG = "AVAILABLEFREEREG"$$ ' // set up the free space in the registry before commencing the install
$$IPROPNAME_DISABLEADVTSHORTCUTS = "DISABLEADVTSHORTCUTS"$$ ' // disable creating darwin shortcuts even if supported
$$IPROPNAME_PATCHNEWPACKAGECODE = "PATCHNEWPACKAGECODE"$$ ' // added to property table by patch transforms - used to update
 ' // PackageCode of admin packages when patching admin installs
$$IPROPNAME_PATCHNEWSUMMARYSUBJECT = "PATCHNEWSUMMARYSUBJECT"$$ ' // added to property table by patch transforms - used to update
 ' // Subject summary info property of admin packages when patching admin installs
$$IPROPNAME_PATCHNEWSUMMARYCOMMENTS = "PATCHNEWSUMMARYCOMMENTS"$$ ' // added to property table by patch transforms - used to update
 ' // Comments summary info property of admin packages when patching admin installs
$$IPROPNAME_PRODUCTLANGUAGE = "PRODUCTLANGUAGE"$$ ' // requested language, must be one in summary information list, selects language transform
'#if (_WIN32_MSI >= 150
$$IPROPNAME_CHECKCRCS = "MSICHECKCRCS"$$ ' // requests Darwin to check CRCs after copying, moving, patching & duplicating files.
$$IPROPNAME_MSINODISABLEMEDIA = "MSINODISABLEMEDIA"$$ ' // if set, DISABLEMEDIA won't be set in the AdminProperties stream during an admin install of
 ' // a package with compressed source
'// property used for URT bootstrapping
'#define IPROPNAME_CARRYINGNDP TEXT("CARRYINGNDP")
'#define IPROPVALUE__CARRYINGNDP_URTREINSTALL TEXT("URTREINSTALL") // reinstalling/ uninstalling core URT files
'#define IPROPVALUE__CARRYINGNDP_URTUPGRADE TEXT("URTUPGRADE") // upgrading core URT files
'#define IPROPNAME_ENFORCE_UPGRADE_COMPONENT_RULES TEXT("MSIENFORCEUPGRADECOMPONENTRULES") // if set, doesn't allow upgrade packages to break component rules.
$$IPROPNAME_CARRYINGNDP = "CARRYINGNDP"$$
$$IPROPVALUE__CARRYINGNDP_URTREINSTALL = "URTREINSTALL"$$ ' // reinstalling/ uninstalling core URT files
$$IPROPVALUE__CARRYINGNDP_URTUPGRADE = "URTUPGRADE"$$ ' // upgrading core URT files
$$IPROPNAME_ENFORCE_UPGRADE_COMPONENT_RULES = "MSIENFORCEUPGRADECOMPONENTRULES"$$ ' // if set, doesn't allow upgrade packages to break component rules.
'// property used for multiple instance support
'#define IPROPNAME_MSINEWINSTANCE TEXT("MSINEWINSTANCE")
'#define IPROPNAME_MSIINSTANCEGUID TEXT("MSIINSTANCEGUID")
$$IPROPNAME_MSINEWINSTANCE = "MSINEWINSTANCE"$$
$$IPROPNAME_MSIINSTANCEGUID = "MSIINSTANCEGUID"$$
'// properties used for URL download reduction for admins
'#define IPROPNAME_MSIPACKAGEDOWNLOADLOCALCOPY TEXT("MSIPACKAGEDOWNLOADLOCALCOPY")
'#define IPROPNAME_MSIPATCHDOWNLOADLOCALCOPY TEXT("MSIPATCHDOWNLOADLOCALCOPY")
$$IPROPNAME_MSIPACKAGEDOWNLOADLOCALCOPY = "MSIPACKAGEDOWNLOADLOCALCOPY"$$
$$IPROPNAME_MSIPATCHDOWNLOADLOCALCOPY = "MSIPATCHDOWNLOADLOCALCOPY"$$
'#endif // (_WIN32_MSI >= 150)
'#if (_WIN32_MSI >= 300)
'// properties for limited-user account (LUA) patching support (per-machine applications only)
$$IPROPNAME_MSIDISABLELUAPATCHING = "MSIDISABLELUAPATCHING"$$
'#endif //(_WIN32_MSI >= 300)
'#if (_WIN32_MSI >= 400)
'// properties related to logging
'#define IPROPNAME_MSILOGGINGMODE TEXT("MsiLogging")
'#define IPROPNAME_MSILOGFILELOCATION TEXT("MsiLogFileLocation")
$$IPROPNAME_MSILOGGINGMODE = "MsiLogging"$$
$$IPROPNAME_MSILOGFILELOCATION = "MsiLogFileLocation"$$
'// properties related to Restart Manager
'#define IPROPNAME_MSI_RM_CONTROL TEXT("MSIRESTARTMANAGERCONTROL")
'#define IPROPVALUE_MSI_RM_CONTROL_DISABLE TEXT("Disable")
'#define IPROPVALUE_MSI_RM_CONTROL_DISABLESHUTDOWN TEXT("DisableShutdown")
'#define IPROPNAME_MSI_RM_SESSION_KEY TEXT("MsiRestartManagerSessionKey")
'#define IPROPNAME_MSI_REBOOT_PENDING TEXT("MsiSystemRebootPending")
'#define IPROPNAME_MSI_RM_SHUTDOWN TEXT("MSIRMSHUTDOWN")
'#define IPROPNAME_MSI_RM_DISABLE_RESTART TEXT("MSIDISABLERMRESTART")
$$IPROPNAME_MSI_RM_CONTROL = "MSIRESTARTMANAGERCONTROL"$$
$$IPROPVALUE_MSI_RM_CONTROL_DISABLE = "Disable"$$
$$IPROPVALUE_MSI_RM_CONTROL_DISABLESHUTDOWN = "DisableShutdown"$$
$$IPROPNAME_MSI_RM_SESSION_KEY = "MsiRestartManagerSessionKey"$$
$$IPROPNAME_MSI_REBOOT_PENDING = "MsiSystemRebootPending"$$
$$IPROPNAME_MSI_RM_SHUTDOWN = "MSIRMSHUTDOWN"$$
$$IPROPNAME_MSI_RM_DISABLE_RESTART = "MSIDISABLERMRESTART"$$
'// properties related to UAC
'#define IPROPNAME_MSI_UAC_DEPLOYMENT_COMPLIANT TEXT("MSIDEPLOYMENTCOMPLIANT")
'#define IPROPNAME_MSI_USE_REAL_ADMIN_DETECTION TEXT("MSIUSEREALADMINDETECTION")
$$IPROPNAME_MSI_UAC_DEPLOYMENT_COMPLIANT = "MSIDEPLOYMENTCOMPLIANT"$$
$$IPROPNAME_MSI_USE_REAL_ADMIN_DETECTION = "MSIUSEREALADMINDETECTION"$$
'#endif //(_WIN32_MSI >= 400)
'// Properties used to populate Add/Remove Control Panel values
'#define IPROPNAME_ARPAUTHORIZEDCDFPREFIX TEXT("ARPAUTHORIZEDCDFPREFIX")
'#define IPROPNAME_ARPCOMMENTS TEXT("ARPCOMMENTS")
'#define IPROPNAME_ARPCONTACT TEXT("ARPCONTACT")
'#define IPROPNAME_ARPHELPLINK TEXT("ARPHELPLINK")
'#define IPROPNAME_ARPHELPTELEPHONE TEXT("ARPHELPTELEPHONE")
'#define IPROPNAME_ARPINSTALLLOCATION TEXT("ARPINSTALLLOCATION")
'#define IPROPNAME_ARPNOMODIFY TEXT("ARPNOMODIFY")
'#define IPROPNAME_ARPNOREMOVE TEXT("ARPNOREMOVE")
'#define IPROPNAME_ARPNOREPAIR TEXT("ARPNOREPAIR")
'#define IPROPNAME_ARPREADME TEXT("ARPREADME")
'#define IPROPNAME_ARPSIZE TEXT("ARPSIZE")
'#define IPROPNAME_ARPSYSTEMCOMPONENT TEXT("ARPSYSTEMCOMPONENT")
'#define IPROPNAME_ARPURLINFOABOUT TEXT("ARPURLINFOABOUT")
'#define IPROPNAME_ARPURLUPDATEINFO TEXT("ARPURLUPDATEINFO")
'#if (_WIN32_MSI >= 110)
'#define IPROPNAME_ARPPRODUCTICON TEXT("ARPPRODUCTICON")
'#endif //(_WIN32_MSI >= 110)
'#if (_WIN32_MSI >= 400)
'#define IPROPNAME_ARPSETTINGSIDENTIFIER TEXT("MSIARPSETTINGSIDENTIFIER")
'#endif //(_WIN32_MSI >= 400)
$$IPROPNAME_ARPAUTHORIZEDCDFPREFIX = "ARPAUTHORIZEDCDFPREFIX"$$
$$IPROPNAME_ARPCOMMENTS = "ARPCOMMENTS"$$
$$IPROPNAME_ARPCONTACT = "ARPCONTACT"$$
$$IPROPNAME_ARPHELPLINK = "ARPHELPLINK"$$
$$IPROPNAME_ARPHELPTELEPHONE = "ARPHELPTELEPHONE"$$
$$IPROPNAME_ARPINSTALLLOCATION = "ARPINSTALLLOCATION"$$
$$IPROPNAME_ARPNOMODIFY = "ARPNOMODIFY"$$
$$IPROPNAME_ARPNOREMOVE = "ARPNOREMOVE"$$
$$IPROPNAME_ARPNOREPAIR = "ARPNOREPAIR"$$
$$IPROPNAME_ARPREADME = "ARPREADME"$$
$$IPROPNAME_ARPSIZE = "ARPSIZE"$$
$$IPROPNAME_ARPSYSTEMCOMPONENT = "ARPSYSTEMCOMPONENT"$$
$$IPROPNAME_ARPURLINFOABOUT = "ARPURLINFOABOUT"$$
$$IPROPNAME_ARPURLUPDATEINFO = "ARPURLUPDATEINFO"$$
'#if (_WIN32_MSI >= 110
$$IPROPNAME_ARPPRODUCTICON = "ARPPRODUCTICON"$$
'#endif //(_WIN32_MSI >= 110
'#if (_WIN32_MSI >= 400
$$IPROPNAME_ARPSETTINGSIDENTIFIER = "MSIARPSETTINGSIDENTIFIER"$$
'#endif //(_WIN32_MSI >= 400
'// Dynamic properties set by installer during install
'#define IPROPNAME_INSTALLED TEXT("Installed") // product already installed
'#define IPROPNAME_PRODUCTSTATE TEXT("ProductState") // state of product (installed,advertised,etc...)
'#define IPROPNAME_PRESELECTED TEXT("Preselected") // selections made on command line
'#define IPROPNAME_RESUME TEXT("RESUME") // resuming suspended install
'#define IPROPNAME_UPDATESTARTED TEXT("UpdateStarted") // have begun to update system
'#define IPROPNAME_PRODUCTID TEXT("ProductID") // the complete validated Product ID
'#define IPROPNAME_OUTOFDISKSPACE TEXT("OutOfDiskSpace")
'#define IPROPNAME_OUTOFNORBDISKSPACE TEXT("OutOfNoRbDiskSpace")
'#define IPROPNAME_COSTINGCOMPLETE TEXT("CostingComplete")
'#define IPROPNAME_SOURCEDIR TEXT("SourceDir") // source location - SET BY INSTALLER
'#define IPROPNAME_REPLACEDINUSEFILES TEXT("ReplacedInUseFiles") // need reboot to completely install one or more files
'#define IPROPNAME_PRIMARYFOLDER_PATH TEXT("PrimaryVolumePath")
'#define IPROPNAME_PRIMARYFOLDER_SPACEAVAILABLE TEXT("PrimaryVolumeSpaceAvailable")
'#define IPROPNAME_PRIMARYFOLDER_SPACEREQUIRED TEXT("PrimaryVolumeSpaceRequired")
'#define IPROPNAME_PRIMARYFOLDER_SPACEREMAINING TEXT("PrimaryVolumeSpaceRemaining")
'#define IPROPNAME_ISADMINPACKAGE TEXT("IsAdminPackage")
'#define IPROPNAME_ROLLBACKDISABLED TEXT("RollbackDisabled")
'#define IPROPNAME_RESTRICTEDUSERCONTROL TEXT("RestrictedUserControl")
'#if (_WIN32_MSI >= 300)
'#define IPROPNAME_SOURCERESONLY TEXT("MsiUISourceResOnly") // INSTALLUILEVEL_SOURCERESONLY provided as internal UI level
'#define IPROPNAME_HIDECANCEL TEXT("MsiUIHideCancel") // UI configured with a hidden cancel button (INSTALLUILEVEL_HIDECANCEL)
'#define IPROPNAME_PROGRESSONLY TEXT("MsiUIProgressOnly") // UI configured to only show progress, no modal or error dialogs displayed (INSTALLUILEVEL_PROGRESSONLY)
'#endif // (_WIN32_MSI >= 300)
$$IPROPNAME_INSTALLED = "Installed"$$ ' // product already installed
$$IPROPNAME_PRODUCTSTATE = "ProductState"$$ ' // state of product (installed,advertised,etc...
$$IPROPNAME_PRESELECTED = "Preselected"$$ ' // selections made on command line
$$IPROPNAME_RESUME = "RESUME"$$ ' // resuming suspended install
$$IPROPNAME_UPDATESTARTED = "UpdateStarted"$$ ' // have begun to update system
$$IPROPNAME_PRODUCTID = "ProductID"$$ ' // the complete validated Product ID
$$IPROPNAME_OUTOFDISKSPACE = "OutOfDiskSpace"$$
$$IPROPNAME_OUTOFNORBDISKSPACE = "OutOfNoRbDiskSpace"$$
$$IPROPNAME_COSTINGCOMPLETE = "CostingComplete"$$
$$IPROPNAME_SOURCEDIR = "SourceDir"$$ ' // source location - SET BY INSTALLER
$$IPROPNAME_REPLACEDINUSEFILES = "ReplacedInUseFiles"$$ ' // need reboot to completely install one or more files
$$IPROPNAME_PRIMARYFOLDER_PATH = "PrimaryVolumePath"$$
$$IPROPNAME_PRIMARYFOLDER_SPACEAVAILABLE = "PrimaryVolumeSpaceAvailable"$$
$$IPROPNAME_PRIMARYFOLDER_SPACEREQUIRED = "PrimaryVolumeSpaceRequired"$$
$$IPROPNAME_PRIMARYFOLDER_SPACEREMAINING = "PrimaryVolumeSpaceRemaining"$$
$$IPROPNAME_ISADMINPACKAGE = "IsAdminPackage"$$
$$IPROPNAME_ROLLBACKDISABLED = "RollbackDisabled"$$
$$IPROPNAME_RESTRICTEDUSERCONTROL = "RestrictedUserControl"$$
'#if (_WIN32_MSI >= 300
$$IPROPNAME_SOURCERESONLY = "MsiUISourceResOnly"$$ ' // INSTALLUILEVEL_SOURCERESONLY provided as internal UI level
$$IPROPNAME_HIDECANCEL = "MsiUIHideCancel"$$ ' // UI configured with a hidden cancel button (INSTALLUILEVEL_HIDECANCEL
$$IPROPNAME_PROGRESSONLY = "MsiUIProgressOnly"$$ ' // UI configured to only show progress, no modal or error dialogs displayed (INSTALLUILEVEL_PROGRESSONLY
'#endif ' // (_WIN32_MSI >= 300
'// Dynamic properties evaluated upon use
'#define IPROPNAME_TIME TEXT("Time")
'#define IPROPNAME_DATE TEXT("Date")
'#define IPROPNAME_DATETIME TEXT("DateTime")
$$IPROPNAME_TIME = "Time"$$
$$IPROPNAME_DATE = "Date"$$
$$IPROPNAME_DATETIME = "DateTime"$$
'// Hardware properties: set by installer at initialization
'#define IPROPNAME_INTEL TEXT("Intel")
'#if (_WIN32_MSI >= 150)
'#define IPROPNAME_TEMPLATE_AMD64 TEXT("AMD64") // Oct. 2004: this is to be retired once grace period expires, use the x64 below instead
'#define IPROPNAME_TEMPLATE_X64 TEXT("x64")
'#define IPROPNAME_MSIAMD64 TEXT("MsiAMD64") // Oct. 2004: this is to be retired once grace period expires, use the x64 below instead
'#define IPROPNAME_MSIX64 TEXT("Msix64")
'#define IPROPNAME_INTEL64 TEXT("Intel64")
'#else // (_WIN32_MSI >= 150)
'#define IPROPNAME_IA64 TEXT("IA64")
'#endif // (_WIN32_MSI >= 150)
'#define IPROPNAME_TEXTHEIGHT TEXT("TextHeight")
'#if (_WIN32_MSI >= 400)
'#define IPROPNAME_TEXTINTERNALLEADING TEXT("TextInternalLeading")
'#endif // (_WIN32_MSI >= 400)
'#define IPROPNAME_SCREENX TEXT("ScreenX")
'#define IPROPNAME_SCREENY TEXT("ScreenY")
'#define IPROPNAME_CAPTIONHEIGHT TEXT("CaptionHeight")
'#define IPROPNAME_BORDERTOP TEXT("BorderTop")
'#define IPROPNAME_BORDERSIDE TEXT("BorderSide")
'#define IPROPNAME_COLORBITS TEXT("ColorBits")
'#define IPROPNAME_PHYSICALMEMORY TEXT("PhysicalMemory")
'#define IPROPNAME_VIRTUALMEMORY TEXT("VirtualMemory")
'#if (_WIN32_MSI >= 150)
'#define IPROPNAME_TEXTHEIGHT_CORRECTION TEXT("TextHeightCorrection")
'#endif // (_WIN32_MSI >= 150)
'#if (_WIN32_MSI >= 400)
'#define IPROPNAME_MSITABLETPC TEXT("MsiTabletPC")
'#endif // (_WIN32_MSI >= 400)
$$IPROPNAME_INTEL = "Intel"$$
'#if (_WIN32_MSI >= 150
$$IPROPNAME_TEMPLATE_AMD64 = "AMD64"$$ ' // Oct. 2004: this is to be retired once grace period expires, use the x64 below instead
$$IPROPNAME_TEMPLATE_X64 = "x64"$$
$$IPROPNAME_MSIAMD64 = "MsiAMD64"$$ ' // Oct. 2004: this is to be retired once grace period expires, use the x64 below instead
$$IPROPNAME_MSIX64 = "Msix64"$$
$$IPROPNAME_INTEL64 = "Intel64"$$
'#else // (_WIN32_MSI >= 150
$$IPROPNAME_IA64 = "IA64"$$
'#endif // (_WIN32_MSI >= 150
$$IPROPNAME_TEXTHEIGHT = "TextHeight"$$
'#if (_WIN32_MSI >= 400
$$IPROPNAME_TEXTINTERNALLEADING = "TextInternalLeading"$$
'#endif // (_WIN32_MSI >= 400
$$IPROPNAME_SCREENX = "ScreenX"$$
$$IPROPNAME_SCREENY = "ScreenY"$$
$$IPROPNAME_CAPTIONHEIGHT = "CaptionHeight"$$
$$IPROPNAME_BORDERTOP = "BorderTop"$$
$$IPROPNAME_BORDERSIDE = "BorderSide"$$
$$IPROPNAME_COLORBITS = "ColorBits"$$
$$IPROPNAME_PHYSICALMEMORY = "PhysicalMemory"$$
$$IPROPNAME_VIRTUALMEMORY = "VirtualMemory"$$
'#if (_WIN32_MSI >= 150
$$IPROPNAME_TEXTHEIGHT_CORRECTION = "TextHeightCorrection"$$
'#endif // (_WIN32_MSI >= 150
'#if (_WIN32_MSI >= 400
$$IPROPNAME_MSITABLETPC = "MsiTabletPC"$$
'#endif // (_WIN32_MSI >= 400
'// Operating System properties: set by installer at initialization
'#define IPROPNAME_VERSIONNT TEXT("VersionNT")
'#define IPROPNAME_VERSION9X TEXT("Version9X")
'#if (_WIN32_MSI >= 150)
'#define IPROPNAME_VERSIONNT64 TEXT("VersionNT64")
'#endif // (_WIN32_MSI >= 150)
'#define IPROPNAME_WINDOWSBUILD TEXT("WindowsBuild")
'#define IPROPNAME_SERVICEPACKLEVEL TEXT("ServicePackLevel")
'#if (_WIN32_MSI >= 110)
'#define IPROPNAME_SERVICEPACKLEVELMINOR TEXT("ServicePackLevelMinor")
'#endif //(_WIN32_MSI >= 110)
'#define IPROPNAME_SHAREDWINDOWS TEXT("SharedWindows")
'#define IPROPNAME_COMPUTERNAME TEXT("ComputerName")
'#define IPROPNAME_SHELLADVTSUPPORT TEXT("ShellAdvtSupport")
'#define IPROPNAME_OLEADVTSUPPORT TEXT("OLEAdvtSupport")
'#define IPROPNAME_SYSTEMLANGUAGEID TEXT("SystemLanguageID")
'#define IPROPNAME_TTCSUPPORT TEXT("TTCSupport")
'#define IPROPNAME_TERMSERVER TEXT("TerminalServer")
'#if (_WIN32_MSI >= 110)
'#define IPROPNAME_REMOTEADMINTS TEXT("RemoteAdminTS")
'#define IPROPNAME_REDIRECTEDDLLSUPPORT TEXT("RedirectedDllSupport")
'#endif //(_WIN32_MSI >= 110)
'#if (_WIN32_MSI >= 150)
'#define IPROPNAME_NTPRODUCTTYPE TEXT("MsiNTProductType")
'#define IPROPNAME_NTSUITEBACKOFFICE TEXT("MsiNTSuiteBackOffice")
'#define IPROPNAME_NTSUITEDATACENTER TEXT("MsiNTSuiteDataCenter")
'#define IPROPNAME_NTSUITEENTERPRISE TEXT("MsiNTSuiteEnterprise")
'#define IPROPNAME_NTSUITESMALLBUSINESS TEXT("MsiNTSuiteSmallBusiness")
'#define IPROPNAME_NTSUITESMALLBUSINESSRESTRICTED TEXT("MsiNTSuiteSmallBusinessRestricted")
'#define IPROPNAME_NTSUITEPERSONAL TEXT("MsiNTSuitePersonal")
'#define IPROPNAME_NTSUITEWEBSERVER TEXT("MsiNTSuiteWebServer")
'#define IPROPNAME_NETASSEMBLYSUPPORT TEXT("MsiNetAssemblySupport")
'#define IPROPNAME_WIN32ASSEMBLYSUPPORT TEXT("MsiWin32AssemblySupport")
'#endif // (_WIN32_MSI >= 150)
$$IPROPNAME_VERSIONNT = "VersionNT"$$
$$IPROPNAME_VERSION9X = "Version9X"$$
'#if (_WIN32_MSI >= 150
$$IPROPNAME_VERSIONNT64 = "VersionNT64"$$
'#endif // (_WIN32_MSI >= 150
$$IPROPNAME_WINDOWSBUILD = "WindowsBuild"$$
$$IPROPNAME_SERVICEPACKLEVEL = "ServicePackLevel"$$
'#if (_WIN32_MSI >= 110
$$IPROPNAME_SERVICEPACKLEVELMINOR = "ServicePackLevelMinor"$$
'#endif //(_WIN32_MSI >= 110
$$IPROPNAME_SHAREDWINDOWS = "SharedWindows"$$
$$IPROPNAME_COMPUTERNAME = "ComputerName"$$
$$IPROPNAME_SHELLADVTSUPPORT = "ShellAdvtSupport"$$
$$IPROPNAME_OLEADVTSUPPORT = "OLEAdvtSupport"$$
$$IPROPNAME_SYSTEMLANGUAGEID = "SystemLanguageID"$$
$$IPROPNAME_TTCSUPPORT = "TTCSupport"$$
$$IPROPNAME_TERMSERVER = "TerminalServer"$$
'#if (_WIN32_MSI >= 110
$$IPROPNAME_REMOTEADMINTS = "RemoteAdminTS"$$
$$IPROPNAME_REDIRECTEDDLLSUPPORT = "RedirectedDllSupport"$$
'#endif //(_WIN32_MSI >= 110
'#if (_WIN32_MSI >= 150
$$IPROPNAME_NTPRODUCTTYPE = "MsiNTProductType"$$
$$IPROPNAME_NTSUITEBACKOFFICE = "MsiNTSuiteBackOffice"$$
$$IPROPNAME_NTSUITEDATACENTER = "MsiNTSuiteDataCenter"$$
$$IPROPNAME_NTSUITEENTERPRISE = "MsiNTSuiteEnterprise"$$
$$IPROPNAME_NTSUITESMALLBUSINESS = "MsiNTSuiteSmallBusiness"$$
$$IPROPNAME_NTSUITESMALLBUSINESSRESTRICTED = "MsiNTSuiteSmallBusinessRestricted"$$
$$IPROPNAME_NTSUITEPERSONAL = "MsiNTSuitePersonal"$$
$$IPROPNAME_NTSUITEWEBSERVER = "MsiNTSuiteWebServer"$$
$$IPROPNAME_NETASSEMBLYSUPPORT = "MsiNetAssemblySupport"$$
$$IPROPNAME_WIN32ASSEMBLYSUPPORT = "MsiWin32AssemblySupport"$$
'#endif // (_WIN32_MSI >= 150
'// User properties: set by installer at initialization
'#define IPROPNAME_LOGONUSER TEXT("LogonUser")
'#define IPROPNAME_USERSID TEXT("UserSID")
'#define IPROPNAME_ADMINUSER TEXT("AdminUser")
'#define IPROPNAME_USERLANGUAGEID TEXT("UserLanguageID")
'#define IPROPNAME_PRIVILEGED TEXT("Privileged")
'#if (_WIN32_MSI >= 400)
'#define IPROPNAME_RUNNINGELEVATED TEXT("MsiRunningElevated")
'#endif // (_WIN32_MSI >= 400)
$$IPROPNAME_LOGONUSER = "LogonUser"$$
$$IPROPNAME_USERSID = "UserSID"$$
$$IPROPNAME_ADMINUSER = "AdminUser"$$
$$IPROPNAME_USERLANGUAGEID = "UserLanguageID"$$
$$IPROPNAME_PRIVILEGED = "Privileged"$$
'#if (_WIN32_MSI >= 400
$$IPROPNAME_RUNNINGELEVATED = "MsiRunningElevated"$$
'#endif // (_WIN32_MSI >= 400
'// System folder properties: set by installer at initialization
'#define IPROPNAME_WINDOWS_FOLDER TEXT("WindowsFolder")
'#define IPROPNAME_SYSTEM_FOLDER TEXT("SystemFolder")
'#define IPROPNAME_SYSTEM16_FOLDER TEXT("System16Folder")
'#define IPROPNAME_WINDOWS_VOLUME TEXT("WindowsVolume")
'#define IPROPNAME_TEMP_FOLDER TEXT("TempFolder")
'#define IPROPNAME_PROGRAMFILES_FOLDER TEXT("ProgramFilesFolder")
'#define IPROPNAME_COMMONFILES_FOLDER TEXT("CommonFilesFolder")
'#if (_WIN32_MSI >= 150)
'#define IPROPNAME_SYSTEM64_FOLDER TEXT("System64Folder")
'#define IPROPNAME_PROGRAMFILES64_FOLDER TEXT("ProgramFiles64Folder")
'#define IPROPNAME_COMMONFILES64_FOLDER TEXT("CommonFiles64Folder")
'#endif // (_WIN32_MSI >= 150)
'#define IPROPNAME_STARTMENU_FOLDER TEXT("StartMenuFolder")
'#define IPROPNAME_PROGRAMMENU_FOLDER TEXT("ProgramMenuFolder")
'#define IPROPNAME_STARTUP_FOLDER TEXT("StartupFolder")
'#define IPROPNAME_NETHOOD_FOLDER TEXT("NetHoodFolder")
'#define IPROPNAME_PERSONAL_FOLDER TEXT("PersonalFolder")
'#define IPROPNAME_SENDTO_FOLDER TEXT("SendToFolder")
'#define IPROPNAME_DESKTOP_FOLDER TEXT("DesktopFolder")
'#define IPROPNAME_TEMPLATE_FOLDER TEXT("TemplateFolder")
'#define IPROPNAME_FONTS_FOLDER TEXT("FontsFolder")
'#define IPROPNAME_FAVORITES_FOLDER TEXT("FavoritesFolder")
'#define IPROPNAME_RECENT_FOLDER TEXT("RecentFolder")
'#define IPROPNAME_APPDATA_FOLDER TEXT("AppDataFolder")
'#define IPROPNAME_PRINTHOOD_FOLDER TEXT("PrintHoodFolder")
'#if (_WIN32_MSI >= 110)
'#define IPROPNAME_ADMINTOOLS_FOLDER TEXT("AdminToolsFolder")
'#define IPROPNAME_COMMONAPPDATA_FOLDER TEXT("CommonAppDataFolder")
'#define IPROPNAME_LOCALAPPDATA_FOLDER TEXT("LocalAppDataFolder")
'#define IPROPNAME_MYPICTURES_FOLDER TEXT("MyPicturesFolder")
'#endif //(_WIN32_MSI >= 110)
$$IPROPNAME_WINDOWS_FOLDER = "WindowsFolder"$$
$$IPROPNAME_SYSTEM_FOLDER = "SystemFolder"$$
$$IPROPNAME_SYSTEM16_FOLDER = "System16Folder"$$
$$IPROPNAME_WINDOWS_VOLUME = "WindowsVolume"$$
$$IPROPNAME_TEMP_FOLDER = "TempFolder"$$
$$IPROPNAME_PROGRAMFILES_FOLDER = "ProgramFilesFolder"$$
$$IPROPNAME_COMMONFILES_FOLDER = "CommonFilesFolder"$$
'#if (_WIN32_MSI >= 150
$$IPROPNAME_SYSTEM64_FOLDER = "System64Folder"$$
$$IPROPNAME_PROGRAMFILES64_FOLDER = "ProgramFiles64Folder"$$
$$IPROPNAME_COMMONFILES64_FOLDER = "CommonFiles64Folder"$$
'#endif // (_WIN32_MSI >= 150
$$IPROPNAME_STARTMENU_FOLDER = "StartMenuFolder"$$
$$IPROPNAME_PROGRAMMENU_FOLDER = "ProgramMenuFolder"$$
$$IPROPNAME_STARTUP_FOLDER = "StartupFolder"$$
$$IPROPNAME_NETHOOD_FOLDER = "NetHoodFolder"$$
$$IPROPNAME_PERSONAL_FOLDER = "PersonalFolder"$$
$$IPROPNAME_SENDTO_FOLDER = "SendToFolder"$$
$$IPROPNAME_DESKTOP_FOLDER = "DesktopFolder"$$
$$IPROPNAME_TEMPLATE_FOLDER = "TemplateFolder"$$
$$IPROPNAME_FONTS_FOLDER = "FontsFolder"$$
$$IPROPNAME_FAVORITES_FOLDER = "FavoritesFolder"$$
$$IPROPNAME_RECENT_FOLDER = "RecentFolder"$$
$$IPROPNAME_APPDATA_FOLDER = "AppDataFolder"$$
$$IPROPNAME_PRINTHOOD_FOLDER = "PrintHoodFolder"$$
'#if (_WIN32_MSI >= 110
$$IPROPNAME_ADMINTOOLS_FOLDER = "AdminToolsFolder"$$
$$IPROPNAME_COMMONAPPDATA_FOLDER = "CommonAppDataFolder"$$
$$IPROPNAME_LOCALAPPDATA_FOLDER = "LocalAppDataFolder"$$
$$IPROPNAME_MYPICTURES_FOLDER = "MyPicturesFolder"$$
'#endif //(_WIN32_MSI >= 110
'// Feature/Component installation properties: set on command-line
'#define IPROPNAME_FEATUREADDLOCAL TEXT("ADDLOCAL")
'#define IPROPNAME_FEATUREADDSOURCE TEXT("ADDSOURCE")
'#define IPROPNAME_FEATUREADDDEFAULT TEXT("ADDDEFAULT")
'#define IPROPNAME_FEATUREREMOVE TEXT("REMOVE")
'#define IPROPNAME_FEATUREADVERTISE TEXT("ADVERTISE")
'#define IPROPVALUE_FEATURE_ALL TEXT("ALL")
$$IPROPNAME_FEATUREADDLOCAL = "ADDLOCAL"$$
$$IPROPNAME_FEATUREADDSOURCE = "ADDSOURCE"$$
$$IPROPNAME_FEATUREADDDEFAULT = "ADDDEFAULT"$$
$$IPROPNAME_FEATUREREMOVE = "REMOVE"$$
$$IPROPNAME_FEATUREADVERTISE = "ADVERTISE"$$
$$IPROPVALUE_FEATURE_ALL = "ALL"$$
'#define IPROPNAME_COMPONENTADDLOCAL TEXT("COMPADDLOCAL")
'#define IPROPNAME_COMPONENTADDSOURCE TEXT("COMPADDSOURCE")
'#define IPROPNAME_COMPONENTADDDEFAULT TEXT("COMPADDDEFAULT")
$$IPROPNAME_COMPONENTADDLOCAL = "COMPADDLOCAL"$$
$$IPROPNAME_COMPONENTADDSOURCE = "COMPADDSOURCE"$$
$$IPROPNAME_COMPONENTADDDEFAULT = "COMPADDDEFAULT"$$
'#define IPROPNAME_FILEADDLOCAL TEXT("FILEADDLOCAL")
'#define IPROPNAME_FILEADDSOURCE TEXT("FILEADDSOURCE")
'#define IPROPNAME_FILEADDDEFAULT TEXT("FILEADDDEFAULT")
$$IPROPNAME_FILEADDLOCAL = "FILEADDLOCAL"$$
$$IPROPNAME_FILEADDSOURCE = "FILEADDSOURCE"$$
$$IPROPNAME_FILEADDDEFAULT = "FILEADDDEFAULT"$$
'#define IPROPNAME_REINSTALL TEXT("REINSTALL")
'#define IPROPNAME_REINSTALLMODE TEXT("REINSTALLMODE")
'#define IPROPNAME_PROMPTROLLBACKCOST TEXT("PROMPTROLLBACKCOST")
'#define IPROPVALUE_RBCOST_PROMPT TEXT("P")
'#define IPROPVALUE_RBCOST_SILENT TEXT("D")
'#define IPROPVALUE_RBCOST_FAIL TEXT("F")
$$IPROPNAME_REINSTALL = "REINSTALL"$$
$$IPROPNAME_REINSTALLMODE = "REINSTALLMODE"$$
$$IPROPNAME_PROMPTROLLBACKCOST = "PROMPTROLLBACKCOST"$$
$$IPROPVALUE_RBCOST_PROMPT = "P"$$
$$IPROPVALUE_RBCOST_SILENT = "D"$$
$$IPROPVALUE_RBCOST_FAIL = "F"$$
'// Property for custom actions to communicate
'#define IPROPNAME_CUSTOMACTIONDATA TEXT("CustomActionData")
$$IPROPNAME_CUSTOMACTIONDATA = "CustomActionData"$$
'//__________________________________________________________________________
'//
'// TOP-LEVEL ACTION NAMES
'//__________________________________________________________________________
'#define IACTIONNAME_INSTALL TEXT("INSTALL")
'#define IACTIONNAME_ADVERTISE TEXT("ADVERTISE")
'#define IACTIONNAME_ADMIN TEXT("ADMIN")
'#define IACTIONNAME_SEQUENCE TEXT("SEQUENCE")
'#define IACTIONNAME_COLLECTUSERINFO TEXT("CollectUserInfo")
'#define IACTIONNAME_FIRSTRUN TEXT("FirstRun")
$$IACTIONNAME_INSTALL = "INSTALL"$$
$$IACTIONNAME_ADVERTISE = "ADVERTISE"$$
$$IACTIONNAME_ADMIN = "ADMIN"$$
$$IACTIONNAME_SEQUENCE = "SEQUENCE"$$
$$IACTIONNAME_COLLECTUSERINFO = "CollectUserInfo"$$
$$IACTIONNAME_FIRSTRUN = "FirstRun"$$
'//__________________________________________________________________________
'//
'// SummaryInformation property stream property IDs
'//__________________________________________________________________________
'#undef PID_SECURITY // defined as ( 0x80000002 ) in objidl.h, need to redefine here
' Note: In fact, is declared in propidl.h, not objidl.h.
' As PB can't undef constants, I PID_SECURITY has been declared as PID_SECURITY_ in propidl.inc.
'// standard property definitions, from OLE2 documentation
%EQUATE `PID_DICTIONARY = 0 ' // integer count + array of entries
%EQUATE `PID_CODEPAGE = &H1 ' // short integer
%EQUATE `PID_TITLE = 2
%EQUATE `PID_SUBJECT = 3
%EQUATE `PID_AUTHOR = 4
%EQUATE `PID_KEYWORDS = 5
%EQUATE `PID_COMMENTS = 6
%EQUATE `PID_TEMPLATE = 7
%EQUATE `PID_LASTAUTHOR = 8
%EQUATE `PID_REVNUMBER = 9
%EQUATE `PID_EDITTIME = 10
%EQUATE `PID_LASTPRINTED = 11
%EQUATE `PID_CREATE_DTM = 12
%EQUATE `PID_LASTSAVE_DTM = 13
%EQUATE `PID_PAGECOUNT = 14
%EQUATE `PID_WORDCOUNT = 15
%EQUATE `PID_CHARCOUNT = 16
%EQUATE `PID_THUMBNAIL = 17
%EQUATE `PID_APPNAME = 18
%EQUATE `PID_SECURITY = 19
'// PIDs given specific meanings for Installer
%EQUATE `PID_MSIVERSION = %PID_PAGECOUNT ' // integer, Installer version number (major*100+minor)
%EQUATE `PID_MSISOURCE = %PID_WORDCOUNT ' // integer, type of file image, short/long, media/tree
%EQUATE `PID_MSIRESTRICT = %PID_CHARCOUNT ' // integer, transform restrictions
'//__________________________________________________________________________
'//
'// INSTALLER DATABASE INTEGER COLUMN DEFINITIONS
'//__________________________________________________________________________
'// BBControl.Attributes
'// Control.Attributes
' enum msidbControlAttributes
%EQUATE `msidbControlAttributesVisible = &H00000001
%EQUATE `msidbControlAttributesEnabled = &H00000002
%EQUATE `msidbControlAttributesSunken = &H00000004
%EQUATE `msidbControlAttributesIndirect = &H00000008
%EQUATE `msidbControlAttributesInteger = &H00000010
%EQUATE `msidbControlAttributesRTLRO = &H00000020
%EQUATE `msidbControlAttributesRightAligned = &H00000040
%EQUATE `msidbControlAttributesLeftScroll = &H00000080
%EQUATE `msidbControlAttributesBiDi = %msidbControlAttributesRTLRO OR %msidbControlAttributesRightAligned OR %msidbControlAttributesLeftScroll
'// Text controls
%EQUATE `msidbControlAttributesTransparent = &H00010000
%EQUATE `msidbControlAttributesNoPrefix = &H00020000
%EQUATE `msidbControlAttributesNoWrap = &H00040000
%EQUATE `msidbControlAttributesFormatSize = &H00080000
%EQUATE `msidbControlAttributesUsersLanguage = &H00100000
'// Edit controls
%EQUATE `msidbControlAttributesMultiline = &H00010000
'#if (_WIN32_MSI >= 110)
%EQUATE `msidbControlAttributesPasswordInput = &H00200000
'#endif //(_WIN32_MSI >= 110)
'// ProgressBar controls
%EQUATE `msidbControlAttributesProgress95 = &H00010000
'// VolumeSelectCombo and DirectoryCombo controls
%EQUATE `msidbControlAttributesRemovableVolume = &H00010000
%EQUATE `msidbControlAttributesFixedVolume = &H00020000
%EQUATE `msidbControlAttributesRemoteVolume = &H00040000
%EQUATE `msidbControlAttributesCDROMVolume = &H00080000
%EQUATE `msidbControlAttributesRAMDiskVolume = &H00100000
%EQUATE `msidbControlAttributesFloppyVolume = &H00200000
'// VolumeCostList controls
%EQUATE `msidbControlShowRollbackCost = &H00400000
'// ListBox and ComboBox controls
%EQUATE `msidbControlAttributesSorted = &H00010000
%EQUATE `msidbControlAttributesComboList = &H00020000
'// picture button controls
%EQUATE `msidbControlAttributesImageHandle = &H00010000
%EQUATE `msidbControlAttributesPushLike = &H00020000
%EQUATE `msidbControlAttributesBitmap = &H00040000
%EQUATE `msidbControlAttributesIcon = &H00080000
%EQUATE `msidbControlAttributesFixedSize = &H00100000
%EQUATE `msidbControlAttributesIconSize16 = &H00200000
%EQUATE `msidbControlAttributesIconSize32 = &H00400000
%EQUATE `msidbControlAttributesIconSize48 = &H00600000
'#if (_WIN32_MSI >= 400)
%EQUATE `msidbControlAttributesElevationShield = &H00800000
'#endif //(_WIN32_MSI >= 400)
'// RadioButton controls
%EQUATE `msidbControlAttributesHasBorder = &H01000000
'// CompLocator.Type
'// IniLocator.Type
'// RegLocator.Type
' enum msidbLocatorType
%EQUATE `msidbLocatorTypeDirectory = &H00000000
%EQUATE `msidbLocatorTypeFileName = &H00000001
'#if (_WIN32_MSI >= 110)
%EQUATE `msidbLocatorTypeRawValue = &H00000002
'#endif //(_WIN32_MSI >= 110)
'#if (_WIN32_MSI >= 150)
%EQUATE `msidbLocatorType64bit = &H00000010
'#endif //(_WIN32_MSI >= 150)
'// Component.Attributes
' enum msidbComponentAttributes
%EQUATE `msidbComponentAttributesLocalOnly = &H00000000
%EQUATE `msidbComponentAttributesSourceOnly = &H00000001
%EQUATE `msidbComponentAttributesOptional = &H00000002 ' // local or source
%EQUATE `msidbComponentAttributesRegistryKeyPath = &H00000004 ' // KeyPath is key to Registry table
%EQUATE `msidbComponentAttributesSharedDllRefCount = &H00000008 ' // increment SharedDll count
%EQUATE `msidbComponentAttributesPermanent = &H00000010 ' // never uninstall component
%EQUATE `msidbComponentAttributesODBCDataSource = &H00000020 ' // KeyFile is key to ODBCDataSource table
%EQUATE `msidbComponentAttributesTransitive = &H00000040 ' // Can transition to/from installed/uninstalled based on changing conditional
%EQUATE `msidbComponentAttributesNeverOverwrite = &H00000080 ' // dont stomp over existing component if key path exists (file/ regkey)
'#if (_WIN32_MSI >= 150)
%EQUATE `msidbComponentAttributes64bit = &H00000100 ' // designates a 64-bit component; 32-bit if missing.
'#endif ' // (_WIN32_MSI >= 150)
'#if (_WIN32_MSI >= 400)
%EQUATE `msidbComponentAttributesDisableRegistryReflection = &H00000200 ' // Disables registry reflection for this component.
'#endif ' // (_WIN32_MSI >= 400)
'#if (_WIN32_MSI >= 150)
'// Assembly.Attributes
' enum msidbAssemblyAttributes
%EQUATE `msidbAssemblyAttributesURT = &H00000000
%EQUATE `msidbAssemblyAttributesWin32 = &H00000001
'#endif // (_WIN32_MSI >= 150)
'// CustomAction.Type
' enum msidbCustomActionType
' // executable types
%EQUATE `msidbCustomActionTypeDll = &H00000001 ' // Target = entry point name
%EQUATE `msidbCustomActionTypeExe = &H00000002 ' // Target = command line args
%EQUATE `msidbCustomActionTypeTextData = &H00000003 ' // Target = text string to be formatted and set into property
%EQUATE `msidbCustomActionTypeJScript = &H00000005 ' // Target = entry point name null if none to call
%EQUATE `msidbCustomActionTypeVBScript = &H00000006 ' // Target = entry point name null if none to call
%EQUATE `msidbCustomActionTypeInstall = &H00000007 ' // Target = property list for nested engine initialization
' // source of code
%EQUATE `msidbCustomActionTypeBinaryData = &H00000000 ' // Source = Binary.Name data stored in stream
%EQUATE `msidbCustomActionTypeSourceFile = &H00000010 ' // Source = File.File file part of installation
%EQUATE `msidbCustomActionTypeDirectory = &H00000020 ' // Source = Directory.Directory folder containing existing file
%EQUATE `msidbCustomActionTypeProperty = &H00000030 ' // Source = Property.Property full path to executable
' // return processing ' // default is syncronous execution process return code
%EQUATE `msidbCustomActionTypeContinue = &H00000040 ' // ignore action return status continue running
%EQUATE `msidbCustomActionTypeAsync = &H00000080 ' // run asynchronously
' // execution scheduling flags ' // default is execute whenever sequenced
%EQUATE `msidbCustomActionTypeFirstSequence = &H00000100 ' // skip if UI sequence already run
%EQUATE `msidbCustomActionTypeOncePerProcess = &H00000200 ' // skip if UI sequence already run in same process
%EQUATE `msidbCustomActionTypeClientRepeat = &H00000300 ' // run on client only if UI already run on client
%EQUATE `msidbCustomActionTypeInScript = &H00000400 ' // queue for execution within script
%EQUATE `msidbCustomActionTypeRollback = &H00000100 ' // in conjunction with InScript: queue in Rollback script
%EQUATE `msidbCustomActionTypeCommit = &H00000200 ' // in conjunction with InScript: run Commit ops from script on success
' // security context flag default to impersonate as user valid only if InScript
%EQUATE `msidbCustomActionTypeNoImpersonate = &H00000800 ' // no impersonation run in system context
'#if (_WIN32_MSI >= 150)
%EQUATE `msidbCustomActionTypeTSAware = &H00004000 ' // impersonate for per-machine installs on TS machines
'#endif ' // (_WIN32_MSI >= 150)
'#if (_WIN32_MSI >= 150)
'// script requires 64bit process
%EQUATE `msidbCustomActionType64BitScript = &H00001000 ' // script should run in 64bit process
'// don't record the contents of the Target field in the log file.
%EQUATE `msidbCustomActionTypeHideTarget = &H00002000
'#endif // (_WIN32_MSI >= 150)
'// Dialog.Attributes
' enum msidbDialogAttributes
%EQUATE `msidbDialogAttributesVisible = &H00000001
%EQUATE `msidbDialogAttributesModal = &H00000002
%EQUATE `msidbDialogAttributesMinimize = &H00000004
%EQUATE `msidbDialogAttributesSysModal = &H00000008
%EQUATE `msidbDialogAttributesKeepModeless = &H00000010
%EQUATE `msidbDialogAttributesTrackDiskSpace = &H00000020
%EQUATE `msidbDialogAttributesUseCustomPalette = &H00000040
%EQUATE `msidbDialogAttributesRTLRO = &H00000080
%EQUATE `msidbDialogAttributesRightAligned = &H00000100
%EQUATE `msidbDialogAttributesLeftScroll = &H00000200
%EQUATE `msidbDialogAttributesBiDi = %msidbDialogAttributesRTLRO OR %msidbDialogAttributesRightAligned OR %msidbDialogAttributesLeftScroll
%EQUATE `msidbDialogAttributesError = &H00010000
'// Feature.Attributes
' enum msidbFeatureAttributes
%EQUATE `msidbFeatureAttributesFavorLocal = &H00000000
%EQUATE `msidbFeatureAttributesFavorSource = &H00000001
%EQUATE `msidbFeatureAttributesFollowParent = &H00000002
%EQUATE `msidbFeatureAttributesFavorAdvertise = &H00000004
%EQUATE `msidbFeatureAttributesDisallowAdvertise = &H00000008
%EQUATE `msidbFeatureAttributesUIDisallowAbsent = &H00000010
%EQUATE `msidbFeatureAttributesNoUnsupportedAdvertise = &H00000020
'// File.Attributes
' enum msidbFileAttributes
%EQUATE `msidbFileAttributesReadOnly = &H00000001
%EQUATE `msidbFileAttributesHidden = &H00000002
%EQUATE `msidbFileAttributesSystem = &H00000004
%EQUATE `msidbFileAttributesReserved0 = &H00000008 ' // Internal use only - must be 0
%EQUATE `msidbFileAttributesIsolatedComp = &H00000010
%EQUATE `msidbFileAttributesReserved1 = &H00000040 ' // Internal use only - must be 0
%EQUATE `msidbFileAttributesReserved2 = &H00000080 ' // Internal use only - must be 0
%EQUATE `msidbFileAttributesReserved3 = &H00000100 ' // Internal use only - must be 0
%EQUATE `msidbFileAttributesVital = &H00000200
%EQUATE `msidbFileAttributesChecksum = &H00000400
%EQUATE `msidbFileAttributesPatchAdded = &H00001000 ' // Internal use only - set by patches
%EQUATE `msidbFileAttributesNoncompressed = &H00002000
%EQUATE `msidbFileAttributesCompressed = &H00004000
%EQUATE `msidbFileAttributesReserved4 = &H00008000 ' // Internal use only - must be 0
'// IniFile.Action
'// RemoveIniFile.Action
' enum msidbIniFileAction
%EQUATE `msidbIniFileActionAddLine = &H00000000
%EQUATE `msidbIniFileActionCreateLine = &H00000001
%EQUATE `msidbIniFileActionRemoveLine = &H00000002
%EQUATE `msidbIniFileActionAddTag = &H00000003
%EQUATE `msidbIniFileActionRemoveTag = &H00000004
'// MoveFile.Options
' enum msidbMoveFileOptions
%EQUATE `msidbMoveFileOptionsMove = &H00000001
'// ODBCDataSource.Registration
' enum msidbODBCDataSourceRegistration
%EQUATE `msidbODBCDataSourceRegistrationPerMachine = &H00000000
%EQUATE `msidbODBCDataSourceRegistrationPerUser = &H00000001
'#if (_WIN32_MSI >= 110)
'// Class.Attributes
' enum msidbClassAttributes
%EQUATE `msidbClassAttributesRelativePath = &H00000001
'#endif //(_WIN32_MSI >= 110)
'// Patch.Attributes
' enum msidbPatchAttributes
%EQUATE `msidbPatchAttributesNonVital = &H00000001
'// Registry.Root
'// RegLocator.Root
'// RemoveRegistry.Root
' enum msidbRegistryRoot
%EQUATE `msidbRegistryRootClassesRoot = 0
%EQUATE `msidbRegistryRootCurrentUser = 1
%EQUATE `msidbRegistryRootLocalMachine = 2
%EQUATE `msidbRegistryRootUsers = 3
'// RemoveFile.InstallMode
' enum msidbRemoveFileInstallMode
%EQUATE `msidbRemoveFileInstallModeOnInstall = &H00000001
%EQUATE `msidbRemoveFileInstallModeOnRemove = &H00000002
%EQUATE `msidbRemoveFileInstallModeOnBoth = &H00000003
'// ServiceControl.Event
' enum msidbServiceControlEvent
%EQUATE `msidbServiceControlEventStart = &H00000001
%EQUATE `msidbServiceControlEventStop = &H00000002
%EQUATE `msidbServiceControlEventDelete = &H00000008
%EQUATE `msidbServiceControlEventUninstallStart = &H00000010
%EQUATE `msidbServiceControlEventUninstallStop = &H00000020
%EQUATE `msidbServiceControlEventUninstallDelete = &H00000080
'// ServiceInstall.ErrorControl
' enum msidbServiceInstallErrorControl
%EQUATE `msidbServiceInstallErrorControlVital = &H00008000
'// TextStyle.StyleBits
' enum msidbTextStyleStyleBits
%EQUATE `msidbTextStyleStyleBitsBold = &H00000001
%EQUATE `msidbTextStyleStyleBitsItalic = &H00000002
%EQUATE `msidbTextStyleStyleBitsUnderline = &H00000004
%EQUATE `msidbTextStyleStyleBitsStrike = &H00000008
'#if (_WIN32_MSI >= 110)
'// Upgrade.Attributes
' enum msidbUpgradeAttributes
%EQUATE `msidbUpgradeAttributesMigrateFeatures = &H00000001
%EQUATE `msidbUpgradeAttributesOnlyDetect = &H00000002
%EQUATE `msidbUpgradeAttributesIgnoreRemoveFailure = &H00000004
%EQUATE `msidbUpgradeAttributesVersionMinInclusive = &H00000100
%EQUATE `msidbUpgradeAttributesVersionMaxInclusive = &H00000200
%EQUATE `msidbUpgradeAttributesLanguagesExclusive = &H00000400
'#endif //(_WIN32_MSI >= 110)
'//__________________________________________________________________________
'//
'// SUMMARY INFORMATION PROPERTY DEFINITIONS
'//__________________________________________________________________________
' enum msidbSumInfoSourceType
%EQUATE `msidbSumInfoSourceTypeSFN = &H00000001 ' // source uses short filenames
%EQUATE `msidbSumInfoSourceTypeCompressed = &H00000002 ' // source is compressed
%EQUATE `msidbSumInfoSourceTypeAdminImage = &H00000004 ' // source is an admin image
'#if (_WIN32_MSI >= 400)
%EQUATE `msidbSumInfoSourceTypeLUAPackage = &H00000008 ' // package can be installed by LUA user (elevated privileges are not required for install)
'#endif //(_WIN32_MSI >= 400)
'//__________________________________________________________________________
'//
'// REBOOT EVENTLOG VALUE DEFINITIONS
'//__________________________________________________________________________
'#if (_WIN32_MSI >= 400)
' enum msirbRebootType
%EQUATE `msirbRebootImmediate = 1
%EQUATE `msirbRebootDeferred = 2
' enum msirbRebootReason
%EQUATE `msirbRebootUndeterminedReason = 0
%EQUATE `msirbRebootInUseFilesReason = 1
%EQUATE `msirbRebootScheduleRebootReason = 2
%EQUATE `msirbRebootForceRebootReason = 3
%EQUATE `msirbRebootCustomActionReason = 4
'#endif //(WIN32_MSI >= 400)
#ENDIF
