mirror of
https://github.com/reactos/reactos.git
synced 2025-04-21 12:40:33 +00:00
sync msi with wine 1.1.14
svn path=/trunk/; revision=39234
This commit is contained in:
parent
731e445229
commit
d89de67fd6
8 changed files with 32 additions and 9 deletions
|
@ -1206,7 +1206,7 @@ static UINT merge_diff_row(MSIRECORD *rec, LPVOID param)
|
|||
MERGETABLE *table = data->curtable;
|
||||
MERGEROW *mergerow;
|
||||
MSIQUERY *dbview;
|
||||
MSIRECORD *row;
|
||||
MSIRECORD *row = NULL;
|
||||
LPWSTR query;
|
||||
UINT r;
|
||||
|
||||
|
|
|
@ -1553,7 +1553,7 @@ UINT WINAPI MsiQueryComponentStateW(LPCWSTR szProductCode,
|
|||
TRACE("(%s, %s, %d, %s, %p)\n", debugstr_w(szProductCode),
|
||||
debugstr_w(szUserSid), dwContext, debugstr_w(szComponent), pdwState);
|
||||
|
||||
if (!pdwState)
|
||||
if (!pdwState || !szComponent)
|
||||
return ERROR_INVALID_PARAMETER;
|
||||
|
||||
if (!szProductCode || !*szProductCode || lstrlenW(szProductCode) != GUID_SIZE - 1)
|
||||
|
|
|
@ -250,8 +250,8 @@
|
|||
254 stub MsiDeterminePatchSequenceW
|
||||
255 stdcall MsiSourceListAddSourceExA(str str long long str long)
|
||||
256 stdcall MsiSourceListAddSourceExW(wstr wstr long long wstr long)
|
||||
257 stub MsiSourceListClearSourceA
|
||||
258 stub MsiSourceListClearSourceW
|
||||
257 stdcall MsiSourceListClearSourceA(str str long long str)
|
||||
258 stdcall MsiSourceListClearSourceW(wstr wstr long long wstr)
|
||||
259 stub MsiSourceListClearAllExA
|
||||
260 stub MsiSourceListClearAllExW
|
||||
261 stub MsiSourceListForceResolutionExA
|
||||
|
|
|
@ -1894,7 +1894,7 @@ static UINT msi_enum_patches(LPCWSTR szProductCode, LPCWSTR szUserSid,
|
|||
MSIINSTALLCONTEXT *pdwTargetProductContext, LPWSTR szTargetUserSid,
|
||||
LPDWORD pcchTargetUserSid, LPWSTR *szTransforms)
|
||||
{
|
||||
UINT r;
|
||||
UINT r = ERROR_INVALID_PARAMETER;
|
||||
|
||||
if (dwContext & MSIINSTALLCONTEXT_USERMANAGED)
|
||||
{
|
||||
|
|
|
@ -42,7 +42,6 @@
|
|||
#include "initguid.h"
|
||||
#include "msipriv.h"
|
||||
#include "msiserver.h"
|
||||
|
||||
WINE_DEFAULT_DEBUG_CHANNEL(msi);
|
||||
|
||||
/*
|
||||
|
|
|
@ -1314,3 +1314,27 @@ UINT WINAPI MsiSourceListClearAllW( LPCWSTR szProduct, LPCWSTR szUserName, DWORD
|
|||
FIXME("(%s %s %d)\n", debugstr_w(szProduct), debugstr_w(szUserName), dwReserved);
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/******************************************************************
|
||||
* MsiSourceListClearSourceA (MSI.@)
|
||||
*/
|
||||
UINT WINAPI MsiSourceListClearSourceA(LPCSTR szProductCodeOrPatchCode, LPCSTR szUserSid,
|
||||
MSIINSTALLCONTEXT dwContext, DWORD dwOptions,
|
||||
LPCSTR szSource)
|
||||
{
|
||||
FIXME("(%s %s %x %x %s)\n", debugstr_a(szProductCodeOrPatchCode), debugstr_a(szUserSid),
|
||||
dwContext, dwOptions, debugstr_a(szSource));
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
/******************************************************************
|
||||
* MsiSourceListClearSourceW (MSI.@)
|
||||
*/
|
||||
UINT WINAPI MsiSourceListClearSourceW(LPCWSTR szProductCodeOrPatchCode, LPCWSTR szUserSid,
|
||||
MSIINSTALLCONTEXT dwContext, DWORD dwOptions,
|
||||
LPCWSTR szSource)
|
||||
{
|
||||
FIXME("(%s %s %x %x %s)\n", debugstr_w(szProductCodeOrPatchCode), debugstr_w(szUserSid),
|
||||
dwContext, dwOptions, debugstr_w(szSource));
|
||||
return ERROR_SUCCESS;
|
||||
}
|
||||
|
|
|
@ -134,7 +134,7 @@ static UINT STORAGES_get_row( struct tagMSIVIEW *view, UINT row, MSIRECORD **rec
|
|||
|
||||
static HRESULT stream_to_storage(IStream *stm, IStorage **stg)
|
||||
{
|
||||
ILockBytes *lockbytes;
|
||||
ILockBytes *lockbytes = NULL;
|
||||
STATSTG stat;
|
||||
LPVOID data;
|
||||
HRESULT hr;
|
||||
|
@ -177,7 +177,7 @@ static HRESULT stream_to_storage(IStream *stm, IStorage **stg)
|
|||
|
||||
done:
|
||||
msi_free(data);
|
||||
ILockBytes_Release(lockbytes);
|
||||
if (lockbytes) ILockBytes_Release(lockbytes);
|
||||
return hr;
|
||||
}
|
||||
|
||||
|
|
|
@ -1818,7 +1818,7 @@ static UINT TABLE_remove_column(struct tagMSIVIEW *view, LPCWSTR table, UINT num
|
|||
|
||||
done:
|
||||
msiobj_release(&rec->hdr);
|
||||
if (columns) columns->ops->delete(columns);
|
||||
columns->ops->delete(columns);
|
||||
return r;
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in a new issue