📄 msi.h
字号:
LPCWSTR szLogFile, // log file, or NULL to disable logging
DWORD dwLogAttributes); // INSTALLLOGATTRIBUTES flags
#ifdef UNICODE
#define MsiEnableLog MsiEnableLogW
#else
#define MsiEnableLog MsiEnableLogA
#endif // !UNICODE
// --------------------------------------------------------------------------
// Functions to query and configure a product as a whole.
// A component descriptor string may be used instead of the product code.
// --------------------------------------------------------------------------
// Return the installed state for a product
INSTALLSTATE WINAPI MsiQueryProductStateA(
LPCSTR szProduct);
INSTALLSTATE WINAPI MsiQueryProductStateW(
LPCWSTR szProduct);
#ifdef UNICODE
#define MsiQueryProductState MsiQueryProductStateW
#else
#define MsiQueryProductState MsiQueryProductStateA
#endif // !UNICODE
// Return product info
UINT WINAPI MsiGetProductInfoA(
LPCSTR szProduct, // product code, string GUID, or descriptor
LPCSTR szAttribute, // attribute name, case-sensitive
LPSTR lpValueBuf, // returned value, NULL if not desired
DWORD *pcchValueBuf); // in/out buffer character count
UINT WINAPI MsiGetProductInfoW(
LPCWSTR szProduct, // product code, string GUID, or descriptor
LPCWSTR szAttribute, // attribute name, case-sensitive
LPWSTR lpValueBuf, // returned value, NULL if not desired
DWORD *pcchValueBuf); // in/out buffer character count
#ifdef UNICODE
#define MsiGetProductInfo MsiGetProductInfoW
#else
#define MsiGetProductInfo MsiGetProductInfoA
#endif // !UNICODE
// Install a new product.
// Either may be NULL, but the DATABASE property must be specfied
UINT WINAPI MsiInstallProductA(
LPCSTR szPackagePath, // location of package to install
LPCSTR szCommandLine); // command line <property settings>
UINT WINAPI MsiInstallProductW(
LPCWSTR szPackagePath, // location of package to install
LPCWSTR szCommandLine); // command line <property settings>
#ifdef UNICODE
#define MsiInstallProduct MsiInstallProductW
#else
#define MsiInstallProduct MsiInstallProductA
#endif // !UNICODE
// Install/uninstall an advertised or installed product
// No action if installed and INSTALLSTATE_DEFAULT specified
UINT WINAPI MsiConfigureProductA(
LPCSTR szProduct, // product code OR descriptor
int iInstallLevel, // how much of the product to install
INSTALLSTATE eInstallState); // local/source/default/absent/lock/uncache
UINT WINAPI MsiConfigureProductW(
LPCWSTR szProduct, // product code OR descriptor
int iInstallLevel, // how much of the product to install
INSTALLSTATE eInstallState); // local/source/default/absent/lock/uncache
#ifdef UNICODE
#define MsiConfigureProduct MsiConfigureProductW
#else
#define MsiConfigureProduct MsiConfigureProductA
#endif // !UNICODE
// Install/uninstall an advertised or installed product
// No action if installed and INSTALLSTATE_DEFAULT specified
UINT WINAPI MsiConfigureProductExA(
LPCSTR szProduct, // product code OR descriptor
int iInstallLevel, // how much of the product to install
INSTALLSTATE eInstallState, // local/source/default/absent/lock/uncache
LPCSTR szCommandLine); // command line <property settings>
UINT WINAPI MsiConfigureProductExW(
LPCWSTR szProduct, // product code OR descriptor
int iInstallLevel, // how much of the product to install
INSTALLSTATE eInstallState, // local/source/default/absent/lock/uncache
LPCWSTR szCommandLine); // command line <property settings>
#ifdef UNICODE
#define MsiConfigureProductEx MsiConfigureProductExW
#else
#define MsiConfigureProductEx MsiConfigureProductExA
#endif // !UNICODE
// Reinstall product, used to validate or correct problems
UINT WINAPI MsiReinstallProductA(
LPCSTR szProduct, // product code OR descriptor
DWORD szReinstallMode); // one or more REINSTALLMODE modes
UINT WINAPI MsiReinstallProductW(
LPCWSTR szProduct, // product code OR descriptor
DWORD szReinstallMode); // one or more REINSTALLMODE modes
#ifdef UNICODE
#define MsiReinstallProduct MsiReinstallProductW
#else
#define MsiReinstallProduct MsiReinstallProductA
#endif // !UNICODE
// Return the product code for a registered component, called once by apps
UINT WINAPI MsiGetProductCodeA(
LPCSTR szComponent, // component Id registered for this product
LPSTR lpBuf39); // returned string GUID, sized for 39 characters
UINT WINAPI MsiGetProductCodeW(
LPCWSTR szComponent, // component Id registered for this product
LPWSTR lpBuf39); // returned string GUID, sized for 39 characters
#ifdef UNICODE
#define MsiGetProductCode MsiGetProductCodeW
#else
#define MsiGetProductCode MsiGetProductCodeA
#endif // !UNICODE
// Return the registered user information for an installed product
USERINFOSTATE WINAPI MsiGetUserInfoA(
LPCSTR szProduct, // product code, string GUID
LPSTR lpUserNameBuf, // return user name
DWORD *pcchUserNameBuf, // in/out buffer character count
LPSTR lpOrgNameBuf, // return company name
DWORD *pcchOrgNameBuf, // in/out buffer character count
LPSTR lpSerialBuf, // return product serial number
DWORD *pcchSerialBuf); // in/out buffer character count
USERINFOSTATE WINAPI MsiGetUserInfoW(
LPCWSTR szProduct, // product code, string GUID
LPWSTR lpUserNameBuf, // return user name
DWORD *pcchUserNameBuf, // in/out buffer character count
LPWSTR lpOrgNameBuf, // return company name
DWORD *pcchOrgNameBuf, // in/out buffer character count
LPWSTR lpSerialBuf, // return product serial number
DWORD *pcchSerialBuf); // in/out buffer character count
#ifdef UNICODE
#define MsiGetUserInfo MsiGetUserInfoW
#else
#define MsiGetUserInfo MsiGetUserInfoA
#endif // !UNICODE
// Obtain and store user info and PID from installation wizard (first run)
UINT WINAPI MsiCollectUserInfoA(
LPCSTR szProduct); // product code, string GUID
UINT WINAPI MsiCollectUserInfoW(
LPCWSTR szProduct); // product code, string GUID
#ifdef UNICODE
#define MsiCollectUserInfo MsiCollectUserInfoW
#else
#define MsiCollectUserInfo MsiCollectUserInfoA
#endif // !UNICODE
// --------------------------------------------------------------------------
// Functions to patch existing products
// --------------------------------------------------------------------------
// Patch all possible installed products.
UINT WINAPI MsiApplyPatchA(
LPCSTR szPatchPackage, // location of patch package
LPCSTR szInstallPackage, // location of package for install to patch <optional>
INSTALLTYPE eInstallType, // type of install to patch
LPCSTR szCommandLine); // command line <property settings>
UINT WINAPI MsiApplyPatchW(
LPCWSTR szPatchPackage, // location of patch package
LPCWSTR szInstallPackage, // location of package for install to patch <optional>
INSTALLTYPE eInstallType, // type of install to patch
LPCWSTR szCommandLine); // command line <property settings>
#ifdef UNICODE
#define MsiApplyPatch MsiApplyPatchW
#else
#define MsiApplyPatch MsiApplyPatchA
#endif // !UNICODE
// Return patch info
UINT WINAPI MsiGetPatchInfoA(
LPCSTR szPatch, // patch code
LPCSTR szAttribute, // attribute name, case-sensitive
LPSTR lpValueBuf, // returned value, NULL if not desired
DWORD *pcchValueBuf); // in/out buffer character count
UINT WINAPI MsiGetPatchInfoW(
LPCWSTR szPatch, // patch code
LPCWSTR szAttribute, // attribute name, case-sensitive
LPWSTR lpValueBuf, // returned value, NULL if not desired
DWORD *pcchValueBuf); // in/out buffer character count
#ifdef UNICODE
#define MsiGetPatchInfo MsiGetPatchInfoW
#else
#define MsiGetPatchInfo MsiGetPatchInfoA
#endif // !UNICODE
// Enumerate all patches for a product
UINT WINAPI MsiEnumPatchesA(
LPCSTR szProduct,
DWORD iPatchIndex,
LPSTR lpPatchBuf,
LPSTR lpTransformsBuf,
DWORD *pcchTransformsBuf);
UINT WINAPI MsiEnumPatchesW(
LPCWSTR szProduct,
DWORD iPatchIndex,
LPWSTR lpPatchBuf,
LPWSTR lpTransformsBuf,
DWORD *pcchTransformsBuf);
#ifdef UNICODE
#define MsiEnumPatches MsiEnumPatchesW
#else
#define MsiEnumPatches MsiEnumPatchesA
#endif // !UNICODE
// --------------------------------------------------------------------------
// Functions to query and configure a feature within a product.
// Separate wrapper functions are provided that accept a descriptor string.
// --------------------------------------------------------------------------
// Return the installed state for a product feature
INSTALLSTATE WINAPI MsiQueryFeatureStateA(
LPCSTR szProduct,
LPCSTR szFeature);
INSTALLSTATE WINAPI MsiQueryFeatureStateW(
LPCWSTR szProduct,
LPCWSTR szFeature);
#ifdef UNICODE
#define MsiQueryFeatureState MsiQueryFeatureStateW
#else
#define MsiQueryFeatureState MsiQueryFeatureStateA
#endif // !UNICODE
// Indicate intent to use a product feature, increments usage count
// Prompts for CD if not loaded, does not install feature
INSTALLSTATE WINAPI MsiUseFeatureA(
LPCSTR szProduct,
LPCSTR szFeature);
INSTALLSTATE WINAPI MsiUseFeatureW(
LPCWSTR szProduct,
LPCWSTR szFeature);
#ifdef UNICODE
#define MsiUseFeature MsiUseFeatureW
#else
#define MsiUseFeature MsiUseFeatureA
#endif // !UNICODE
// Indicate intent to use a product feature, increments usage count
// Prompts for CD if not loaded, does not install feature
// Allows for bypassing component detection where performance is critical
INSTALLSTATE WINAPI MsiUseFeatureExA(
LPCSTR szProduct, // product code
LPCSTR szFeature, // feature ID
DWORD dwInstallMode, // INSTALLMODE_NODETECTION, else 0
DWORD dwReserved); // reserved, must be 0
INSTALLSTATE WINAPI MsiUseFeatureExW(
LPCWSTR szProduct, // product code
LPCWSTR szFeature, // feature ID
DWORD dwInstallMode, // INSTALLMODE_NODETECTION, else 0
DWORD dwReserved); // reserved, must be 0
#ifdef UNICODE
#define MsiUseFeatureEx MsiUseFeatureExW
#else
#define MsiUseFeatureEx MsiUseFeatureExA
#endif // !UNICODE
// Return the usage metrics for a product feature
UINT WINAPI MsiGetFeatureUsageA(
LPCSTR szProduct, // product code
LPCSTR szFeature, // feature ID
DWORD *pdwUseCount, // returned use count
WORD *pwDateUsed); // last date used (DOS date format)
UINT WINAPI MsiGetFeatureUsageW(
LPCWSTR szProduct, // product code
LPCWSTR szFeature, // feature ID
DWORD *pdwUseCount, // returned use count
WORD *pwDateUsed); // last date used (DOS date format)
#ifdef UNICODE
#define MsiGetFeatureUsage MsiGetFeatureUsageW
#else
#define MsiGetFeatureUsage MsiGetFeatureUsageA
#endif // !UNICODE
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -