The ReserveCost table is an optional table that allows the author to reserve an amount of disk space in any directory that depends on the installation state of a component.
The ReserveCost table has the following columns.
Primary key that uniquely identifies a ReserveCost table entry.
External key to column one of the Component table. Reserves a specified amount of space if this component is to be installed.
This column contains the name of a property that is the full path to the destination directory. This property name is typically the name of a directory in the Directory table or the name of a property set obtained using the Appsearch action. This adds the amount of disk space specified in ReserveLocal or ReserveSource to the volume cost of the device containing the directory.
The number of bytes of disk space to reserve if the linked component is installed to run locally.
The number of bytes of disk space to reserve if the linked component is installed to run from source.
Reserving cost in this way could be useful for authors who want to ensure that a minimum amount of disk space will be available after the installation is completed. For example, this disk space might be reserved for user documents or for application files (such as index files) that are created only after the application is started following installation.
You can use the ReserveCost table to enable custom actions to specify an approximate cost for any files, registry entries, or other items that the custom action might install. Custom actions that add entries to the ReserveCost table should be sequenced between the CostInitialize and FileCost actions. This is necessary for the FileCost action to correctly initialize the costing of all components affected by entries in the ReserveCost table.