MSI.EnumComponentCosts

table MSI.EnumComponentCosts ( 

number hInstall,

string Component,

number DriveIndex,

number InstallState )

Description

Calls the MsiEnumComponentCosts function to enumerate the disk-space per drive required to install a component.

Note: This action should only be run after the installer has completed file costing and after the CostFinalize action.

Parameters

hInstall

(number) The handle to the install.

Note:  _hInstall is the default for this parameter. See Global Variables for more information.

Component

(string) A null-terminated string specifying the component's name as it is listed in the Component column of the Component table.

DriveIndex

(number) 0-based index for drives. This parameter should be zero for the first call to the MsiEnumComponentCosts function and then incremented for subsequent calls.

InstallState

(number) The requested component state to be enumerated. Choose from:

CONSTANT

VALUE

DESCRIPTION

INSTALLSTATE_NOTUSED

-7

component disabled

INSTALLSTATE_BADCONFIG

-6

configuration data corrupt

INSTALLSTATE_INCOMPLETE

-5

installation suspended or in progress

INSTALLSTATE_SOURCEABSENT

-4

run from source, source is unavailable

INSTALLSTATE_MOREDATA

-3

return buffer overflow

INSTALLSTATE_INVALIDARG

-2

invalid function argument

INSTALLSTATE_UNKNOWN

-1

unrecognized product or feature

INSTALLSTATE_BROKEN

0

broken

INSTALLSTATE_ADVERTISED

1

advertised feature

INSTALLSTATE_REMOVED

1

component being removed (action state, not settable)

INSTALLSTATE_ABSENT

2

uninstalled (or action state absent but clients remain)

INSTALLSTATE_LOCAL

3

installed on local drive

INSTALLSTATE_SOURCE

4

run from source, CD or net

INSTALLSTATE_DEFAULT

5

use default, local or source

Returns

(table)  A table indexed by the following keys or nil on error.

KEY

TYPE

DESCRIPTION

Drive

string

Drive name.

Cost

string

Cost of the component per drive expressed in multiples of 512 bytes.

TempCost

number

The component cost per drive for the duration of the installation, or 0 if an error occurred. The value in *piTempCost represents the temporary space requirements for the duration of the installation. This temporary space requirement is space needed only for the duration of the installation. This does not affect the final disk space requirement.

 

You can use Application.GetLastError to determine whether this action failed, and why.

See also:  Related Actions