📄 msiquery.h
字号:
#ifdef UNICODE
#define MsiGetProperty MsiGetPropertyW
#else
#define MsiGetProperty MsiGetPropertyA
#endif // !UNICODE
// Return the numeric language for the currently running install
// Returns 0 if an install not running
LANGID WINAPI MsiGetLanguage(MSIHANDLE hInstall);
// Return one of the boolean internal installer states
// Returns FALSE if the handle is not active or if the mode is not implemented
BOOL WINAPI MsiGetMode(MSIHANDLE hInstall,
MSIRUNMODE eRunMode); // particular mode for which the state is returned
// Set an internal install session boolean mode - Note: most modes are read-only
// Returns ERROR_SUCCESS if the mode can be set to the desired state
// Returns ERROR_ACCESS_DENIED if the mode is not settable
// Returns ERROR_INVALID_HANDLE if the handle is not an active install session
UINT WINAPI MsiSetMode(MSIHANDLE hInstall,
MSIRUNMODE eRunMode, // particular mode for which state is to be set
BOOL fState); // new state for bit flag
// Format record data using a format string containing field markers and/or properties
// Record field 0 must contain the format string
// Other fields must contain data that may be referenced by the format string.
UINT WINAPI MsiFormatRecordA(MSIHANDLE hInstall,
MSIHANDLE hRecord, // handle to record, field 0 contains format string
LPSTR szResultBuf, // buffer to return formatted string
DWORD *pcchResultBuf); // in/out buffer character count
UINT WINAPI MsiFormatRecordW(MSIHANDLE hInstall,
MSIHANDLE hRecord, // handle to record, field 0 contains format string
LPWSTR szResultBuf, // buffer to return formatted string
DWORD *pcchResultBuf); // in/out buffer character count
#ifdef UNICODE
#define MsiFormatRecord MsiFormatRecordW
#else
#define MsiFormatRecord MsiFormatRecordA
#endif // !UNICODE
// Execute another action, either built-in, custom, or UI wizard
// Returns ERROR_FUNCTION_NOT_CALLED if action not found
// Returns ERROR_SUCCESS if action completed succesfully
// Returns ERROR_INSTALL_USEREXIT if user cancelled during action
// Returns ERROR_INSTALL_FAILURE if action failed
// Returns ERROR_INSTALL_SUSPEND if user suspended installation
// Returns ERROR_MORE_DATA if action wishes to skip remaining actions
// Returns ERROR_INVALID_HANDLE_STATE if install session not active
// Returns ERROR_INVALID_DATA if failure calling custom action
// Returns ERROR_INVALID_HANDLE or ERROR_INVALID_PARAMETER if arguments invalid
UINT WINAPI MsiDoActionA(MSIHANDLE hInstall,
LPCSTR szAction); // name of action to call, case-sensitive
UINT WINAPI MsiDoActionW(MSIHANDLE hInstall,
LPCWSTR szAction); // name of action to call, case-sensitive
#ifdef UNICODE
#define MsiDoAction MsiDoActionW
#else
#define MsiDoAction MsiDoActionA
#endif // !UNICODE
// Execute another action sequence, as descibed in the specified table
// Returns the same error codes as MsiDoAction
UINT WINAPI MsiSequenceA(MSIHANDLE hInstall,
LPCSTR szTable, // name of table containing action sequence
INT iSequenceMode); // reserved, must be 0
UINT WINAPI MsiSequenceW(MSIHANDLE hInstall,
LPCWSTR szTable, // name of table containing action sequence
INT iSequenceMode); // reserved, must be 0
#ifdef UNICODE
#define MsiSequence MsiSequenceW
#else
#define MsiSequence MsiSequenceA
#endif // !UNICODE
// Send an error record to the installer for processing.
// If field 0 (template) is not set, field 1 must be set to the error code,
// corresponding the the error message in the Error database table,
// and the message will be formatted using the template from the Error table
// before passing it to the UI handler for display.
// Returns Win32 button codes: IDOK IDCANCEL IDABORT IDRETRY IDIGNORE IDYES IDNO
// or 0 if no action taken, or -1 if invalid argument or handle
int WINAPI MsiProcessMessage(MSIHANDLE hInstall,
MSIMESSAGE eMessageType, // type of message
MSIHANDLE hRecord); // record containing message format and data
// Evaluate a conditional expression containing property names and values
MSICONDITION WINAPI MsiEvaluateConditionA(MSIHANDLE hInstall,
LPCSTR szCondition);
MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE hInstall,
LPCWSTR szCondition);
#ifdef UNICODE
#define MsiEvaluateCondition MsiEvaluateConditionW
#else
#define MsiEvaluateCondition MsiEvaluateConditionA
#endif // !UNICODE
// Get the installed state and requested action state of a feature
UINT WINAPI MsiGetFeatureStateA(MSIHANDLE hInstall,
LPCSTR szFeature, // feature name within product
INSTALLSTATE *piInstalled, // returned current install state
INSTALLSTATE *piAction); // action taken during install session
UINT WINAPI MsiGetFeatureStateW(MSIHANDLE hInstall,
LPCWSTR szFeature, // feature name within product
INSTALLSTATE *piInstalled, // returned current install state
INSTALLSTATE *piAction); // action taken during install session
#ifdef UNICODE
#define MsiGetFeatureState MsiGetFeatureStateW
#else
#define MsiGetFeatureState MsiGetFeatureStateA
#endif // !UNICODE
// Request a feature to be set to a specified state
UINT WINAPI MsiSetFeatureStateA(MSIHANDLE hInstall,
LPCSTR szFeature, // feature name within product
INSTALLSTATE iState); // requested state for feature
UINT WINAPI MsiSetFeatureStateW(MSIHANDLE hInstall,
LPCWSTR szFeature, // feature name within product
INSTALLSTATE iState); // requested state for feature
#ifdef UNICODE
#define MsiSetFeatureState MsiSetFeatureStateW
#else
#define MsiSetFeatureState MsiSetFeatureStateA
#endif // !UNICODE
// Get the installed state and requested action state of a component
UINT WINAPI MsiGetComponentStateA(MSIHANDLE hInstall,
LPCSTR szComponent, // component name within product
INSTALLSTATE *piInstalled, // returned current install state
INSTALLSTATE *piAction); // action taken during install session
UINT WINAPI MsiGetComponentStateW(MSIHANDLE hInstall,
LPCWSTR szComponent, // component name within product
INSTALLSTATE *piInstalled, // returned current install state
INSTALLSTATE *piAction); // action taken during install session
#ifdef UNICODE
#define MsiGetComponentState MsiGetComponentStateW
#else
#define MsiGetComponentState MsiGetComponentStateA
#endif // !UNICODE
// Request a component to be set to a specified state
UINT WINAPI MsiSetComponentStateA(MSIHANDLE hInstall,
LPCSTR szComponent, // component name within product
INSTALLSTATE iState); // requested state for component
UINT WINAPI MsiSetComponentStateW(MSIHANDLE hInstall,
LPCWSTR szComponent, // component name within product
INSTALLSTATE iState); // requested state for component
#ifdef UNICODE
#define MsiSetComponentState MsiSetComponentStateW
#else
#define MsiSetComponentState MsiSetComponentStateA
#endif // !UNICODE
// Return the disk cost for a feature and related features
// Can specify either current feature state or proposed state
// Can specify extent of related features to cost
// Note that adding costs for several features may produce an
// excessively large cost due to shared components and parents.
UINT WINAPI MsiGetFeatureCostA(MSIHANDLE hInstall,
LPCSTR szFeature, // name of feature
MSICOSTTREE iCostTree, // portion of tree to cost
INSTALLSTATE iState, // requested state, or INSTALLSTATE_UNKNOWN
INT *piCost); // returned cost, in units of 512 bytes
UINT WINAPI MsiGetFeatureCostW(MSIHANDLE hInstall,
LPCWSTR szFeature, // name of feature
MSICOSTTREE iCostTree, // portion of tree to cost
INSTALLSTATE iState, // requested state, or INSTALLSTATE_UNKNOWN
INT *piCost); // returned cost, in units of 512 bytes
#ifdef UNICODE
#define MsiGetFeatureCost MsiGetFeatureCostW
#else
#define MsiGetFeatureCost MsiGetFeatureCostA
#endif // !UNICODE
// Set the install level for a full product installation (not a feature request)
// Setting the value to 0 initialized components and features to the default level
UINT WINAPI MsiSetInstallLevel(MSIHANDLE hInstall,
int iInstallLevel);
// Get the valid install states for a feature
// Returns INSTALLSTATE_DEFAULT if both INSTALLSTATE_LOCAL, INSTALLSTATE_SOURCE
UINT WINAPI MsiGetFeatureValidStatesA(MSIHANDLE hInstall,
LPCSTR szFeature,
INSTALLSTATE *pInstallState);
UINT WINAPI MsiGetFeatureValidStatesW(MSIHANDLE hInstall,
LPCWSTR szFeature,
INSTALLSTATE *pInstallState);
#ifdef UNICODE
#define MsiGetFeatureValidStates MsiGetFeatureValidStatesW
#else
#define MsiGetFeatureValidStates MsiGetFeatureValidStatesA
#endif // !UNICODE
// Return the full source path for a folder in the Directory table
UINT WINAPI MsiGetSourcePathA(MSIHANDLE hInstall,
LPCSTR szFolder, // folder identifier, primary key into Directory table
LPSTR szPathBuf, // buffer to return full path
DWORD *pcchPathBuf); // in/out buffer character count
UINT WINAPI MsiGetSourcePathW(MSIHANDLE hInstall,
LPCWSTR szFolder, // folder identifier, primary key into Directory table
LPWSTR szPathBuf, // buffer to return full path
DWORD *pcchPathBuf); // in/out buffer character count
#ifdef UNICODE
#define MsiGetSourcePath MsiGetSourcePathW
#else
#define MsiGetSourcePath MsiGetSourcePathA
#endif // !UNICODE
// Return the full target path for a folder in the Directory table
UINT WINAPI MsiGetTargetPathA(MSIHANDLE hInstall,
LPCSTR szFolder, // folder identifier, primary key into Directory table
LPSTR szPathBuf, // buffer to return full path
DWORD *pcchPathBuf); // in/out buffer character count
UINT WINAPI MsiGetTargetPathW(MSIHANDLE hInstall,
LPCWSTR szFolder, // folder identifier, primary key into Directory table
LPWSTR szPathBuf, // buffer to return full path
DWORD *pcchPathBuf); // in/out buffer character count
#ifdef UNICODE
#define MsiGetTargetPath MsiGetTargetPathW
#else
#define MsiGetTargetPath MsiGetTargetPathA
#endif // !UNICODE
// Set the full target path for a folder in the Directory table
UINT WINAPI MsiSetTargetPathA(MSIHANDLE hInstall,
LPCSTR szFolder, // folder identifier, primary key into Directory table
LPCSTR szFolderPath); // full path for folder, ending in directory separator
UINT WINAPI MsiSetTargetPathW(MSIHANDLE hInstall,
LPCWSTR szFolder, // folder identifier, primary key into Directory table
LPCWSTR szFolderPath); // full path for folder, ending in directory separator
#ifdef UNICODE
#define MsiSetTargetPath MsiSetTargetPathW
#else
#define MsiSetTargetPath MsiSetTargetPathA
#endif // !UNICODE
// --------------------------------------------------------------------------
// Functions for rendering UI dialogs from the database representations.
// Purpose is for product development, not for use during installation.
// --------------------------------------------------------------------------
// Enable UI in preview mode to facilitate authoring of UI dialogs.
// The preview mode will end when the handle is closed.
UINT WINAPI MsiEnableUIPreview(MSIHANDLE hDatabase,
MSIHANDLE* phPreview); // returned handle for UI preview capability
// Display any UI dialog as modeless and inactive.
// Supplying a null name will remove any current dialog.
UINT WINAPI MsiPreviewDialogA(MSIHANDLE hPreview,
LPCSTR szDialogName); // dialog to display, Dialog table key
UINT WINAPI MsiPreviewDialogW(MSIHANDLE hPreview,
LPCWSTR szDialogName); // dialog to display, Dialog table key
#ifdef UNICODE
#define MsiPreviewDialog MsiPreviewDialogW
#else
#define MsiPreviewDialog MsiPreviewDialogA
#endif // !UNICODE
// Display a billboard within a host control in the displayed dialog.
// Supplying a null billboard name will remove any billboard displayed.
UINT WINAPI MsiPreviewBillboardA(MSIHANDLE hPreview,
LPCSTR szControlName, // name of control that accepts billboards
LPCSTR szBillboard); // name of billboard to display
UINT WINAPI MsiPreviewBillboardW(MSIHANDLE hPreview,
LPCWSTR szControlName, // name of control that accepts billboards
LPCWSTR szBillboard); // name of billboard to display
#ifdef UNICODE
#define MsiPreviewBillboard MsiPreviewBillboardW
#else
#define MsiPreviewBillboard MsiPreviewBillboardA
#endif // !UNICODE
#ifdef __cplusplus
}
#endif
#endif // _MSIQUERY_H_
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -