msi: Support opening transform databases.
This commit is contained in:
parent
4c0edba681
commit
60b7604aa1
|
@ -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) );
|
||||
|
|
|
@ -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;
|
||||
|
|
|
@ -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 )
|
||||
{
|
||||
|
|
|
@ -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");
|
||||
}
|
||||
|
||||
r = MsiSummaryInfoSetProperty(suminfo, PID_TITLE, VT_LPSTR, 0, NULL, "MSITEST");
|
||||
todo_wine
|
||||
{
|
||||
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");
|
||||
}
|
||||
|
||||
r = MsiSummaryInfoSetProperty(suminfo, PID_PAGECOUNT, VT_I4, 100, NULL, NULL);
|
||||
todo_wine
|
||||
{
|
||||
ok(r == ERROR_SUCCESS, "Failed to set summary info\n");
|
||||
}
|
||||
|
||||
r = MsiSummaryInfoPersist(suminfo);
|
||||
todo_wine
|
||||
|
|
Loading…
Reference in New Issue