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:
Gé van Geldorp
2005-01-12 09:31:44 +00:00
parent e620ebee7f
commit 7fb581fc0b
15 changed files with 4505 additions and 3140 deletions
+33 -11
View File
@@ -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 */