| msi.h (4.5.6002.18005-Windows 6.0) | | msi.h (5.0.7601.18896-Windows 7.0) |
| | |
| skipping to change at line 30 | | skipping to change at line 30 |
| #endif | | #endif |
| #ifndef NTDDI_WINXP | | #ifndef NTDDI_WINXP |
| #define NTDDI_WINXP 0x05010000 | | #define NTDDI_WINXP 0x05010000 |
| #endif | | #endif |
| #ifndef NTDDI_WINXPSP2 | | #ifndef NTDDI_WINXPSP2 |
| #define NTDDI_WINXPSP2 0x05010200 | | #define NTDDI_WINXPSP2 0x05010200 |
| #endif | | #endif |
| #ifndef NTDDI_WS03SP1 | | #ifndef NTDDI_WS03SP1 |
| #define NTDDI_WS03SP1 0x05020100 | | #define NTDDI_WS03SP1 0x05020100 |
| #endif | | #endif |
|
| #ifndef NTDDI_LONGHORN | | #ifndef NTDDI_VISTA |
| #define NTDDI_LONGHORN 0x06000000 | | #define NTDDI_VISTA 0x06000000 |
| | #endif |
| | #ifndef NTDDI_VISTASP1 |
| | #define NTDDI_VISTASP1 0x06000100 |
| | #endif |
| | #ifndef NTDDI_WIN7 |
| | #define NTDDI_WIN7 0x06010000 |
| #endif | | #endif |
| | |
| #ifndef _WIN32_MSI | | #ifndef _WIN32_MSI |
|
| #if (_WIN32_WINNT >= 0x0501 || (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI | | #if (_WIN32_WINNT >= 0x0601 || (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI |
| _WINXP)) | | _WIN7)) |
| #if (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_LONGHORN) | | #define _WIN32_MSI 500 |
| | #elif (_WIN32_WINNT >= 0x0501 || (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTD |
| | DI_WINXP)) |
| | #if (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_VISTASP1) |
| | #define _WIN32_MSI 450 |
| | #elif (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_VISTA) |
| #define _WIN32_MSI 400 | | #define _WIN32_MSI 400 |
| #elif (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WS03SP1) | | #elif (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WS03SP1) |
| #define _WIN32_MSI 310 | | #define _WIN32_MSI 310 |
| #elif (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WINXPSP2) | | #elif (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTDDI_WINXPSP2) |
| #define _WIN32_MSI 300 | | #define _WIN32_MSI 300 |
| #else | | #else |
| #define _WIN32_MSI 200 | | #define _WIN32_MSI 200 |
| #endif | | #endif |
| #elif (_WIN32_WINNT >= 0x0500 || (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTD
DI_WIN2K)) | | #elif (_WIN32_WINNT >= 0x0500 || (defined(NTDDI_VERSION) && NTDDI_VERSION >= NTD
DI_WIN2K)) |
| #define _WIN32_MSI 110 | | #define _WIN32_MSI 110 |
| | |
| skipping to change at line 127 | | skipping to change at line 137 |
| INSTALLMESSAGE_FILESINUSE = 0x05000000L, // list of files in use that
need to be replaced | | INSTALLMESSAGE_FILESINUSE = 0x05000000L, // list of files in use that
need to be replaced |
| INSTALLMESSAGE_RESOLVESOURCE = 0x06000000L, // request to determine a va
lid source location | | INSTALLMESSAGE_RESOLVESOURCE = 0x06000000L, // request to determine a va
lid source location |
| INSTALLMESSAGE_OUTOFDISKSPACE = 0x07000000L, // insufficient disk space m
essage | | INSTALLMESSAGE_OUTOFDISKSPACE = 0x07000000L, // insufficient disk space m
essage |
| INSTALLMESSAGE_ACTIONSTART = 0x08000000L, // start of action: action n
ame & description | | INSTALLMESSAGE_ACTIONSTART = 0x08000000L, // start of action: action n
ame & description |
| INSTALLMESSAGE_ACTIONDATA = 0x09000000L, // formatted data associated
with individual action item | | INSTALLMESSAGE_ACTIONDATA = 0x09000000L, // formatted data associated
with individual action item |
| INSTALLMESSAGE_PROGRESS = 0x0A000000L, // progress gauge info: unit
s so far, total | | INSTALLMESSAGE_PROGRESS = 0x0A000000L, // progress gauge info: unit
s so far, total |
| INSTALLMESSAGE_COMMONDATA = 0x0B000000L, // product info for dialog:
language Id, dialog caption | | INSTALLMESSAGE_COMMONDATA = 0x0B000000L, // product info for dialog:
language Id, dialog caption |
| INSTALLMESSAGE_INITIALIZE = 0x0C000000L, // sent prior to UI initiali
zation, no string data | | INSTALLMESSAGE_INITIALIZE = 0x0C000000L, // sent prior to UI initiali
zation, no string data |
| INSTALLMESSAGE_TERMINATE = 0x0D000000L, // sent after UI termination
, no string data | | INSTALLMESSAGE_TERMINATE = 0x0D000000L, // sent after UI termination
, no string data |
| INSTALLMESSAGE_SHOWDIALOG = 0x0E000000L, // sent prior to display or
authored dialog or wizard | | INSTALLMESSAGE_SHOWDIALOG = 0x0E000000L, // sent prior to display or
authored dialog or wizard |
|
| | #if (_WIN32_MSI >= 500) |
| | INSTALLMESSAGE_PERFORMANCE = 0x0F000000L, // log only, to log performa |
| | nce number like action time |
| | #endif // (_WIN32_MSI >= 500) |
| #if (_WIN32_MSI >= 400) | | #if (_WIN32_MSI >= 400) |
| INSTALLMESSAGE_RMFILESINUSE = 0x19000000L, // the list of apps that the
user can request Restart Manager to shut down and restart | | INSTALLMESSAGE_RMFILESINUSE = 0x19000000L, // the list of apps that the
user can request Restart Manager to shut down and restart |
| #endif // (_WIN32_MSI >= 400) | | #endif // (_WIN32_MSI >= 400) |
|
| | #if (_WIN32_MSI >= 450) |
| | INSTALLMESSAGE_INSTALLSTART = 0x1A000000L, // sent prior to server-side |
| | install of a product |
| | INSTALLMESSAGE_INSTALLEND = 0x1B000000L, // sent after server-side in |
| | stall |
| | #endif // (_WIN32_MSI >= 450) |
| } INSTALLMESSAGE; | | } INSTALLMESSAGE; |
| | |
| // external error handler supplied to installation API functions | | // external error handler supplied to installation API functions |
| typedef int (WINAPI *INSTALLUI_HANDLERA)(LPVOID pvContext, UINT iMessageType, LP
CSTR szMessage); | | typedef int (WINAPI *INSTALLUI_HANDLERA)(LPVOID pvContext, UINT iMessageType, LP
CSTR szMessage); |
| // external error handler supplied to installation API functions | | // external error handler supplied to installation API functions |
| typedef int (WINAPI *INSTALLUI_HANDLERW)(LPVOID pvContext, UINT iMessageType, LP
CWSTR szMessage); | | typedef int (WINAPI *INSTALLUI_HANDLERW)(LPVOID pvContext, UINT iMessageType, LP
CWSTR szMessage); |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define INSTALLUI_HANDLER INSTALLUI_HANDLERW | | #define INSTALLUI_HANDLER INSTALLUI_HANDLERW |
| #else | | #else |
| #define INSTALLUI_HANDLER INSTALLUI_HANDLERA | | #define INSTALLUI_HANDLER INSTALLUI_HANDLERA |
| | |
| skipping to change at line 158 | | skipping to change at line 175 |
| INSTALLUILEVEL_NOCHANGE = 0, // UI level is unchanged | | INSTALLUILEVEL_NOCHANGE = 0, // UI level is unchanged |
| INSTALLUILEVEL_DEFAULT = 1, // default UI is used | | INSTALLUILEVEL_DEFAULT = 1, // default UI is used |
| INSTALLUILEVEL_NONE = 2, // completely silent installation | | INSTALLUILEVEL_NONE = 2, // completely silent installation |
| INSTALLUILEVEL_BASIC = 3, // simple progress and error handling | | INSTALLUILEVEL_BASIC = 3, // simple progress and error handling |
| INSTALLUILEVEL_REDUCED = 4, // authored UI, wizard dialogs suppressed | | INSTALLUILEVEL_REDUCED = 4, // authored UI, wizard dialogs suppressed |
| INSTALLUILEVEL_FULL = 5, // authored UI with wizards, progress, er
rors | | INSTALLUILEVEL_FULL = 5, // authored UI with wizards, progress, er
rors |
| INSTALLUILEVEL_ENDDIALOG = 0x80, // display success/failure dialog at
end of install | | INSTALLUILEVEL_ENDDIALOG = 0x80, // display success/failure dialog at
end of install |
| INSTALLUILEVEL_PROGRESSONLY = 0x40, // display only progress dialog | | INSTALLUILEVEL_PROGRESSONLY = 0x40, // display only progress dialog |
| INSTALLUILEVEL_HIDECANCEL = 0x20, // do not display the cancel button i
n basic UI | | INSTALLUILEVEL_HIDECANCEL = 0x20, // do not display the cancel button i
n basic UI |
| INSTALLUILEVEL_SOURCERESONLY = 0x100, // force display of source resoluti
on even if quiet | | INSTALLUILEVEL_SOURCERESONLY = 0x100, // force display of source resoluti
on even if quiet |
|
| | #if (_WIN32_MSI >= 500) |
| | INSTALLUILEVEL_UACONLY = 0x200, // show UAC prompt even if quiet |
| | #endif // (_WIN32_MSI >= 500) |
| } INSTALLUILEVEL; | | } INSTALLUILEVEL; |
| | |
| typedef enum tagINSTALLSTATE | | typedef enum tagINSTALLSTATE |
| { | | { |
| INSTALLSTATE_NOTUSED = -7, // component disabled | | INSTALLSTATE_NOTUSED = -7, // component disabled |
| INSTALLSTATE_BADCONFIG = -6, // configuration data corrupt | | INSTALLSTATE_BADCONFIG = -6, // configuration data corrupt |
| INSTALLSTATE_INCOMPLETE = -5, // installation suspended or in progress | | INSTALLSTATE_INCOMPLETE = -5, // installation suspended or in progress |
| INSTALLSTATE_SOURCEABSENT = -4, // run from source, source is unavailabl
e | | INSTALLSTATE_SOURCEABSENT = -4, // run from source, source is unavailabl
e |
| INSTALLSTATE_MOREDATA = -3, // return buffer overflow | | INSTALLSTATE_MOREDATA = -3, // return buffer overflow |
| INSTALLSTATE_INVALIDARG = -2, // invalid function argument | | INSTALLSTATE_INVALIDARG = -2, // invalid function argument |
| | |
| skipping to change at line 225 | | skipping to change at line 245 |
| INSTALLLOGMODE_INFO = (1 << (INSTALLMESSAGE_INFO >> 2
4)), | | INSTALLLOGMODE_INFO = (1 << (INSTALLMESSAGE_INFO >> 2
4)), |
| INSTALLLOGMODE_RESOLVESOURCE = (1 << (INSTALLMESSAGE_RESOLVESOURCE >> 2
4)), | | INSTALLLOGMODE_RESOLVESOURCE = (1 << (INSTALLMESSAGE_RESOLVESOURCE >> 2
4)), |
| INSTALLLOGMODE_OUTOFDISKSPACE = (1 << (INSTALLMESSAGE_OUTOFDISKSPACE >> 2
4)), | | INSTALLLOGMODE_OUTOFDISKSPACE = (1 << (INSTALLMESSAGE_OUTOFDISKSPACE >> 2
4)), |
| INSTALLLOGMODE_ACTIONSTART = (1 << (INSTALLMESSAGE_ACTIONSTART >> 2
4)), | | INSTALLLOGMODE_ACTIONSTART = (1 << (INSTALLMESSAGE_ACTIONSTART >> 2
4)), |
| INSTALLLOGMODE_ACTIONDATA = (1 << (INSTALLMESSAGE_ACTIONDATA >> 2
4)), | | INSTALLLOGMODE_ACTIONDATA = (1 << (INSTALLMESSAGE_ACTIONDATA >> 2
4)), |
| INSTALLLOGMODE_COMMONDATA = (1 << (INSTALLMESSAGE_COMMONDATA >> 2
4)), | | INSTALLLOGMODE_COMMONDATA = (1 << (INSTALLMESSAGE_COMMONDATA >> 2
4)), |
| INSTALLLOGMODE_PROPERTYDUMP = (1 << (INSTALLMESSAGE_PROGRESS >> 2
4)), // log only | | INSTALLLOGMODE_PROPERTYDUMP = (1 << (INSTALLMESSAGE_PROGRESS >> 2
4)), // log only |
| INSTALLLOGMODE_VERBOSE = (1 << (INSTALLMESSAGE_INITIALIZE >> 2
4)), // log only | | INSTALLLOGMODE_VERBOSE = (1 << (INSTALLMESSAGE_INITIALIZE >> 2
4)), // log only |
| INSTALLLOGMODE_EXTRADEBUG = (1 << (INSTALLMESSAGE_TERMINATE >> 2
4)), // log only | | INSTALLLOGMODE_EXTRADEBUG = (1 << (INSTALLMESSAGE_TERMINATE >> 2
4)), // log only |
| INSTALLLOGMODE_LOGONLYONERROR = (1 << (INSTALLMESSAGE_SHOWDIALOG >> 2
4)), // log only | | INSTALLLOGMODE_LOGONLYONERROR = (1 << (INSTALLMESSAGE_SHOWDIALOG >> 2
4)), // log only |
|
| | #if (_WIN32_MSI >= 500) |
| | INSTALLLOGMODE_LOGPERFORMANCE = (1 << (INSTALLMESSAGE_PERFORMANCE >> 2 |
| | 4)), // log only |
| | #endif // (_WIN32_MSI >= 500) |
| INSTALLLOGMODE_PROGRESS = (1 << (INSTALLMESSAGE_PROGRESS >> 2
4)), // external handler only | | INSTALLLOGMODE_PROGRESS = (1 << (INSTALLMESSAGE_PROGRESS >> 2
4)), // external handler only |
| INSTALLLOGMODE_INITIALIZE = (1 << (INSTALLMESSAGE_INITIALIZE >> 2
4)), // external handler only | | INSTALLLOGMODE_INITIALIZE = (1 << (INSTALLMESSAGE_INITIALIZE >> 2
4)), // external handler only |
| INSTALLLOGMODE_TERMINATE = (1 << (INSTALLMESSAGE_TERMINATE >> 2
4)), // external handler only | | INSTALLLOGMODE_TERMINATE = (1 << (INSTALLMESSAGE_TERMINATE >> 2
4)), // external handler only |
| INSTALLLOGMODE_SHOWDIALOG = (1 << (INSTALLMESSAGE_SHOWDIALOG >> 2
4)), // external handler only | | INSTALLLOGMODE_SHOWDIALOG = (1 << (INSTALLMESSAGE_SHOWDIALOG >> 2
4)), // external handler only |
| INSTALLLOGMODE_FILESINUSE = (1 << (INSTALLMESSAGE_FILESINUSE >> 2
4)), // external handler only | | INSTALLLOGMODE_FILESINUSE = (1 << (INSTALLMESSAGE_FILESINUSE >> 2
4)), // external handler only |
| #if (_WIN32_MSI >= 400) | | #if (_WIN32_MSI >= 400) |
| INSTALLLOGMODE_RMFILESINUSE = (1 << (INSTALLMESSAGE_RMFILESINUSE >> 2
4)), // external handler only | | INSTALLLOGMODE_RMFILESINUSE = (1 << (INSTALLMESSAGE_RMFILESINUSE >> 2
4)), // external handler only |
| #endif // (_WIN32_MSI >= 400) | | #endif // (_WIN32_MSI >= 400) |
|
| | #if (_WIN32_MSI >= 450) |
| | INSTALLLOGMODE_INSTALLSTART = (1 << (INSTALLMESSAGE_INSTALLSTART >> 2 |
| | 4)), // external/embedded only |
| | INSTALLLOGMODE_INSTALLEND = (1 << (INSTALLMESSAGE_INSTALLEND >> 2 |
| | 4)), // external/embedded only |
| | #endif // (_WIN32_MSI >= 450) |
| } INSTALLLOGMODE; | | } INSTALLLOGMODE; |
| | |
| typedef enum tagINSTALLLOGATTRIBUTES // flag attributes for MsiEnableLog | | typedef enum tagINSTALLLOGATTRIBUTES // flag attributes for MsiEnableLog |
| { | | { |
| INSTALLLOGATTRIBUTES_APPEND = (1 << 0), | | INSTALLLOGATTRIBUTES_APPEND = (1 << 0), |
| INSTALLLOGATTRIBUTES_FLUSHEACHLINE = (1 << 1), | | INSTALLLOGATTRIBUTES_FLUSHEACHLINE = (1 << 1), |
| } INSTALLLOGATTRIBUTES; | | } INSTALLLOGATTRIBUTES; |
| | |
| typedef enum tagINSTALLFEATUREATTRIBUTE // bit flags | | typedef enum tagINSTALLFEATUREATTRIBUTE // bit flags |
| { | | { |
| | |
| skipping to change at line 355 | | skipping to change at line 382 |
| #define INSTALLPROPERTY_INSTALLDATE __TEXT("InstallDate") | | #define INSTALLPROPERTY_INSTALLDATE __TEXT("InstallDate") |
| #define INSTALLPROPERTY_PUBLISHER __TEXT("Publisher") | | #define INSTALLPROPERTY_PUBLISHER __TEXT("Publisher") |
| #define INSTALLPROPERTY_LOCALPACKAGE __TEXT("LocalPackage") | | #define INSTALLPROPERTY_LOCALPACKAGE __TEXT("LocalPackage") |
| #define INSTALLPROPERTY_URLINFOABOUT __TEXT("URLInfoAbout") | | #define INSTALLPROPERTY_URLINFOABOUT __TEXT("URLInfoAbout") |
| #define INSTALLPROPERTY_URLUPDATEINFO __TEXT("URLUpdateInfo") | | #define INSTALLPROPERTY_URLUPDATEINFO __TEXT("URLUpdateInfo") |
| #define INSTALLPROPERTY_VERSIONMINOR __TEXT("VersionMinor") | | #define INSTALLPROPERTY_VERSIONMINOR __TEXT("VersionMinor") |
| #define INSTALLPROPERTY_VERSIONMAJOR __TEXT("VersionMajor") | | #define INSTALLPROPERTY_VERSIONMAJOR __TEXT("VersionMajor") |
| #define INSTALLPROPERTY_PRODUCTID __TEXT("ProductID") | | #define INSTALLPROPERTY_PRODUCTID __TEXT("ProductID") |
| #define INSTALLPROPERTY_REGCOMPANY __TEXT("RegCompany") | | #define INSTALLPROPERTY_REGCOMPANY __TEXT("RegCompany") |
| #define INSTALLPROPERTY_REGOWNER __TEXT("RegOwner") | | #define INSTALLPROPERTY_REGOWNER __TEXT("RegOwner") |
|
| | #if (_WIN32_MSI >= 500) |
| | #define INSTALLPROPERTY_INSTALLEDLANGUAGE __TEXT("InstalledLanguage") |
| | #endif //(_WIN32_MSI >= 500) |
| | |
| #if (_WIN32_MSI >= 300) | | #if (_WIN32_MSI >= 300) |
| #define INSTALLPROPERTY_UNINSTALLABLE __TEXT("Uninstallable") | | #define INSTALLPROPERTY_UNINSTALLABLE __TEXT("Uninstallable") |
| #define INSTALLPROPERTY_PRODUCTSTATE __TEXT("State") | | #define INSTALLPROPERTY_PRODUCTSTATE __TEXT("State") |
| #define INSTALLPROPERTY_PATCHSTATE __TEXT("State") | | #define INSTALLPROPERTY_PATCHSTATE __TEXT("State") |
| #define INSTALLPROPERTY_PATCHTYPE __TEXT("PatchType") | | #define INSTALLPROPERTY_PATCHTYPE __TEXT("PatchType") |
| #define INSTALLPROPERTY_LUAENABLED __TEXT("LUAEnabled") | | #define INSTALLPROPERTY_LUAENABLED __TEXT("LUAEnabled") |
| #define INSTALLPROPERTY_DISPLAYNAME __TEXT("DisplayName") | | #define INSTALLPROPERTY_DISPLAYNAME __TEXT("DisplayName") |
| #define INSTALLPROPERTY_MOREINFOURL __TEXT("MoreInfoURL") | | #define INSTALLPROPERTY_MOREINFOURL __TEXT("MoreInfoURL") |
| | |
| | |
| skipping to change at line 444 | | skipping to change at line 474 |
| MSISOURCETYPE_URL = 0x00000002L, // URL source | | MSISOURCETYPE_URL = 0x00000002L, // URL source |
| MSISOURCETYPE_MEDIA = 0x00000004L // media source | | MSISOURCETYPE_MEDIA = 0x00000004L // media source |
| }MSISOURCETYPE; | | }MSISOURCETYPE; |
| | |
| typedef enum tagMSICODE | | typedef enum tagMSICODE |
| { | | { |
| MSICODE_PRODUCT = 0x00000000L, // product code provided | | MSICODE_PRODUCT = 0x00000000L, // product code provided |
| MSICODE_PATCH = 0x40000000L // patch code provided | | MSICODE_PATCH = 0x40000000L // patch code provided |
| }MSICODE; | | }MSICODE; |
| | |
|
| | #if (_WIN32_MSI >= 450) |
| | |
| | typedef enum tagMSITRANSACTION |
| | { |
| | MSITRANSACTION_CHAIN_EMBEDDEDUI = 0x00000001L, |
| | MSITRANSACTION_JOIN_EXISTING_EMBEDDEDUI = 0x00000002L, |
| | }MSITRANSACTION; |
| | |
| | typedef enum tagMSITRANSACTIONSTATE |
| | { |
| | MSITRANSACTIONSTATE_ROLLBACK = 0x00000000L, |
| | MSITRANSACTIONSTATE_COMMIT = 0x00000001L, |
| | |
| | }MSITRANSACTIONSTATE; |
| | |
| | #endif //(_WIN32_MSI >= 450) |
| | |
| #endif //(_WIN32_MSI >= 300) | | #endif //(_WIN32_MSI >= 300) |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| extern "C" { | | extern "C" { |
| #endif | | #endif |
| | |
| // -------------------------------------------------------------------------- | | // -------------------------------------------------------------------------- |
| // Functions to set the UI handling and logging. The UI will be used for error, | | // Functions to set the UI handling and logging. The UI will be used for error, |
| // progress, and log messages for all subsequent calls to Installer Service | | // progress, and log messages for all subsequent calls to Installer Service |
| // API functions that require UI. | | // API functions that require UI. |
| | |
| skipping to change at line 482 | | skipping to change at line 529 |
| __in_opt LPVOID pvContext); // application context | | __in_opt LPVOID pvContext); // application context |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define MsiSetExternalUI MsiSetExternalUIW | | #define MsiSetExternalUI MsiSetExternalUIW |
| #else | | #else |
| #define MsiSetExternalUI MsiSetExternalUIA | | #define MsiSetExternalUI MsiSetExternalUIA |
| #endif // !UNICODE | | #endif // !UNICODE |
| | |
| #if (_WIN32_MSI >= 310) | | #if (_WIN32_MSI >= 310) |
| | |
| UINT WINAPI MsiSetExternalUIRecord( | | UINT WINAPI MsiSetExternalUIRecord( |
|
| __in INSTALLUI_HANDLER_RECORD puiHandler, // for progress and
error handling | | __in_opt INSTALLUI_HANDLER_RECORD puiHandler, // for progress and
error handling |
| __in DWORD dwMessageFilter, // bit flags design
ating messages to handle | | __in DWORD dwMessageFilter, // bit flags design
ating messages to handle |
| __in_opt LPVOID pvContext, // application cont
ext | | __in_opt LPVOID pvContext, // application cont
ext |
| __out_opt PINSTALLUI_HANDLER_RECORD ppuiPrevHandler); // pointer to the p
reviously set handler | | __out_opt PINSTALLUI_HANDLER_RECORD ppuiPrevHandler); // pointer to the p
reviously set handler |
| | |
| #endif // (_WIN32_MSI >= 310) | | #endif // (_WIN32_MSI >= 310) |
| | |
| // Enable logging to a file for all install sessions for the client process, | | // Enable logging to a file for all install sessions for the client process, |
| // with control over which log messages are passed to the specified log file. | | // with control over which log messages are passed to the specified log file. |
| // Messages are designated with a combination of bits from INSTALLLOGMODE enum. | | // Messages are designated with a combination of bits from INSTALLLOGMODE enum. |
| | |
| | |
| skipping to change at line 1243 | | skipping to change at line 1290 |
| __in LPCWSTR szProduct, // product code for clie
nt product | | __in LPCWSTR szProduct, // product code for clie
nt product |
| __in LPCWSTR szComponent, // component Id, string
GUID | | __in LPCWSTR szComponent, // component Id, string
GUID |
| __out_ecount_opt(*pcchBuf) LPWSTR lpPathBuf, // returned path | | __out_ecount_opt(*pcchBuf) LPWSTR lpPathBuf, // returned path |
| __inout_opt LPDWORD pcchBuf); // in/out buffer charac
ter count | | __inout_opt LPDWORD pcchBuf); // in/out buffer charac
ter count |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define MsiGetComponentPath MsiGetComponentPathW | | #define MsiGetComponentPath MsiGetComponentPathW |
| #else | | #else |
| #define MsiGetComponentPath MsiGetComponentPathA | | #define MsiGetComponentPath MsiGetComponentPathA |
| #endif // !UNICODE | | #endif // !UNICODE |
| | |
|
| | #if (_WIN32_MSI >= 500) |
| | // Return full path to an installed component for a given user |
| | // and context |
| | |
| | INSTALLSTATE WINAPI MsiGetComponentPathExA( |
| | __in LPCSTR szProductCode, |
| | // ProductCode |
| | __in LPCSTR szComponentCode, |
| | // ComponentCode |
| | __in_opt LPCSTR szUserSid, |
| | // User account |
| | __in_opt MSIINSTALLCONTEXT dwContext |
| | , // Install context |
| | __out_ecount_opt(*pcchOutPathBuffer) LPSTR lpOutPath |
| | Buffer, // returned path |
| | __inout_opt LPDWORD pcchOutPa |
| | thBuffer); // in/out buffer character count |
| | INSTALLSTATE WINAPI MsiGetComponentPathExW( |
| | __in LPCWSTR szProductCode, |
| | // ProductCode |
| | __in LPCWSTR szComponentCode, |
| | // ComponentCode |
| | __in_opt LPCWSTR szUserSid, |
| | // User account |
| | __in_opt MSIINSTALLCONTEXT dwContext |
| | , // Install context |
| | __out_ecount_opt(*pcchOutPathBuffer) LPWSTR lpOutPath |
| | Buffer, // returned path |
| | __inout_opt LPDWORD pcchOutPa |
| | thBuffer); // in/out buffer character count |
| | #ifdef UNICODE |
| | #define MsiGetComponentPathEx MsiGetComponentPathExW |
| | #else |
| | #define MsiGetComponentPathEx MsiGetComponentPathExA |
| | #endif // !UNICODE |
| | #endif // (_WIN32_MSI >= 500) |
| | |
| #if (_WIN32_MSI >= 150) | | #if (_WIN32_MSI >= 150) |
| | |
| #define MSIASSEMBLYINFO_NETASSEMBLY 0 // Net assemblies | | #define MSIASSEMBLYINFO_NETASSEMBLY 0 // Net assemblies |
| #define MSIASSEMBLYINFO_WIN32ASSEMBLY 1 // Win32 assemblies | | #define MSIASSEMBLYINFO_WIN32ASSEMBLY 1 // Win32 assemblies |
| | |
| // Return full component path for an assembly installed via the WI, performing a
ny necessary installation. | | // Return full component path for an assembly installed via the WI, performing a
ny necessary installation. |
| // Prompts for source if necessary and increments the usage count for the featur
e. | | // Prompts for source if necessary and increments the usage count for the featur
e. |
| // The szAssemblyName parameter specifies the stringized assembly name. | | // The szAssemblyName parameter specifies the stringized assembly name. |
| // The szAppContext is the full path to the .cfg file or the app exe to which th
e assembly being requested | | // The szAppContext is the full path to the .cfg file or the app exe to which th
e assembly being requested |
| // has been privatised to, which is null for global assemblies | | // has been privatised to, which is null for global assemblies |
| | |
| skipping to change at line 1402 | | skipping to change at line 1474 |
| __out_ecount(MAX_GUID_CHARS+1) LPSTR lpComponentBuf); // buffer of ch
ar count: 39 (size of string GUID) | | __out_ecount(MAX_GUID_CHARS+1) LPSTR lpComponentBuf); // buffer of ch
ar count: 39 (size of string GUID) |
| UINT WINAPI MsiEnumComponentsW( | | UINT WINAPI MsiEnumComponentsW( |
| __in DWORD iComponentIndex, // 0-based in
dex into installed components | | __in DWORD iComponentIndex, // 0-based in
dex into installed components |
| __out_ecount(MAX_GUID_CHARS+1) LPWSTR lpComponentBuf); // buffer of c
har count: 39 (size of string GUID) | | __out_ecount(MAX_GUID_CHARS+1) LPWSTR lpComponentBuf); // buffer of c
har count: 39 (size of string GUID) |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define MsiEnumComponents MsiEnumComponentsW | | #define MsiEnumComponents MsiEnumComponentsW |
| #else | | #else |
| #define MsiEnumComponents MsiEnumComponentsA | | #define MsiEnumComponents MsiEnumComponentsA |
| #endif // !UNICODE | | #endif // !UNICODE |
| | |
|
| | #if (_WIN32_MSI >= 500) |
| | // Enumerate installed components for all products for a given users |
| | // and context |
| | |
| | UINT WINAPI MsiEnumComponentsExA( |
| | __in_opt LPCSTR szUserSid, |
| | // Account for enumeration |
| | __in DWORD dwContext |
| | , // Contexts for enumeration |
| | __in DWORD dwIndex, |
| | // 0-based index into installed components |
| | __out_ecount_opt(MAX_GUID_CHARS+1) CHAR szInstall |
| | edComponentCode[39], // Enumerated component's ComponentCode |
| | __out_opt MSIINSTALLCONTEXT* pdwInstal |
| | ledContext, // Enumerated component's context |
| | __out_ecount_opt(*pcchSid) LPSTR szSid, |
| | // Enumerated component's user account |
| | __inout_opt LPDWORD pcchSid); |
| | // in/out character count of szSid |
| | UINT WINAPI MsiEnumComponentsExW( |
| | __in_opt LPCWSTR szUserSid, |
| | // Account for enumeration |
| | __in DWORD dwContext |
| | , // Contexts for enumeration |
| | __in DWORD dwIndex, |
| | // 0-based index into installed components |
| | __out_ecount_opt(MAX_GUID_CHARS+1) WCHAR szInstall |
| | edComponentCode[39], // Enumerated component's ComponentCode |
| | __out_opt MSIINSTALLCONTEXT* pdwInstal |
| | ledContext, // Enumerated component's context |
| | __out_ecount_opt(*pcchSid) LPWSTR szSid, |
| | // Enumerated component's user account |
| | __inout_opt LPDWORD pcchSid); |
| | // in/out character count of szSid |
| | #ifdef UNICODE |
| | #define MsiEnumComponentsEx MsiEnumComponentsExW |
| | #else |
| | #define MsiEnumComponentsEx MsiEnumComponentsExA |
| | #endif // !UNICODE |
| | |
| | #endif // (_WIN32_MSI >= 500) |
| | |
| // Enumerate the client products for a component | | // Enumerate the client products for a component |
| | |
| UINT WINAPI MsiEnumClientsA( | | UINT WINAPI MsiEnumClientsA( |
| __in LPCSTR szComponent, | | __in LPCSTR szComponent, |
| __in DWORD iProductIndex, // 0-based in
dex into client products | | __in DWORD iProductIndex, // 0-based in
dex into client products |
| __out_ecount(MAX_GUID_CHARS+1) LPSTR lpProductBuf); // buffer of ch
ar count: 39 (size of string GUID) | | __out_ecount(MAX_GUID_CHARS+1) LPSTR lpProductBuf); // buffer of ch
ar count: 39 (size of string GUID) |
| UINT WINAPI MsiEnumClientsW( | | UINT WINAPI MsiEnumClientsW( |
| __in LPCWSTR szComponent, | | __in LPCWSTR szComponent, |
| __in DWORD iProductIndex, // 0-based in
dex into client products | | __in DWORD iProductIndex, // 0-based in
dex into client products |
| __out_ecount(MAX_GUID_CHARS+1) LPWSTR lpProductBuf); // buffer of c
har count: 39 (size of string GUID) | | __out_ecount(MAX_GUID_CHARS+1) LPWSTR lpProductBuf); // buffer of c
har count: 39 (size of string GUID) |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define MsiEnumClients MsiEnumClientsW | | #define MsiEnumClients MsiEnumClientsW |
| #else | | #else |
| #define MsiEnumClients MsiEnumClientsA | | #define MsiEnumClients MsiEnumClientsA |
| #endif // !UNICODE | | #endif // !UNICODE |
| | |
|
| | #if (_WIN32_MSI >= 500) |
| | // Enumerate the client products for a component for a given users |
| | // and context |
| | |
| | UINT WINAPI MsiEnumClientsExA ( |
| | __in LPCSTR szComponent, |
| | // ComponentCode for enumeration |
| | __in_opt LPCSTR szUserSid, |
| | // Account for enumeration |
| | __in DWORD dwContext |
| | , // Contexts for enumeration |
| | __in DWORD dwProduct |
| | Index, // 0-based index into component clients |
| | __out_ecount_opt(MAX_GUID_CHARS+1) CHAR szProduct |
| | Buf[39], // Enumerated component's client ProductCode |
| | __out_opt MSIINSTALLCONTEXT *pdwInsta |
| | lledContext, // Enumerated component's client product's context |
| | __out_ecount_opt(*pcchSid) LPSTR szSid, |
| | // Enumerated user account |
| | __inout_opt LPDWORD pcchSid); |
| | // in/out character count of szSid |
| | UINT WINAPI MsiEnumClientsExW ( |
| | __in LPCWSTR szComponent, |
| | // ComponentCode for enumeration |
| | __in_opt LPCWSTR szUserSid, |
| | // Account for enumeration |
| | __in DWORD dwContext |
| | , // Contexts for enumeration |
| | __in DWORD dwProduct |
| | Index, // 0-based index into component clients |
| | __out_ecount_opt(MAX_GUID_CHARS+1) WCHAR szProduct |
| | Buf[39], // Enumerated component's client ProductCode |
| | __out_opt MSIINSTALLCONTEXT *pdwInsta |
| | lledContext, // Enumerated component's client product's context |
| | __out_ecount_opt(*pcchSid) LPWSTR szSid, |
| | // Enumerated user account |
| | __inout_opt LPDWORD pcchSid); |
| | // in/out character count of szSid |
| | #ifdef UNICODE |
| | #define MsiEnumClientsEx MsiEnumClientsExW |
| | #else |
| | #define MsiEnumClientsEx MsiEnumClientsExA |
| | #endif // !UNICODE |
| | #endif // (_WIN32_MSI >= 500) |
| | |
| // Enumerate the qualifiers for an advertised component. | | // Enumerate the qualifiers for an advertised component. |
| | |
| UINT WINAPI MsiEnumComponentQualifiersA( | | UINT WINAPI MsiEnumComponentQualifiersA( |
| __in LPCSTR szComponent,
// generic component ID that is qualified | | __in LPCSTR szComponent,
// generic component ID that is qualified |
| __in DWORD iIndex,
// 0-based index into qualifiers | | __in DWORD iIndex,
// 0-based index into qualifiers |
| __out_ecount(*pcchQualifierBuf) LPSTR lpQualifierBuf,
// qualifier buffer | | __out_ecount(*pcchQualifierBuf) LPSTR lpQualifierBuf,
// qualifier buffer |
| __inout LPDWORD pcchQualifierBuf,
// in/out qualifier buffer character count | | __inout LPDWORD pcchQualifierBuf,
// in/out qualifier buffer character count |
| __out_ecount_opt(*pcchApplicationDataBuf) LPSTR lpApplicationDataBuf,
// description buffer | | __out_ecount_opt(*pcchApplicationDataBuf) LPSTR lpApplicationDataBuf,
// description buffer |
| __inout_opt LPDWORD pcchApplicationData
Buf); // in/out description buffer character count | | __inout_opt LPDWORD pcchApplicationData
Buf); // in/out description buffer character count |
| UINT WINAPI MsiEnumComponentQualifiersW( | | UINT WINAPI MsiEnumComponentQualifiersW( |
| | |
| skipping to change at line 1500 | | skipping to change at line 1629 |
| #endif // !UNICODE | | #endif // !UNICODE |
| | |
| #endif //(_WIN32_MSI >= 150) | | #endif //(_WIN32_MSI >= 150) |
| | |
| #if (_WIN32_MSI >= 400) | | #if (_WIN32_MSI >= 400) |
| | |
| UINT WINAPI MsiGetPatchFileListA( | | UINT WINAPI MsiGetPatchFileListA( |
| __in LPCSTR szProductCode, | | __in LPCSTR szProductCode, |
| __in LPCSTR szPatchPackages, | | __in LPCSTR szPatchPackages, |
| __out LPDWORD pcFiles, | | __out LPDWORD pcFiles, |
|
| __out MSIHANDLE** pphFileRecords); | | __deref_out MSIHANDLE** pphFileRecords); |
| UINT WINAPI MsiGetPatchFileListW( | | UINT WINAPI MsiGetPatchFileListW( |
| __in LPCWSTR szProductCode, | | __in LPCWSTR szProductCode, |
| __in LPCWSTR szPatchPackages, | | __in LPCWSTR szPatchPackages, |
| __out LPDWORD pcFiles, | | __out LPDWORD pcFiles, |
|
| __out MSIHANDLE** pphFileRecords); | | __deref_out MSIHANDLE** pphFileRecords); |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define MsiGetPatchFileList MsiGetPatchFileListW | | #define MsiGetPatchFileList MsiGetPatchFileListW |
| #else | | #else |
| #define MsiGetPatchFileList MsiGetPatchFileListA | | #define MsiGetPatchFileList MsiGetPatchFileListA |
| #endif // !UNICODE | | #endif // !UNICODE |
| | |
| #endif // #if (_WIN32_MSI >= 400) | | #endif // #if (_WIN32_MSI >= 400) |
| | |
| // Provide the value for an installation property. | | // Provide the value for an installation property. |
| | |
| | |
| skipping to change at line 2058 | | skipping to change at line 2187 |
| #ifdef UNICODE | | #ifdef UNICODE |
| #define MsiNotifySidChange MsiNotifySidChangeW | | #define MsiNotifySidChange MsiNotifySidChangeW |
| #else | | #else |
| #define MsiNotifySidChange MsiNotifySidChangeA | | #define MsiNotifySidChange MsiNotifySidChangeA |
| #endif // !UNICODE | | #endif // !UNICODE |
| | |
| #else // _WIN32_MSI < 310 | | #else // _WIN32_MSI < 310 |
| | |
| #endif // (_WIN32_MSI >= 310) | | #endif // (_WIN32_MSI >= 310) |
| | |
|
| | #if (_WIN32_MSI >= 450) |
| | |
| | // Start a multi package transaction |
| | UINT WINAPI MsiBeginTransactionA( |
| | __in LPCSTR szName, // A name to identify the tra |
| | nsaction |
| | __in DWORD dwTransactionAttributes, // Attributes to control th |
| | e nature of the transaction |
| | __out MSIHANDLE* phTransactionHandle, // Transaction handle |
| | __out HANDLE* phChangeOfOwnerEvent); // Change Of Owner Event ha |
| | ndle |
| | // Start a multi package transaction |
| | UINT WINAPI MsiBeginTransactionW( |
| | __in LPCWSTR szName, // A name to identify the tr |
| | ansaction |
| | __in DWORD dwTransactionAttributes, // Attributes to control th |
| | e nature of the transaction |
| | __out MSIHANDLE* phTransactionHandle, // Transaction handle |
| | __out HANDLE* phChangeOfOwnerEvent); // Change Of Owner Event ha |
| | ndle |
| | #ifdef UNICODE |
| | #define MsiBeginTransaction MsiBeginTransactionW |
| | #else |
| | #define MsiBeginTransaction MsiBeginTransactionA |
| | #endif // !UNICODE |
| | |
| | // End a multi package transaction |
| | UINT WINAPI MsiEndTransaction( |
| | __in DWORD dwTransactionState); // Flags to indicate how to end a tr |
| | ansaction |
| | |
| | // Join an already created multi package transaction |
| | UINT WINAPI MsiJoinTransaction( |
| | __in MSIHANDLE hTransactionHandle, //Transaction handle returned by Msi |
| | BeginTransaction |
| | __in DWORD dwTransactionAttributes, //Transaction attributes |
| | __out HANDLE* phChangeOfOwnerEvent); //Change Of Owner Event handle |
| | |
| | #endif // #if (_WIN32_MSI >= 450) |
| | |
| #ifdef __cplusplus | | #ifdef __cplusplus |
| } | | } |
| #endif | | #endif |
| | |
| // -------------------------------------------------------------------------- | | // -------------------------------------------------------------------------- |
| // Error codes for installer access functions | | // Error codes for installer access functions |
| // -------------------------------------------------------------------------- | | // -------------------------------------------------------------------------- |
| | |
| #ifndef ERROR_INSTALL_FAILURE | | #ifndef ERROR_INSTALL_FAILURE |
| #define ERROR_INSTALL_USEREXIT 1602L // User cancel installation. | | #define ERROR_INSTALL_USEREXIT 1602L // User cancel installation. |
| | |
| skipping to change at line 2229 | | skipping to change at line 2390 |
| // LOCALIZE END | | // LOCALIZE END |
| | |
| // The following error codes are returned from MSI 4.0 and later | | // The following error codes are returned from MSI 4.0 and later |
| | |
| // LOCALIZE BEGIN: | | // LOCALIZE BEGIN: |
| #ifndef ERROR_INSTALL_SERVICE_SAFEBOOT | | #ifndef ERROR_INSTALL_SERVICE_SAFEBOOT |
| #define ERROR_INSTALL_SERVICE_SAFEBOOT 1652L // The Windows Installer servic
e is not accessible in Safe Mode. Please try again when your computer is not in
Safe Mode or you can use System Restore to return your machine to a previous goo
d state. | | #define ERROR_INSTALL_SERVICE_SAFEBOOT 1652L // The Windows Installer servic
e is not accessible in Safe Mode. Please try again when your computer is not in
Safe Mode or you can use System Restore to return your machine to a previous goo
d state. |
| #endif | | #endif |
| // LOCALIZE END | | // LOCALIZE END |
| | |
|
| | // The following error codes are returned from MSI 4.5 and later |
| | |
| | // LOCALIZE BEGIN: |
| | #ifndef ERROR_ROLLBACK_DISABLED |
| | #define ERROR_ROLLBACK_DISABLED 1653L // Multi-package transaction cannot be |
| | run when rollback is disabled. |
| | #endif |
| | // LOCALIZE END |
| | |
| #endif // _MSI_H_ | | #endif // _MSI_H_ |
| | |
| End of changes. 17 change blocks. |
| 8 lines changed or deleted | | 235 lines changed or added |
|