Module: wine Branch: master Commit: 60b7604aa18089fcec5b336a06901f7f4cef80f0 URL: http://source.winehq.org/git/wine.git/?a=commit;h=60b7604aa18089fcec5b336a06...
Author: Hans Leidekker hans@meelstraat.net Date: Tue Jun 30 13:20:38 2009 +0200
msi: Support opening transform databases.
---
dlls/msi/database.c | 8 ++------ dlls/msi/msipriv.h | 4 ++++ dlls/msi/msiquery.c | 2 -- dlls/msi/tests/install.c | 20 ++++---------------- 4 files changed, 10 insertions(+), 24 deletions(-)
diff --git a/dlls/msi/database.c b/dlls/msi/database.c index bc9319e..4c21876 100644 --- a/dlls/msi/database.c +++ b/dlls/msi/database.c @@ -41,11 +41,6 @@
WINE_DEFAULT_DEBUG_CHANNEL(msi);
-DEFINE_GUID( CLSID_MsiDatabase, 0x000c1084, 0x0000, 0x0000, - 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); -DEFINE_GUID( CLSID_MsiPatch, 0x000c1086, 0x0000, 0x0000, - 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); - /* * .MSI file format * @@ -163,7 +158,8 @@ UINT MSI_OpenDatabaseW(LPCWSTR szDBPath, LPCWSTR szPersist, MSIDATABASE **pdb) }
if ( !IsEqualGUID( &stat.clsid, &CLSID_MsiDatabase ) && - !IsEqualGUID( &stat.clsid, &CLSID_MsiPatch ) ) + !IsEqualGUID( &stat.clsid, &CLSID_MsiPatch ) && + !IsEqualGUID( &stat.clsid, &CLSID_MsiTransform ) ) { ERR("storage GUID is not a MSI database GUID %s\n", debugstr_guid(&stat.clsid) ); diff --git a/dlls/msi/msipriv.h b/dlls/msi/msipriv.h index 8c4bd3a..b61d7b6 100644 --- a/dlls/msi/msipriv.h +++ b/dlls/msi/msipriv.h @@ -605,6 +605,10 @@ DEFINE_GUID(CLSID_IMsiServerMessage, 0x000C101D,0x0000,0x0000,0xC0,0x00,0x00,0x0 DEFINE_GUID(CLSID_IWineMsiRemoteCustomAction,0xBA26E6FA,0x4F27,0x4f56,0x95,0x3A,0x3F,0x90,0x27,0x20,0x18,0xAA); DEFINE_GUID(CLSID_IWineMsiRemotePackage,0x902b3592,0x9d08,0x4dfd,0xa5,0x93,0xd0,0x7c,0x52,0x54,0x64,0x21);
+DEFINE_GUID(CLSID_MsiTransform, 0x000c1082,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); +DEFINE_GUID(CLSID_MsiDatabase, 0x000c1084,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); +DEFINE_GUID(CLSID_MsiPatch, 0x000c1086,0x0000,0x0000,0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); + /* handle unicode/ascii output in the Msi* API functions */ typedef struct { BOOL unicode; diff --git a/dlls/msi/msiquery.c b/dlls/msi/msiquery.c index 43c7b4d..5a46f9b 100644 --- a/dlls/msi/msiquery.c +++ b/dlls/msi/msiquery.c @@ -716,8 +716,6 @@ MSIHANDLE WINAPI MsiGetLastErrorRecord( void ) return 0; }
-DEFINE_GUID( CLSID_MsiTransform, 0x000c1082, 0x0000, 0x0000, 0xc0,0x00,0x00,0x00,0x00,0x00,0x00,0x46); - UINT MSI_DatabaseApplyTransformW( MSIDATABASE *db, LPCWSTR szTransformFile, int iErrorCond ) { diff --git a/dlls/msi/tests/install.c b/dlls/msi/tests/install.c index 4912f8c..e6c22fb 100644 --- a/dlls/msi/tests/install.c +++ b/dlls/msi/tests/install.c @@ -4386,31 +4386,19 @@ static void set_transform_summary_info(void)
/* build summary info */ r = MsiGetSummaryInformation(0, mstfile, 3, &suminfo); - todo_wine - { - ok(r == ERROR_SUCCESS , "Failed to open summaryinfo\n"); - } + ok(r == ERROR_SUCCESS , "Failed to open summaryinfo\n");
r = MsiSummaryInfoSetProperty(suminfo, PID_TITLE, VT_LPSTR, 0, NULL, "MSITEST"); - todo_wine - { - ok(r == ERROR_SUCCESS, "Failed to set summary info\n"); - } + ok(r == ERROR_SUCCESS, "Failed to set summary info\n");
r = MsiSummaryInfoSetProperty(suminfo, PID_REVNUMBER, VT_LPSTR, 0, NULL, "{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}1.1.1;" "{7DF88A48-996F-4EC8-A022-BF956F9B2CBB}1.1.1;" "{4C0EAA15-0264-4E5A-8758-609EF142B92D}"); - todo_wine - { - ok(r == ERROR_SUCCESS , "Failed to set summary info\n"); - } + ok(r == ERROR_SUCCESS , "Failed to set summary info\n");
r = MsiSummaryInfoSetProperty(suminfo, PID_PAGECOUNT, VT_I4, 100, NULL, NULL); - todo_wine - { - ok(r == ERROR_SUCCESS, "Failed to set summary info\n"); - } + ok(r == ERROR_SUCCESS, "Failed to set summary info\n");
r = MsiSummaryInfoPersist(suminfo); todo_wine