msi: Support opening transform databases. (try 2)
Hans Leidekker
hans at meelstraat.net
Tue Jun 30 06:20:38 CDT 2009
Oops, forgot to include changes to the tests, please use this one.
-Hans
diff --git a/dlls/msi/database.c b/dlls/msi/database.c
index bc9319e..4328c04 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
More information about the wine-patches
mailing list