mirror of
https://github.com/ApfelTeeSaft/reactos.git
synced 2026-09-02 19:26:32 +00:00
Sync to Wine-20050111:
Vitaly Lipatov <[email protected]> - Get real screen properties. - Add description for MsiGetMode, MSIRUNMODE constants. - Add ScreenX, ScreenY, ColorBits installer properties. Mike McCormack <[email protected]> - Add a simple test case for MSI databases. - Remove unneeded whitespace, indent correctly. - Remove more fixed length buffers, rewrite functions to return malloc'ed memory. - Remove a lot of fixed length buffers. - Implement thread safety for records. - Fix selecting string columns and matching against a wildcard. - Implement MsiRecordSetStreamA/W and add tests for records containing streams. - Fix records according to test cases. - Fix transposition of 4 byte values when reading in table data from storage. - MsiCloseAllHandles only closes handles allocated in the calling thread. Francois Gouget <[email protected]> - Assorted spelling fixes. Aric Stewart <[email protected]> - Make all custom type 1 actions happen in a seperate thread and close all handles for that thread when it exits. Honors the concept of temporary MSI handles for custom actions. - Properly deformat keys written to the registry. - Because directory mappings can change between the CostFinalize step and the InstallFiles step we need to do a final resolution of the target file name before installing. - When checking for an existing .lnk shortcut extension on the filename do not just search for '.' but actually verify it is '.lnk'. - CustomAction 35 should call SetTargetPath not just set the property. - TARGETDIR and SOURCEDIR may not be entries 0 in the directory tables. So when resolving the folder we need to seek them out. - When we handle SetTargetPath we need to be sure to recalculate the resulting paths as things with the now set Directory as the parent will change. - Change how we install files so that we extract files as we need them, cuts down on extraction time and unused files. - Improve progress bar tracking. - Be sure that set paths are terminated with a backslash. - Free allocated buffers. - Parse out the full features by using the ',' character and do comparisons based on the full feature names. - Continue when a duplicate component is found and loaded. - Rework how we handle Feature and Component States. I have confirmed from testing that, although documented nowhere, having ADDLOCAL on the install line overrides INSTALLLEVEL. - Track all files extracted from cabinents as tempfiles so they can be removed at the end of the install to not leave uninstalled but uncabbed files laying around. - Move Install Features selection and evaluation into CostFinalize. - Allow for end of install actions. - Create the shortcut directory if it does not exist. - Set the INSTALLLEVEL in CostFinalize if it is not set. - Eliminate some fixed length buffers. - Enable asynchronous dll custom action calls. - Make sure to include trailing backslash in path. - Move around and rename some functions. - Fix incorrect return code check. - Fix folder resolution. - Let negative number be parsed correctly. Needed for accessing actions with sequences such as -1. - Added MsiSetExternalUIW. - Include a System16Folder definition. - Free allocated buffers. - Blank the property buffers even if the property is not found. - Include the trailing backslash on the Windows volume. - Fix folder resolution. Eric Pouech <[email protected]> - Fixed some errors in function prototypes. Steven Edwards <[email protected]> - Add and fix some stubs. Ulrich Czekalla <[email protected]> - Set the out buffer count to zero on read error. Michael Stefaniuc <[email protected]> - Add missing HeapFree's (found by smatch). Paul Vriens <[email protected]> - Use Interlocked* functions in AddRef and Release. svn path=/trunk/; revision=12948
This commit is contained in:
@@ -59,7 +59,30 @@ typedef enum tagMSIMODIFY
|
||||
#define MSIDBOPEN_TRANSACT (LPCTSTR)1
|
||||
#define MSIDBOPEN_DIRECT (LPCTSTR)2
|
||||
#define MSIDBOPEN_CREATE (LPCTSTR)3
|
||||
#define MSIDBOPEN_CREATEDIRECT (LPCTSTR)4
|
||||
|
||||
typedef enum tagMSIRUNMODE
|
||||
{
|
||||
MSIRUNMODE_ADMIN = 0,
|
||||
MSIRUNMODE_ADVERTISE = 1,
|
||||
MSIRUNMODE_MAINTENANCE = 2,
|
||||
MSIRUNMODE_ROLLBACKENABLED = 3,
|
||||
MSIRUNMODE_LOGENABLED = 4,
|
||||
MSIRUNMODE_OPERATIONS = 5,
|
||||
MSIRUNMODE_REBOOTATEND = 6,
|
||||
MSIRUNMODE_REBOOTNOW = 7,
|
||||
MSIRUNMODE_CABINET = 8,
|
||||
MSIRUNMODE_SOURCESHORTNAMES = 9,
|
||||
MSIRUNMODE_TARGETSHORTNAMES = 10,
|
||||
MSIRUNMODE_RESERVED11 = 11,
|
||||
MSIRUNMODE_WINDOWS9X = 12,
|
||||
MSIRUNMODE_ZAWENABLED = 13,
|
||||
MSIRUNMODE_RESERVED14 = 14,
|
||||
MSIRUNMODE_RESERVED15 = 15,
|
||||
MSIRUNMODE_SCHEDULED = 16,
|
||||
MSIRUNMODE_ROLLBACK = 17,
|
||||
MSIRUNMODE_COMMIT = 18
|
||||
} MSIRUNMODE;
|
||||
|
||||
/* view manipulation */
|
||||
UINT WINAPI MsiViewFetch(MSIHANDLE,MSIHANDLE*);
|
||||
@@ -123,15 +146,12 @@ MSICONDITION WINAPI MsiEvaluateConditionW(MSIHANDLE,LPCWSTR);
|
||||
#define MsiEvaluateCondition WINELIB_NAME_AW(MsiEvaluateCondition)
|
||||
|
||||
/* property functions */
|
||||
UINT WINAPI MsiGetPropertyA(MSIHANDLE hInstall, LPCSTR szName,
|
||||
LPSTR szValueBuf, DWORD* pchValueBuf);
|
||||
UINT WINAPI MsiGetPropertyW(MSIHANDLE hInstall, LPCWSTR szName,
|
||||
LPWSTR szValueBuf, DWORD* pchValueBuf);
|
||||
UINT WINAPI MsiGetPropertyA(MSIHANDLE, LPCSTR, LPSTR, DWORD*);
|
||||
UINT WINAPI MsiGetPropertyW(MSIHANDLE, LPCWSTR, LPWSTR, DWORD*);
|
||||
#define MsiGetProperty WINELIB_NAME_AW(MsiGetProperty)
|
||||
|
||||
UINT WINAPI MsiSetPropertyA(MSIHANDLE hInstall, LPCSTR szName, LPCSTR szValue);
|
||||
UINT WINAPI MsiSetPropertyW(MSIHANDLE hInstall, LPCWSTR szName,
|
||||
LPCWSTR szValue);
|
||||
UINT WINAPI MsiSetPropertyA(MSIHANDLE, LPCSTR, LPCSTR);
|
||||
UINT WINAPI MsiSetPropertyW(MSIHANDLE, LPCWSTR, LPCWSTR);
|
||||
#define MsiSetProperty WINELIB_NAME_AW(MsiSetProperty)
|
||||
|
||||
UINT WINAPI MsiGetTargetPathA(MSIHANDLE,LPCSTR,LPSTR,DWORD*);
|
||||
@@ -148,11 +168,13 @@ UINT WINAPI MsiGetSourcePathW(MSIHANDLE,LPCWSTR,LPWSTR,DWORD*);
|
||||
|
||||
MSIHANDLE WINAPI MsiGetActiveDatabase(MSIHANDLE);
|
||||
|
||||
UINT WINAPI MsiViewGetColumnInfo( MSIHANDLE, MSICOLINFO, MSIHANDLE*);
|
||||
INT WINAPI MsiProcessMessage( MSIHANDLE, INSTALLMESSAGE, MSIHANDLE);
|
||||
UINT WINAPI MsiViewGetColumnInfo(MSIHANDLE, MSICOLINFO, MSIHANDLE*);
|
||||
INT WINAPI MsiProcessMessage(MSIHANDLE, INSTALLMESSAGE, MSIHANDLE);
|
||||
|
||||
UINT WINAPI MsiSetFeatureStateA( MSIHANDLE, LPCSTR, INSTALLSTATE);
|
||||
UINT WINAPI MsiSetFeatureStateW( MSIHANDLE, LPCWSTR, INSTALLSTATE);
|
||||
UINT WINAPI MsiSetFeatureStateA(MSIHANDLE, LPCSTR, INSTALLSTATE);
|
||||
UINT WINAPI MsiSetFeatureStateW(MSIHANDLE, LPCWSTR, INSTALLSTATE);
|
||||
#define MsiSetFeatureState WINELIB_NAME_AW(MsiSetFeatureState)
|
||||
|
||||
BOOL WINAPI MsiGetMode(MSIHANDLE, MSIRUNMODE);
|
||||
|
||||
#endif /* __WINE_MSIQUERY_H */
|
||||
|
||||
Reference in New Issue
Block a user