Commit a73182ca authored by Zebediah Figura's avatar Zebediah Figura Committed by Alexandre Julliard

msi: Make MsiSetProperty() RPC-compatible.

parent 2192c9a5
......@@ -2203,35 +2203,11 @@ UINT WINAPI MsiSetPropertyW( MSIHANDLE hInstall, LPCWSTR szName, LPCWSTR szValue
if( !package )
{
MSIHANDLE remote;
HRESULT hr;
BSTR name = NULL, value = NULL;
if (!(remote = msi_get_remote(hInstall)))
return ERROR_INVALID_HANDLE;
name = SysAllocString( szName );
value = SysAllocString( szValue );
if ((!name && szName) || (!value && szValue))
{
SysFreeString( name );
SysFreeString( value );
return ERROR_OUTOFMEMORY;
}
hr = remote_SetProperty(remote, name, value);
SysFreeString( name );
SysFreeString( value );
if (FAILED(hr))
{
if (HRESULT_FACILITY(hr) == FACILITY_WIN32)
return HRESULT_CODE(hr);
return ERROR_FUNCTION_FAILED;
}
return ERROR_SUCCESS;
return remote_SetProperty(remote, szName, szValue);
}
ret = msi_set_property( package->db, szName, szValue, -1 );
......@@ -2500,10 +2476,9 @@ UINT __cdecl remote_GetProperty(MSIHANDLE hinst, LPCWSTR property, LPWSTR *value
return r;
}
HRESULT __cdecl remote_SetProperty(MSIHANDLE hinst, BSTR property, BSTR value)
UINT __cdecl remote_SetProperty(MSIHANDLE hinst, LPCWSTR property, LPCWSTR value)
{
UINT r = MsiSetPropertyW(hinst, property, value);
return HRESULT_FROM_WIN32(r);
return MsiSetPropertyW(hinst, property, value);
}
HRESULT __cdecl remote_ProcessMessage(MSIHANDLE hinst, INSTALLMESSAGE message, MSIHANDLE record)
......
......@@ -43,7 +43,7 @@ interface IWineMsiRemote
HRESULT remote_GetActiveDatabase( [in] MSIHANDLE hinst, [out] MSIHANDLE *handle );
UINT remote_GetProperty( [in] MSIHANDLE hinst, [in, string] LPCWSTR property, [out, string] LPWSTR *value, [out] DWORD *size );
HRESULT remote_SetProperty( [in] MSIHANDLE hinst, [in] BSTR property, [in] BSTR value );
UINT remote_SetProperty( [in] MSIHANDLE hinst, [in, string, unique] LPCWSTR property, [in, string, unique] LPCWSTR value );
HRESULT remote_ProcessMessage( [in] MSIHANDLE hinst, [in] INSTALLMESSAGE message, [in] MSIHANDLE record );
HRESULT remote_DoAction( [in] MSIHANDLE hinst, [in] BSTR action );
HRESULT remote_Sequence( [in] MSIHANDLE hinst, [in] BSTR table, [in] int sequence );
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment