#$KWhat Is The Summary Information Stream?
OLE supports the concept of structured storage accessible through the  IStream interface.  Stuctured storage, in turn, supports the concept of property sets as a flexible method for serializing almost any information.  The OLE specification defines a single standard property set, Summary Information, which the Windows 95 Shell uses to populate property sheets viewable from the Explorer.  So, information stored in the Summary Information stream can be viewed by users when they right mouse click on a Microsoft Installer installation database or transform and choose Properties.  The Microsoft Installer takes advantage of this fact by storing useful information in the Summary Information property set.  This set includes the following properties with corresponding Property IDs (PID) and data types:

Property Name	Property ID	PID	Type	Installer Usage	
Codepage	PID_CODEPAGE	1	VT_12	
Title	PID_TITLE	2	VT_LPSTR	File Type Description	
Subject	PID_SUBJECT	3	VT_LPSTR	Product Name	
Author	PID_AUTHOR	4	VT_LPSTR	Vendor	
Keywords	PID_KEYWORDS	5	VT_LPSTR	Help for User	
Comments	PID_COMMENTS	6	VT_LPSTR	Help for User	
Template	PID_TEMPLATE	7	VT_LPSTR	Platform, LangIDs	
Last Saved By	PID_LASTAUTHOR	8	VT_LPSTR	
Revision Number	PID_REVNUMBER	9	VT_LPSTR	Product Revision	
Last Printed	PID_LASTPRINTED	11	VT_FILETIME	
Create Time/Date	PID_CREATE_DTM	12	VT_FILETIME	Product Release Date	
Last Save Time/Date	PID_LASTSAVE_DTM	13	VT_FILETIME	Last Database Modification	
Page Count	PID_PAGECOUNT	14	VT_I4	Minimum Installer Version	
Word Count	PID_MSISOURCE	15	VT_I4	Install Source Type	
Character Count	PID_CHARCOUNT	16	VT_I4	Transform Restrictions	
Creating Application	PID_APPNAME	18	VT_LPSTR	"Microsoft Installer"	
Security	PID_SECURITY	19	VT_I4	Read-only Status	

The Microsoft Installer currently maintains two storage formats: a product specific Installation Database, and a language or version specific Transform. The CLSID for the storage is set to the appropriate format class for the particular format, independent of the Summary Information for the storage.
Values of summary properties for each of the file types are described in the following table (NOT UP TO DATE!):

Summary Property	Configuration Database	Installation Database	Transform	Title	[SummaryTitle] (e.g., "Configuration Database")	[SummaryTitle] (e.g., "Installation Database")	[SummaryTitle] (e.g., "Transform")	
Subject	[ProductName]	[ProductName]	[ProductName]	
Author	Microsoft Corporation	Microsoft Corporation	Microsoft Corporation	
Keywords 	[SummaryKeywords]	[SummaryKeywords]	[SummaryKeywords]	
Comments 	[SummaryComments] (e.g.,The Configuration Database contains information about all Microsoft Installer installed products such as PID, location of Installation Database, shared components, etc.)	[SummaryComments] (e.g., An Installation Database contains the logic and data required to install or modify the installation of a product on a user’s machine.)	[SummaryComments] (e.g., A Transform is a set of changes to be applied to an Installation Database prior to processing the database.  Transforms can be used for creating language version, upgrades, and the like.)	
Template 	NULL	platform;default language ID;other languageIDs	base platform;base language ID	
Last Saved By 	[USERNAME]	NULL	new platform;new language ID	
Revision Number 	NULL	Product code and version	Base product code and version;New product code and version	
Last Printed	NULL	Install time	NULL	
Create Time/Date 	Time & date the Configuration Database was created on a user’s machine.	Time & date stamped here at Microsoft before shipment	Time & date stamped here at Microsoft before shipment	
Last Saved Time/Date 	Time & date of the last time a modification was made.	NULL	NULL	
Number of Pages	MSI version	MSI version	MSI version	
Source Type	NULL	Type code	NULL	
Number of Characters	NULL	NULL	transform restrictions	
Creating Application 	"Microsoft Installer"	"Microsoft Installer"	"Microsoft Installer"	
Security	0 (none)	2 (read-only recomm.)	4 (read-only enforced)	

#$KAppName Summary Property

#$KCodepage Summary Property
The Codepage Summary Property identifies the codepage used to display the Summary Information. This property never changes.
#$KTitle Summary Property
The Title Summary Property is used to convey what the *.MSI file is, so the value for this summary property is either "Installation Database", "Transform", or "Configuration Database", and it never changes.
#$KSubject Summary Property
This summary property is used to convey to a file browser the product that can be installed using the logic and data in this installation database.  For example, the value of the summary property for Office 97 would be; "Microsoft Office 97 Professional". This value is typically set from the installer property ProductName.
#$KAuthor Summary Property
The Author Summary Property is used to convey to a file browser who initially created an installation database. This value is typically set from the installer property Manufacturer.
#$KKeywords Summary Property
This summary property is for use by file browsers to hold kewords that can permit the database file to be found in a keyword search. The set of keywords typically will include "Installer" as well as product-specific keywords, and may be localized..
#$KComments Summary Property
The Comments Summary Property is used to convey the general purpose of the installation database.  By default the value for this summary property is set to the following:
	"This installation database contains the logic and data
	required to install <product name>."
where <product name> is the name of the product being installed (e.g., "Microsoft Office 97 Professional").  In general the value for this summary property only changes in the product name, nothing else.  But for localization reasons and to allow the modification of this summary property, the Microsoft
#$KTemplate Summary Property
The Template Summary Property is somewhat overloaded.  Since there is no notion of a template in the Microsoft Installer this summary property could be left blank.  However, a location is required for the platform and  language version(s) supported by an installation database.  The Template  summary property is used for this purpose.  In all database types this property has the same form.  The value is a list of the platform supported by this database (e.g., "Intel"), and the language ID (e.g. "1033" for US English) of all languages that are supported by this database.  The list is delimited by semi-colons.  For example, a database for the Intel platform that supports U.S. English, Farsi, and  Byelorussian would have this property set to:
	"Intel;1033;1065;1059"
There are variations of this property depending on whether it is in a source  installation database, maintenance database, transform, or configuration  database.
Source Installation Database
In a source installation database any number of languages may be specified.  If more than one language is specified then a multi-language install will be done.  Listing only one language specifies a single-langage install.
Maintenance Database
In a maintenance database only one language will be specified.  This is the language of the installed product.
Transform
In a transform file only one language may be specified.  The specified platform and language are used, in combination with the transform restrictions, to determine whether a this transform can be applied to a  particular database.  Either or both of these properties may be left blank if no transform restriction relies on them to validate the transform.
Configuration Database
This property is NULL in a configuration database.
#$KLast Saved By Summary Property
In an installation database the Last Saved By Summary Property is used to keep track of who made the last changes to the database. Initially the value for this summary property is set to NULL. However, should a user choose to make modifications to an installation the value for this summary property changes.  The value is set to the value of the USERNAME property defined by the Microsoft Installer.
Transform
In a transform this property is used for a different purpose. It contains the platform and language ID(s) that a database should have after it has been transformed. In other words, it specifies what the Template property should be set to in the new database. See the description of the  Template property for information about the form of this property.
Configuration Database
This property is NULL in a configuration database.
#$KRevision Number Summary Property
The Revision Number Summary Property contains the product ID and version. The product ID is a GUID code representing a product. The version is stored in a string with the format "Maj.Min.Inc.Build". For example, Word 6.0 Build 3280 could be stored as:
	"{000C1101-0000-0000-C000-000000000046}7.0.0.3280"
Transform
In a transform the product ID and version of both the original and transformed database are stored. They are separated with a semi-colon. For example, a transform that transforms a database from Office Pro 7.0 to Office Standard 7.0 could have this property set to:
	"{000C1101-0000-0000-C000-000000000046}7.0.0.0;{000C1101-0000-0000-C000-000000000047}7.0.0.0"
Configuration Database
This property is NULL is a configuration database. 
#$KLast Printed Property
The Last Printed property is used to convey when the installation occurred (i.e. when the maintenance database was created). Thus, it is NULL in all databases except the maintenance database.
#$KCreate Time/Date Summary Property
The Create Time/Date Summary Property is used to convey when the installation database was created.  This property is set at Microsoft as part of the authoring process and never changes.
#$KLast Saved Time/Date Summary Property
The Last Saved Time/Date Summary Property is used to convey when the last time the installation database was modified.  Each time a user changes an installation the value for this summary property is updated to the current system time/date at the time the installation database was saved.  Initially the value for this summary property is set to NULL to indicate that no changes have yet been made.
#$KPage Count Summary Property
The Page Count Summary Property contains the minimum Darwin version reequired. It is stored as an integer in the form: Major * 100 + minor.
#$KCharacter Count Summary Property
The Character Count Summary Property is only used in transforms. The upper word contains the transform validation flags. The lower word contains the transform error condition flags. !! more to be filled in here when implemented
#$KCreating Application Summary Property
The Creating Application Summary Property is used to convey what application created the installation database.  In general the value for this summary property is "Microsoft Installer".  However, over time corporate customers and/or OEMs may use other tools, via OLE Automation, to create installation databases.
#$KSecurity Summary Property
The Security Summary Property is used to convey whether the file should be opened read-only or read-write. Possible values are:
	0	No restriction
	2	Read-only recommended
	4	Read-only enforced
#$KMSI Source Type Summary Property
The MSI Source Type Summary Property is used to indicate the type of source file image. If this property is not present, it defaults to 0. The location of the image is determined by the SOURCEFILE property, which defaults to the location of the launcher. Note that this property is stored in place of the standard Count property.
	0	Tree image matching the Directory table, long file names.
	1	Tree image matching the Directory table, short file names.
	2	Cabinet and files matching the Media table, long file names.
	3	Cabinet and files matching the Media table, short file names.