Hans Leidekker : msi: Implement MsiLocateComponent{A,W}.
Alexandre Julliard
julliard at wine.codeweavers.com
Tue May 30 05:56:46 CDT 2006
Module: wine
Branch: refs/heads/master
Commit: 4f62bf79dcd31989dfbe8875692e0b7b4e1c7308
URL: http://source.winehq.org/git/?p=wine.git;a=commit;h=4f62bf79dcd31989dfbe8875692e0b7b4e1c7308
Author: Hans Leidekker <hans at 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,
More information about the wine-cvs
mailing list