#$KStandard Properties
	Msi Objects	Database Tables
The following properties are defined by the Microsoft Installer. Additional properties may be specified by authored data or custom actions. Properties whose names are entirely upper case can be specified on the command line or as resources within the launcher.
Component Locations
DATABASE	SOURCEDIR	TARGETDIR
INSTALLER	
Feature Installation Options
ADDLOCAL	ADDSOURCE	REMOVE
REINSTALL	COMPADDLOCAL	COMPADDSOURCE	FILEADDLOCAL	FILEADDSOURCE	
Other Configurable Properties
ACTION	ALLUSERS	CCP_DRIVE	EXECUTEMODE	INSTALLLEVEL	LOGACTION	LOGFILE	LOGMODEMESSAGEBASE
REBOOT
ROOTDRIVE	SCRIPTFILE	SHORTFILENAMES
TRANSFORMS	NOUI	
Advertise/Admin install related information
ADTFOLDER	ADTSTARTFOLDER	
User-Supplied Information
COMPANYNAME	PRODUCTID	USERNAME
Product-specific Properties Specified in the Property Table
ProductCode	ProductName	ProductVersion	ProductLanguage
Manufacturer	PIDTemplate	DiskPrompt	DiskSerial
ComponentDownload	SupportPhone	SupportURL	LeftUnit	
System Folders - Set by Microsoft Installer as startup
AppDataFolder	CommonFilesFolder	DesktopFolder	FavoritesFolder
FontsFolder	NetHoodFolder	PersonalFolder	PrintHoodFolder
ProgramFilesFolder	ProgramMenuFolder	RecentFolder	SendToFolder
StartMenuFolder	StartupFolder	System16Folder	SystemFolder
TempFolder	TemplateFolder	WindowsFolder	
Operating System Properties - Set by Microsoft Installer at startup
Bidirectional	ComputerName	IME	Language
LanguageId	LogonUser	Modem	Network
Security	SharedWindows	Sound	Version95
VersionNT	WindowsBuild
Hardware Properties - Set by Microsoft Installer at startup
Alpha	BorderSide	BorderTop	CaptionHeight
ColorBits	Intel	PhysicalMemory
ScreenX	ScreenY	TextHeight
VirtualMemory	
Status Properties - Updated by Microsoft Installer during install
Launcher	CCPTrigger	Installed	OutOfDiskSpacePreselected	Resume	Time	UpdateStarted	
#$+KCCP_DRIVE Property
	Property Summary	Msi Objects	Database Tables
Property to be set to the root path on the removable volume that has the installation for any of the qualifying products for CCP.
Set By
Property table, launcher property, command line or throught the UI
Used By
RMCCPSearch action.
Default Value
None.
Remarks

#$+KSOURCEDIR Property
	Property Summary	Msi Objects	Database Tables
Root directory containing the source files (either the source cabinet file, or the source file tree).
Set By
Property table, launcher property, or command line
Used By
Directory resolution actions
Default Value
None.
Remarks
If not set otherwise, SOURCEDIR will default to the directory containing the Launcher.
#$+KTARGETDIR Property
	Property Summary	Msi Objects	Database Tables
TARGETDIR must be the name of one root in the Directory table. It is used as the location to copy the Launcher and the Installer installation package during an Admin install.
Set By
Command line, user interface, CostFinalize
Used By
Actions.
Default Value
None.
Remarks

#$+KDATABASE Property
	Property Summary	Msi Objects	Database Tables
Database containing install tables
Set By
Launcher property or command line
Used By
Used by launcher to open database
Default Value
None.
Remarks
When creating an admin image, this property must be defined in a resource of the launcher. It is not sufficient to specify this property on the command-line. The value of this property is used to copy the correct database file to the admin image in the AdminInstallFinalize action. Also, if this property is defined in the launcher, the launcher can be used with no command line options.
#$+KINSTALLER Property
	Property Summary	Msi Objects	Database Tables
Location of installer package for the Installer components.
Set By
Launcher property or command line.
Used By
Launcher to locate the installer installation package. AdminInstallFinalize action to locate the installer package to copy to admin image, only if a relative path is given.
Default Value
None.
Remarks
If the property value is not defined, the Installer must be resident on the system. If a bare file name is supplied, the package is assumed to reside in the same directory as the Launcher.  If the property value is a relative path, the components are assumed to reside in that path beneath the Launcher's directory.
#$+KMESSAGEBASE Property
	Property Summary	Msi Objects	Database Tables
Specifies the base of the error messages contained within the launcher. These messages are used for errors that occur before the product database is successfully opened. The order of messages must agree with the ieiEnum return codes from the installer.
Set By
Launcher resource property only, must match resource string IDs.
Used By
Installer to determine string IDs for error messages.
Default Value
None. If not set, no error or status messages can be displayed.
#$+KINSTALLLEVEL Property
	Property Summary	Msi Objects	Database Tables
The initial 'level' at which features will be selected 'ON' for installation by default.  See the Feature table for further discussion of install levels.
Set By
Property table or launcher property
Used By
Selection resolution actions.
Default Value
If no value is specified, the install level defaults to 1.
#$+KOutOfDiskSpace Property
	Property Summary	Msi Objects	Database Tables
This property is set to a value of TRUE by the MsiSelectionManager if any volume that is a target of the current install has insufficient disk space to accomodate the  proposed installation.  If all volumes have sufficient space, the value is FALSE.
Set By
The MsiSelectionManager.  This property is valid at any time after the CostInitialize action has been executed.  The OutOfDiskSpace property status is dynamically updated any time the total install cost is re-calculated (for example, any time the install state of any feature is changed via the Selection dialog).
Used By
Selection resolution actions.
#$+KInstalled Property
	Property Summary	Msi Objects	Database Tables
Set when the product has already been installed.
Set By
Engine at initialization.
Used By
UI conditionalization.  May be used to show first-install or maintenance mode UI.
Default Value
None.
Remarks

#$+KPreselected Property
	Property Summary	Msi Objects	Database Tables
Set when selections have been pre-determined and the selection dialog need not be shown. This occurs when properties such as ADDLOCAL or REMOVE are set on the command line or when a suspended install is being resumed.
Set By
Engine at initialization.
Used By
UI conditionalization.  May be used to suppress any dialogs used to make selections.
Default Value
None.
Remarks

#$+KUpdateStarted Property
	Property Summary	Msi Objects	Database Tables
Set when changes to the system have begun for this install.  This includes the case when a suspended install is resumed.
Set By
Engine at initialization.
Used By
UI conditionalization.  If this property is set, the user should be asked whether to restore or continue later after an error and cancellation.
Default Value
None.
Remarks

#$+KResume Property
	Property Summary	Msi Objects	Database Tables
Set when resuming a suspended install.  This property can be used to determine what text to show the user in the UI.  For example, when not in resume mode the user could be asked "Are you ready to install?" while in resume mode the user could be asked "Are you ready to complete your install?".
Set By
Engine at initialization.
Used By
UI conditionalization.
Default Value
None.
Remarks

#$+KACTION Property
	Property Summary	Msi Objects	Database Tables
Specifies the intial action function that is called after the installer. in initialized.
Set By
Must be set by the launcher, normally to the Install action,  but may be changed to Remove, Admin, or other actions with customized launchers. This property may also be overridden on the command line.
Used By
The value of the property is the name of the action to invoke after the installer is successfully initialized. That action most like will in turn invoke other actions, commonly by querying the Action table.
Default Value
None. Install will fail if no action is specified.
Remarks

#$+KLOGFILE Property
	Property Summary	Msi Objects	Database Tables
Enables logging of messages by specifying a path to the file where the log information is to be written. The file will be created if not present, else any old log information from a previous installation will be overwritten unless the append option is set by the LOGMODE property. The logfile is flushed after each line is posted, and it is closed when the MsiServices object is destroyed.
Set By
Normally set on the command line, but may be customized into the launcher.
Used By
The file specified will be opened when the installer is initialized. The initialization will fail if the log file cannot be opened.
Default Value
None.
Remarks
The first line of the log will be formatted according to the value of the imgLogHeader entry in the Error table. Log line formats are determined by the various message and action types, as well by code that directly writes directly to the log. The final line of the log will be formatted according to the value of the imsgLogTrailer entry in the Error table.
#$+KREBOOT Property
	Property Summary	Msi Objects	Database Tables
If this property is set to "Force" the installation will reboot at the end, regardless of what the actions require.If the property is set to "Suppress" the installation will not reboot in case of reboots that happen at the end of the installation before the new program can be used. If the reboot is needed to continue the installation, the reboot will still take place.
Set By
Normally set on the command line, but may be customized into the launcher.
Used By
By the Engine at termination to override the reboot decision made by the actions.
Default Value
None.
Remarks
This property is typically used by an administrator who installs several products at the same time and wants to have only one reboot at the end of the series of installations.
#$+KLOGMODE Property
	Property Summary	Msi Objects	Database Tables
A string containing letters that specify which messages are to be written to the log file. Options are case-insensitive and order-independent.
Set By
Launcher resource or command-line setting.
Used By
MsiEngine uses the value to initialize the logging for the various message types, only if the LOGFILE property has been defined.
Default Value
None. Internal default log options, "dewarim", are used if this property is undefined.
Log Option Codes - for message types: MsiHandler.Message
 i  (imtInfo)         Informational-only messages
 w  (imtWarning)      Warning messages, not fatal
 e  (imtError)        Error messages, may be fatal
 d  (imtDiagnostic)   Diagnostics, debug build only
 a  (imtActionStart)  Start of action notification
 r  (imtActionData)   Action data record, contents action-specific
 u  (imtUser)         User request messages
 c  (imtCommonData)      UI control messages
 m  (imtOutOfMemory)  Out of memory messages
 p                    Dump property table, "property = value" at MsiEngine.Terminate +                    Append to existing logfile
#$+KLOGACTION Property
	Property Summary	Msi Objects	Database Tables
A list of action names, separated only by semicolons (no spaces), for which logging will occur.
Set By
Normally set on the command line, but could be customized into the launcher.
Used By
MsiEngine.Message
Default Value
None.
Remarks
The action names in this property are case-insensitive. The list may optionally end with a semicolon.
#$+KROOTDRIVE Property
	Property Summary	Msi Objects	Database Tables
When not in Admin mode, ROOTDRIVE supplies the default paths for any undefined root directories in the Directory table. If not already defined, this property is defined by the CostInitialize action to the local volume with the most available disk space.
Set By
DirectoryInitialize action, command line
Used By
CreateTargetPaths method of the MsiDirectoryManager object.
Default Value
None. (Defined to path of local volume with most available disk space by DirectoryInitialize)
Remarks

#$+KNOUI Property
	Property Summary	Msi Objects	Database Tables
If this property is set, the UI level used when installing this package is capped as Basic.  This property can be used when a package has no authored UI to use the Installer's built in default UI.
Set By
Property table or command line.
Used By
Installer to determine what UI to display.
Default Value
None.
Remarks

#$+KEXECUTEMODE Property
	Property Summary	Msi Objects	Database Tables
The mode of execution performed by the installer. This property can have one of the following values:
None    No changes are made to the system, although the UI and database querying are executed normally.
Direct  All changes to the system are executed directly by the client, without using script files. This mode is not valid when the installer runs in client-server mode. In this case, the execution mode defaults to None.
Script  All changes to the system are made through script execution. This is the default mode.
Note that only the first letter of this property value is examined, case insensitively.
Set By
Launcher property or command line.
Used By
Engine to determine how to execute system updates.
Default Value
If not defined, the execution mode defaults to Script.
Remarks

#$+KSCRIPTFILE Property
	Property Summary	Msi Objects	Database Tables
If this property is set, a script file is created containing all operations executed during the install. This property defines the location of the script file. If a relative path is given, the path is assumed to be relative to the location of the launcher.
Set By
Launcher property or command line.
Used By
Engine to determine if and where to create a script file.
Default Value
None.
Remarks
This property is completely unrelated to the EXECUTEMODE property. In other words, if this property is set, the script will be created regardless of the installer's execution mode.
#$+KADDLOCAL Property
	Property Summary	Msi Objects	Database Tables
The property value denotes a list of features, delimited by semi-colons, that are to be installed locally. The features listed are to be found in the Feature  column of the Feature  table. Optionally, the value could be All  to denote installing all features locally. Thus, if you wish to install all features locally you would provide the command line ADDLOCAL=All  to the installer.
Set By
Launcher property or command line.
Used By
Engine to determine what Features to set to be installed locally.
Default Value
None
Remarks
Note that the feature names are case-sensitive. Also note that if the RunFromSource  column of the Component  table for a component has a value of irsSourceOnly  then the component is installed as run from source.
#$+KADDSOURCE Property
	Property Summary	Msi Objects	Database Tables
The property value denotes a list of features, delimited by semi-colons, that are to be installed to run from source. The features listed are to be found in the Feature  column of the Feature  table. Optionally, the value could be All  to denote installing all features to run from source. Thus, if you wish to install all features as run from source you would provide the command line ADDSOURCE=All  to the installer.
Set By
Launcher property or command line.
Used By
Engine to determine what Features to set to be installed as run from source.
Default Value
None
Remarks
Note that the feature names are case-sensitive. Also note that if the RunFromSource  column of the Component  table for a component has a value of irsLocalOnly then the component is installed locally.
#$+KREMOVE Property
	Property Summary	Msi Objects	Database Tables
The property value denotes a list of features, delimited by semi-colons, that are to be removed, if installed. The features listed are to be found in the Feature  column of the Feature  table. Optionally, the value could be All  to denote removing all features. Thus, if you wish to remove all features (i.e. uninstall the entire product), you would provide the command line REMOVE=All  to the installer.
Set By
Launcher property or command line.
Used By
Engine to determine what Features to set to be removed.
Default Value
None
Remarks
Note that the feature names are case-sensitive.
#$+KREINSTALL Property
	Property Summary	Msi Objects	Database Tables
The property value denotes a list of features, delimited by semi-colons, that are to be reinstalled.  The features listed are to be found in the Feature  column of the Feature  table. Optionally, the value could be All  to denote reinstalling all features. Thus, if you wish to reinstall all features you would provide the command line REINSTALL=All  to the installer.
Set By
Launcher property or command line.
Used By
Engine to determine what Features to set to be reinstalled.
Default Value
None
Remarks
Note that the feature names are case-sensitive. 

If the REINSTALL property is set, the REINSTALLMODE property should also be set, to indicate the type of reinstall to be performed.  If the REINSTALLMODE property is not set, then by default all files that are currently installed will be reinstalled, IF the currently installed file is a lesser version (or is not present). By default, no registry entries will be rewritten.

Note that even if REINSTALL is set to "ALL", only those features that were already installed previously will be reinstalled.  Thus, if REINSTALL is set for a product that is yet to be installed, no installation action will take place at all.
#$+KREINSTALLMODE Property
	Property Summary	Msi Objects	Database Tables
A string containing letters that specify the type of reinstall to perform. Options are case-insensitive and order-independent.  This property should normally always be used in conjunction with the REINSTALL property. 
Set By
Launcher resource or command-line setting.
Used By
MsiEngine uses the value to determine the type of reinstall (if any) to perform.
Default Value
By default the REINSTALLMODE is "romus".
Reinstall Option Codes
 r  (iefInstallEnable)               Enable reinstall of any files/registry found to be invalid.
 p  (iefOverwriteNone)               Reinstall only if file is missing (i.e. verify that the file is present).
 o  (iefOverwriteOlderVersions)      Reinstall if file is missing, or an older version is present.
 e  (iefOverwriteEqualVersions)      Reinstall if file is missing, or an equal or older version is present.
 d  (iefOverwriteDifferingVersions)  Reinstall if file is missing, or a different version is present.
 c  (iefOverwriteCorruptedFiles)     Reinstall if file is missing, or corrupt (i.e. the stored checksum doesn't match the computed value).
 a  (iefOverwriteAllFiles)           Force all files to be reinstalled, regardless of checksum or version
 u  (iefInstallUserData)             Re-write all required user registry entries.
 m  (iefInstallMachineData)          Re-write all required local machine registry entries.
 s  (iefInstallShortcuts)            Reinstall all shortcuts, overwriting any existing shortcut.

All of the reinstall options shown above, except for iefInstallEnable, can actually be thought of as "detection" flags, which are used to detect that the feature or features specified by the REINSTALL property are installed properly. If any of the specified detection operations fail during the reinstall, this fact will be logged for informational purposes. However, the invalid installation will actually be repaired only if the iefInstallEnable option is also set. For example, if the iefOverwriteCorruptedFiles flag is set, corrupted files will be detected and logged on reinstall, but the corrupted files will actually be repaired (by reinstallation) only if the iefInstallEnable flag is also specified.
If the REINSTALLMODE property is defined without the REINSTALL property defined, then the specified "detection" modes still apply; however, only those features that are selected normally for install will actually be "reinstalled". Thus, in this case, REINSTALLMODE actually specifies the "overwrite" mode for a normal install.
Note: only those files that are designated in the File table as containing checksum information will ever be verified for accurate checksum.
#$+KCOMPADDLOCAL Property
	Property Summary	Msi Objects	Database Tables
The property value denotes a list of component ID's, delimited by semi-colons, that are to be installed locally. Specifically, for each listed component ID, the installer examines all features linked  (via the FeatureComponents table) to that component, and installs the "cheapest" feature (i.e. the feature that would require the least amount of disk space to install). The components listed are to be found in the Component  column of the Component  table.
Set By
Launcher property or command line.
Used By
Engine to determine what Feature(s) to set to be installed locally, based on the specified component(s).
Default Value
None
Remarks
Note that the component names are case-sensitive. Also note that if the RunFromSource  column of the Component  table for a component has a value of irsSourceOnly  then the component will be installed to run from source.
#$+KCOMPADDSOURCE Property
	Property Summary	Msi Objects	Database Tables
The property value denotes a list of component ID's, delimited by semi-colons, that are to be installed to run from the source media. Specifically, for each listed component ID, the installer examines all features linked (via the FeatureComponents table) to that component, and installs the "cheapest" feature (i.e. the feature that would require the least amount of disk space to install). The components listed are to be found in the Component  column of the Component  table.
Set By
Launcher property or command line.
Used By
Engine to determine what Feature(s) to set to be installed to run from source, based on the specified component(s).
Default Value
None
Remarks
Note that the component names are case-sensitive. Also note that if the RunFromSource  column of the Component  table for a component has a value of irsLocalOnly  then the component will be installed to run locally.
#$+KFILEADDLOCAL Property
	Property Summary	Msi Objects	Database Tables
The property value denotes a list of file keys, delimited by semi-colons, that are to be installed to run locally. Specifically, for each listed file key, the installer determines the component that controls that file, then examines all features linked  (via the FeatureComponents table) to that component, and installs the "cheapest" feature (i.e. the feature that would require the least amount of disk space to install). The file keys listed must be found in the File  column of the  File  table.
Set By
Launcher property or command line.
Used By
Engine to determine what Feature(s) to set to be installed locally, based on the specified file key(s).
Default Value
None
Remarks
Note that the file key names are case-sensitive. Also note that if the RunFromSource  column of the Component  table for a component has a value of irsSourceOnly  then the component will be installed to run from source.
#$+KFILEADDSOURCE Property
	Property Summary	Msi Objects	Database Tables
The property value denotes a list of file keys, delimited by semi-colons, that are to be installed to run from the source media. Specifically, for each listed file key, the installer determines the component that controls that file, then examines all features linked  (via the FeatureComponents table) to that component, and installs the "cheapest" feature (i.e. the feature that would require the least amount of disk space to install). The file keys listed must be found in the File  column of the  File  table.
Set By
Launcher property or command line.
Used By
Engine to determine what Feature(s) to set to be installed to run from source, based on the specified file key(s).
Default Value
None
Remarks
Note that the file key names are case-sensitive. Also note that if the RunFromSource  column of the _msi_Component  table for a component has a value of irsLocalOnly  then the component will be installed to run locally.
#$+KADTFOLDER Property
	Property Summary	Msi Objects	Database Tables
The property is used during the advertise mode to determine the folder where to place the proxy/proxies for the product.
Set By
Launcher property, command line or set in the admin mode UI.
Used By
Engine to determine where to create the proxy/proxies for the product when run in the advertise mode.
Default Value
None
Remarks

#$+KADTSTARTFOLDER Property
	Property Summary	Msi Objects	Database Tables
The property is used during the advertise mode to determine the folder where to place the shortcut(s) to the proxy/proxies for the product.
Set By
Launcher property, command line or set in the admin mode UI.
Used By
Engine to determine where to create the shortcut(s) to the proxy/proxies for the product when run in the advertise mode.
Default Value
None
Remarks

#$+KALLUSERS Property
	Property Summary	Msi Objects	Database Tables
If this property is set, the folder properties representing folders in a profile are set to the folders in the "All Users" profile, if such a profile exists.  Otherwise, those properties are set to folders in the user's personal profile.
Set By
Launcher property, command line.
Used By
SetPlatformProperties.
Default Value
None. May be undefined.
Remarks

#$+KUSERNAME Property
	Property Summary	Msi Objects	Database Tables
User performing installation
Set By
Set by registry properties, overridable on command line
Used By
Used by UI dialogs, and ultimately for personalization actions
Default Value
Default value may be put in database Property table
Remarks
!!Additional notes!! 
#$+KCOMPANYNAME Property
	Property Summary	Msi Objects	Database Tables
Organization for user performing the installation
Set By
Set by registry properties, overridable on command line or launcher property.
Used By
Used by UI dialogs, and ultimately for personalization actions
Default Value
None.
Remarks
!!Additional notes!! 
#$+KPRODUCTID Property
	Property Summary	Msi Objects	Database Tables
This property initially contains the part of the Product ID entered by the user, and after validation it contains the complete ID.
Set By
The initial value can be set on the command line or through the UI. At this point the property contains only the part of the Product ID that has to be entered by the user. The ValidateProductID validates this value by comparing it to the PIDTemplate property. This method also adds the needed random digits and makes other modifications. Upon successfull validation the value of this property is changed to the complete Product ID.
Used By
The value is used and modified by the ValidateProductID method, and displayed and modified by the UI.
Default Value
None.
Remarks
!!Additional notes!! 
#$+KLeftUnit Property
	Property Summary	Msi Objects	Database Tables
If this property is set, the unit is placed to the left of the number instead of the usual right hand side. This is needed to accomodate languages where this is the accepted format. 
Set By
The value is set in the Property Table. 
Used By
The property is used by the UI when displaying the size of files and the available space on different volumes.
Default Value
None.
Remarks
!!Additional notes!! 
#$+KPIDTemplate Property
	Property Summary	Msi Objects	Database Tables
This property contains the string used as a template for the PRODUCTID. For the syntax used in the template, see the MaskedEdit control type. Removal of this property indicates that the Product ID has been successfuly validated.
Set By
The value is initialy set in the Property Table. It is modified (removed) by the ValidateProductID method upon successful validation.
Used By
The property is used by the ValidateProductID method and the UI when displaying the Product ID.
Default Value
None.
Remarks
!!Additional notes!! 
#$+KCCPTrigger Property
	Property Summary	Msi Objects	Database Tables
If the PIDTemplate contains a "=" character indicating a special CCP digit, this digit is pulled from the Product ID upon validation and saved in this property.
Set By
The ValidateProductID method.
Used By
CCP???
Default Value
None.
Remarks
!!Additional notes!! 
#$+KLauncher Property
	Property Summary	Msi Objects	Database Tables
The path to the laucher when an installation in invoked using an Installer API call.
Set By
Installer API functions that take a launcher argument, pass it to the engine as this property.
Used By
Installer initialization to determine location of launcher resources.
Default Value
None.
#$+KProductCode Property
	Property Summary	Msi Objects	Database Tables
A unique identifier for the particular product release, represented as a string GUID, e.g. "{12345678-1234-1234-1234-123456789012}". This ID must differ for different versions and languages.
Set By
Authored into Property table. REQUIRED.
Used By
Advertised as a product property, as the primary method of specifying the product.
Default Value
None.
#$+KProductName Property
	Property Summary	Msi Objects	Database Tables
The ProductName property contains the human-readable name of the application being installed (e.g. Microsoft Office 97). This is only used for display purposes.
Set By
Authored into Property table. REQUIRED. May be changed by transform.
Used By
Advertised as a product property.
Default Value
None.
Remarks

#$+KProductVersion Property
	Property Summary	Msi Objects	Database Tables
The string format of the product version.
Set By
Authored into Property table. REQUIRED.
Used By
Advertised as a product property, as a numeric value
Default Value
None.
Remarks
Only the major and minor versions are used for the advertised property.
#$+KProductLanguage Property
	Property Summary	Msi Objects	Database Tables
The numeric language ID 
Set By
Authored into Property table. REQUIRED. May be changed by transform.
Used By
Advertised as a product property.
Default Value
None.
Remarks
The language in the summary information stream is to be set from this value.
#$+KManufacturer Property
	Property Summary	Msi Objects	Database Tables
The name of the manufacturer for the product.
Set By
Authored into Property table. REQUIRED.
Used By
Advertised as a product property.
Default Value
None.
#$+KDiskPrompt Property
	Property Summary	Msi Objects	Database Tables
The localized string displayed when prompting for CD. This should contain the text printed on the CD surface.
Set By
Authored into Property table. Required if a CD product.
Used By
Advertised as a product property. Displayed when CD not detected in any drive.
Default Value
None.
#$+KDiskSerial Property
	Property Summary	Msi Objects	Database Tables
The internal serial number for the CD for this particular product release.
Set By
Authored into Property table. Required if a CD product.
Used By
Advertised as a product property. Used to locate the CD in any drive.
Default Value
None.
#$+KSupportPhone Property
	Property Summary	Msi Objects	Database Tables
Technical support phone number(s).
Set By
Authored into Property table. Optional.
Used By
Available for display by product maintenance applet.
Default Value
None.
#$+KSupportURL Property
	Property Summary	Msi Objects	Database Tables
Internet address for technical support.
Set By
Authored into Property table. Optional.
Used By
Available for display by product maintenance applet.
Default Value
None.
#$+KComponentDownload Property
	Property Summary	Msi Objects	Database Tables
URL for downloading components by ID (string GUID).
Set By
Authored into Property table. Optional.
Used By
Installer uses this value to request a component when it is not possible to connect any product source (server or CD).
Default Value
None.
#$+KWindowsFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Windows folder. Set for Windows platforms.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table.
Default Value
None.
Remarks
Common values for this property are C:\Winnt (NT) and C:\Windows (Win95).
This folder will be local, even when configured for shared Windows.
#$+KSystemFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the System folder. Set for all platforms.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
Common values for this property are: C:\Winnt\System32 (NT 4.0) and C:\Windows\System\ (Win95).

Windows only:
This folder is normally a subfolder of the Windows folder. However, it will reside on a server when configured for shared Windows.
#$+KSystem16Folder Property
	Property Summary	Msi Objects	Database Tables
Full path to folder for 16-bit system DLLs. Set for NT 4.0 and above and Win95. Not set for NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None. 
Remarks
Common values for this property are C:\Winnt\System\ (NT 4.0) and C:\Windows\System\ (Win95).
#$+KProgramFilesFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Program Files folder. Set for all Windows platforms.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table.
Default Value
None.
Remarks
A common value for this property is C:\Program Files\.
#$+KCommonFilesFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Common Files folder for the current user. Set for all Windows platforms.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table.
Default Value
None.
Remarks
A common value for this property is C:\Program Files\Common Files\.
#$+KStartupFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Startup folder.  By default, this property is set to the folder for the current user.  If an "All Users" profile exists and the ALLUSERS property is set, than this property is set to the folder in the "All Users" profile. Set for NT 4.0 and above and Win95. Not set for NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table.
Default Value
None.
Remarks
Common values for this property are C:\Winnt\Profiles\[LogonUser]\Start Menu\Programs\Startup\ (NT 4.0) and C:\Windows\Start Menu\Programs\Startup\ (Win95).
#$+KTempFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Temp folder. Set for all platforms.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table.
Default Value
None.
Remarks
A common value for this property is C:\Temp\ (Windows).
#$+KStartMenuFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Start menu folder.  By default, this property is set to the folder for the current user.  If an "All Users" profile exists and the ALLUSERS property is set, than this property is set to the folder in the "All Users" profile. Set for NT 4.0 and above and Win95. Not set for NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table.
Default Value
None.
Remarks
Common values for this property are C:\Winnt\Profiles\[LogonUser]\Start Menu\ (NT 4.0) and C:\Windows\Start Menu\ (Win95).
#$+KPersonalFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Personal folder for the current user. Set for NT 4.0 and above and Win95. Not set for NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table.
Default Value
None.
Remarks
Common values for this property are C:\Winnt\Profiles\[LogonUser]\Personal\ (NT 4.0) and C:\My Documents\ (Win95).
#$+KAppDataFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Application Data folder for the current user. Set for NT 4.0 and above. Not set for NT 3.51 or Win95.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
A common value for this property is C:\Winnt\Profiles\[LogonUser]\Application Data\.
#$+KPrintHoodFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the PrintHood (Printer Neighborhood) folder for the current user. Set for NT 4.0 and above. Not set for NT 3.51 or Win95.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
A common value for this property is C:\Winnt\Profiles\[LogonUser]\PrintHood\.
#$+KFontsFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Fonts folder. Set for all platforms.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
A common value for this property is [WindowsFolder]\Fonts (Windows).
#$+KProgramMenuFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Program Menu folder.  By default, this property is set to the folder for the current user.  If an "All Users" profile exists and the ALLUSERS property is set, than this property is set to the folder in the "All Users" profile. Set for NT 4.0 and above and Win95. Not set for NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
Common values for this property are C:\Winnt\Profiles\[LogonUser]\Start Menu\Programs\ (NT 4.0) and C:\Windows\Start Menu\Programs\ (Win95).
#$+KDesktopFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Desktop folder.  By default, this property is set to the folder for the current user.  If an "All Users" profile exists and the ALLUSERS property is set, than this property is set to the folder in the "All Users" profile. Set for NT 4.0 and above and Win95. Not set for NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
Common values for this property are C:\Winnt\Profiles\[LogonUser]\Desktop\ (NT 4.0) and C:\Windows\Desktop\ (Win95).
#$+KTemplateFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Template folder for the current user. Set for NT 4.0 and above and Win95. Not set for NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
Common values for this property are C:\Winnt\Profiles\[LogonUser]\ShellNew\ (NT 4.0) and C:\Windows\ShellNew\ (Win95).
#$+KSendToFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the SendTo folder for the current user. Set for NT 4.0 and above and Win95. Not set for NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
Common values for this property are C:\Winnt\Profiles\[LogonUser]\SendTo\ (NT 4.0) and C:\Windows\SendTo\ (Win95).
#$+KNetHoodFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the NetHood (Network Neighborhood) folder for the current user. Set for NT 4.0 and above. Not set for NT 3.51 or Win95.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
A common value for this property is C:\Winnt\Profiles\[LogonUser]\NetHood\.
#$+KRecentFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Recent folder for the current user. Set for NT 4.0 and above.  Not set for Win95 or NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
A common value for this property is C:\Winnt\Profiles\[LogonUser]\Recent\.
#$+KFavoritesFolder Property
	Property Summary	Msi Objects	Database Tables
Full path to the Favorites folder for the current user. Set for NT 4.0 and above and Win95. Not set for NT 3.51.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and Directory table
Default Value
None.
Remarks
Common values for this property are C:\Winnt\Profiles\[LogonUser]\Favorites\ (NT 4.0) and C:\Windows\Favorites\ (Win95).
#$+KVersionNT Property
	Property Summary	Msi Objects	Database Tables
The version number for the Windows NT operating system, undefined if the operating system is not Windows NT. The value is an integer: MajorVersion * 100 + MinorVersion.
Set By
MsiServices at startup, read-only.
Used By
Operating system dependent actions and condition expressions.
Remarks
Condition expressions may test for WindowsNT simply by using the property name, or may verify the version using a comparison operator.
#$+KVersion95 Property
	Property Summary	Msi Objects	Database Tables
The version number for the Windows 95 operating system, undefined if the operating system is not Windows 95. The value is an integer: MajorVersion * 100 + MinorVersion.
Set By
MsiServices at startup, read-only.
Used By
Operating system dependent actions and condition expressions.
Remarks
Condition expressions may test for Windows95 simply by using the property name, or may verify the version using a comparison operator.
#$+KWindowsBuild Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
Set by Services component at initialization.
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KSharedWindows Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
Set by Services component at initialization.
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KComputerName Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
Set by Services component at initialization.
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KLogonUser Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
Set by Services component at initialization.
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KLanguageId Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
Set by Services component at initialization.
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KSHORTFILENAMES Property
	Property Summary	Msi Objects	Database Tables
Suppresses the use of long file names.
Set By
Set by services if the system does not support long file names.May also be set by the launcher or command line to disable long file names.
Used By
Actions and volume services.
Default Value
Undefined.
Remarks
Note: The SHORTFILENAMES property has no direct effect on MsiVolume or MsiPath objects at all.  MsiVolume objects support long filenames only if the volume itself intrinsically supports long names (and the active system software also supports them). MsiPath objects support long file names if the associated MsiVolume object supports them, UNLESS the appropriate flag to suppress long file names is specified when the MsiPath object is created.  However, the DirectoryManager does respect the SHORTFILENAMES property, i.e. it uses the state of this property to determine whether or not to create MsiPath objects with long names suppressed.
#$+KTRANSFORMS Property
	Property Summary	Msi Objects	Database Tables
A string containing a list of transforms to be applied to the database.
Set By
Launcher resource or command-line setting.
Used By
MsiEngine uses the value to transform the database
Default Value
Undefined.
Remarks
Transforms will be applied in the order they are listed in the string. To specify multiple transforms, separate each with a semi-colon (;).
Transforms can reside in three locations. The format for specifiying the transforms varies based on its location:

Location	 Format	
file	filename	
resource in launcher	@transformname	
child storage in database	:transformname	

Example
Suppose the following transforms need to be applied:

	trans1, located in a file in c:\transforms
	trans2, located in a resource
	trans3, located in a child storage of the database

The string would be: c:\transforms\trans1;@trans2;:trans3
#$+KModem Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
!!Who sets value?!!
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KSound Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
!!Who sets value?!!
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KNetwork Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
!!Who sets value?!!
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KLanguage Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
!!Who sets value?!!
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KIME Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
!!Who sets value?!!
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KBidirectional Property
	Property Summary	Msi Objects	Database Tables
This property is not yet set or used.
!!Desciption here.!!
Set By
!!Who sets value?!!
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KSecurity Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
!!Who sets value?!!
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KIntel Property
	Property Summary	Msi Objects	Database Tables
Defined only if running on an Intel processor. The value is the numeric processor level, i.e. 4 for 486, 5 for P5, 6 for P6, etc...
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
#$+KAlpha Property
	Property Summary	Msi Objects	Database Tables
Defined only if running on an Alpha processor. The value is the numeric processor level.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
#$+KPhysicalMemory Property
	Property Summary	Msi Objects	Database Tables
Size of installed RAM in Megabytes.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
Remarks

#$+KVirtualMemory Property
	Property Summary	Msi Objects	Database Tables
Amount of available page file space in Megabytes.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
Remarks

#$+KScreenX Property
	Property Summary	Msi Objects	Database Tables
Width, in pixels, of the screen.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
Remarks

#$+KScreenY Property
	Property Summary	Msi Objects	Database Tables
Height, in pixels, of the screen.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
Remarks

#$+KTextHeight Property
	Property Summary	Msi Objects	Database Tables
The height (ascent + descent) of characters, given in logical units. 
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
Remarks

#$+KCaptionHeight Property
	Property Summary	Msi Objects	Database Tables
Height, in pixels, of normal caption area.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
Remarks

#$+KBorderTop Property
	Property Summary	Msi Objects	Database Tables
The height, in pixels, of window borders.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
Remarks

#$+KBorderSide Property
	Property Summary	Msi Objects	Database Tables
The width, in pixels, of window borders.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
Remarks

#$+KColorBits Property
	Property Summary	Msi Objects	Database Tables
Number of adjacent color bits for each pixel.
Set By
MsiServices.SetPlatformProperties
Used By
Actions and condition expressions.
Default Value
None.
Remarks

#$+KTime Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
!!Who sets value?!!
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes!! 
#$+KSAMPLE Property
	Property Summary	Msi Objects	Database Tables
!!Desciption here.!!
Set By
!!Who sets value?!!
Used By
!!Who uses value?!!
Default Value
!!Default value (can be undefined)!!
Remarks
!!Additional notes go here, delete the following text!! When wrapping text lines, a space must be left after the last word.Replace occurrances of "SAMPLE" with the desired property name.