Module: wine Branch: refs/heads/master Commit: 4f62bf79dcd31989dfbe8875692e0b7b4e1c7308 URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=4f62bf79dcd31989dfbe8875...
Author: Hans Leidekker hans@it.vu.nl Date: Mon May 29 12:51:00 2006 +0200
msi: Implement MsiLocateComponent{A,W}.
---
dlls/msi/msi.c | 20 ++++++++++++++++---- 1 files changed, 16 insertions(+), 4 deletions(-)
diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index 53efaee..05d9380 100644 --- a/dlls/msi/msi.c +++ b/dlls/msi/msi.c @@ -835,15 +835,27 @@ LANGID WINAPI MsiLoadStringA( MSIHANDLE INSTALLSTATE WINAPI MsiLocateComponentA(LPCSTR szComponent, LPSTR lpPathBuf, DWORD *pcchBuf) { - FIXME("%s %p %p\n", debugstr_a(szComponent), lpPathBuf, pcchBuf); - return INSTALLSTATE_UNKNOWN; + char szProduct[GUID_SIZE]; + + TRACE("%s %p %p\n", debugstr_a(szComponent), lpPathBuf, pcchBuf); + + if (MsiGetProductCodeA( szComponent, szProduct ) != ERROR_SUCCESS) + return INSTALLSTATE_UNKNOWN; + + return MsiGetComponentPathA( szProduct, szComponent, lpPathBuf, pcchBuf ); }
INSTALLSTATE WINAPI MsiLocateComponentW(LPCWSTR szComponent, LPWSTR lpPathBuf, DWORD *pcchBuf) { - FIXME("%s %p %p\n", debugstr_w(szComponent), lpPathBuf, pcchBuf); - return INSTALLSTATE_UNKNOWN; + WCHAR szProduct[GUID_SIZE]; + + TRACE("%s %p %p\n", debugstr_w(szComponent), lpPathBuf, pcchBuf); + + if (MsiGetProductCodeW( szComponent, szProduct ) != ERROR_SUCCESS) + return INSTALLSTATE_UNKNOWN; + + return MsiGetComponentPathW( szProduct, szComponent, lpPathBuf, pcchBuf ); }
UINT WINAPI MsiMessageBoxA(HWND hWnd, LPCSTR lpText, LPCSTR lpCaption, UINT uType,