Headers diff for msi.dll between 4.5.6002.18005-Windows 6.0 and 5.0.7601.18896-Windows 7.0 versions



 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


 msiquery.h (4.5.6002.18005-Windows 6.0)   msiquery.h (5.0.7601.18896-Windows 7.0) 
skipping to change at line 345 skipping to change at line 345
#define MsiSummaryInfoSetProperty MsiSummaryInfoSetPropertyA #define MsiSummaryInfoSetProperty MsiSummaryInfoSetPropertyA
#endif // !UNICODE #endif // !UNICODE
// Get a single property from the summary information // Get a single property from the summary information
// Returns ERROR_SUCCESS, ERROR_INVALID_HANDLE, ERROR_UNKNOWN_PROPERTY // Returns ERROR_SUCCESS, ERROR_INVALID_HANDLE, ERROR_UNKNOWN_PROPERTY
UINT WINAPI MsiSummaryInfoGetPropertyA(MSIHANDLE hSummaryInfo, UINT WINAPI MsiSummaryInfoGetPropertyA(MSIHANDLE hSummaryInfo,
UINT uiProperty, // property ID, one of allowed values for summar y information UINT uiProperty, // property ID, one of allowed values for summar y information
__out PUINT puiDataType, // returned type: VT_I4, VT_LPSTR, VT_FILE TIME, VT_EMPTY __out PUINT puiDataType, // returned type: VT_I4, VT_LPSTR, VT_FILE TIME, VT_EMPTY
__out LPINT piValue, // returned integer property data __out LPINT piValue, // returned integer property data
__out FILETIME *pftValue, // returned da tetime property data __out_opt FILETIME *pftValue, // returned da tetime property data
__out_ecount_opt(*pcchValueBuf) LPSTR szValueBuf, // buffer to ret urn string property data __out_ecount_opt(*pcchValueBuf) LPSTR szValueBuf, // buffer to ret urn string property data
__inout_opt LPDWORD pcchValueBuf); // in/out buff er character count __inout_opt LPDWORD pcchValueBuf); // in/out buff er character count
UINT WINAPI MsiSummaryInfoGetPropertyW(MSIHANDLE hSummaryInfo, UINT WINAPI MsiSummaryInfoGetPropertyW(MSIHANDLE hSummaryInfo,
UINT uiProperty, // property ID, one of allowed values for summar y information UINT uiProperty, // property ID, one of allowed values for summar y information
__out PUINT puiDataType, // returned type: VT_I4, VT_LPSTR, VT_FILE TIME, VT_EMPTY __out PUINT puiDataType, // returned type: VT_I4, VT_LPSTR, VT_FILE TIME, VT_EMPTY
__out LPINT piValue, // returned integer property data __out LPINT piValue, // returned integer property data
__out FILETIME *pftValue, // returned da tetime property data __out_opt FILETIME *pftValue, // returned da tetime property data
__out_ecount_opt(*pcchValueBuf) LPWSTR szValueBuf, // buffer to re turn string property data __out_ecount_opt(*pcchValueBuf) LPWSTR szValueBuf, // buffer to re turn string property data
__inout_opt LPDWORD pcchValueBuf); // in/out buff er character count __inout_opt LPDWORD pcchValueBuf); // in/out buff er character count
#ifdef UNICODE #ifdef UNICODE
#define MsiSummaryInfoGetProperty MsiSummaryInfoGetPropertyW #define MsiSummaryInfoGetProperty MsiSummaryInfoGetPropertyW
#else #else
#define MsiSummaryInfoGetProperty MsiSummaryInfoGetPropertyA #define MsiSummaryInfoGetProperty MsiSummaryInfoGetPropertyA
#endif // !UNICODE #endif // !UNICODE
// Write back changed information to summary information stream // Write back changed information to summary information stream
 End of changes. 2 change blocks. 
2 lines changed or deleted 2 lines changed or added

This html diff was produced by rfcdiff 1.41.