Hans Leidekker : msi: Support all install contexts in MsiReinstallFeatureW.
Alexandre Julliard
julliard at winehq.org
Tue Dec 13 13:01:28 CST 2011
Module: wine
Branch: master
Commit: 00477d601eb1604e0854a447ffd5a7c56cf8e5b2
URL: http://source.winehq.org/git/wine.git/?a=commit;h=00477d601eb1604e0854a447ffd5a7c56cf8e5b2
Author: Hans Leidekker <hans at codeweavers.com>
Date: Tue Dec 13 13:19:01 2011 +0100
msi: Support all install contexts in MsiReinstallFeatureW.
---
dlls/msi/msi.c | 26 ++++++++++++++------------
1 files changed, 14 insertions(+), 12 deletions(-)
diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c
index 3727560..21ffb39 100644
--- a/dlls/msi/msi.c
+++ b/dlls/msi/msi.c
@@ -3773,18 +3773,20 @@ UINT WINAPI MsiGetShortcutTargetW( LPCWSTR szShortcutTarget,
UINT WINAPI MsiReinstallFeatureW( LPCWSTR szProduct, LPCWSTR szFeature,
DWORD dwReinstallMode )
{
- MSIPACKAGE* package = NULL;
+ static const WCHAR szLogVerbose[] =
+ {' ','L','O','G','V','E','R','B','O','S','E',0};
+ MSIPACKAGE *package;
+ MSIINSTALLCONTEXT context;
UINT r;
- WCHAR sourcepath[MAX_PATH];
- WCHAR filename[MAX_PATH];
- static const WCHAR szLogVerbose[] = {
- ' ','L','O','G','V','E','R','B','O','S','E',0 };
- WCHAR reinstallmode[11];
+ WCHAR sourcepath[MAX_PATH], filename[MAX_PATH], reinstallmode[11];
LPWSTR ptr;
DWORD sz;
- FIXME("%s %s 0x%08x\n",
- debugstr_w(szProduct), debugstr_w(szFeature), dwReinstallMode);
+ TRACE("%s, %s, 0x%08x\n", debugstr_w(szProduct), debugstr_w(szFeature), dwReinstallMode);
+
+ r = msi_locate_product( szProduct, &context );
+ if (r != ERROR_SUCCESS)
+ return r;
ptr = reinstallmode;
@@ -3811,12 +3813,12 @@ UINT WINAPI MsiReinstallFeatureW( LPCWSTR szProduct, LPCWSTR szFeature,
*ptr = 0;
sz = sizeof(sourcepath);
- MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
- MSICODE_PRODUCT, INSTALLPROPERTY_LASTUSEDSOURCEW, sourcepath, &sz);
+ MsiSourceListGetInfoW( szProduct, NULL, context, MSICODE_PRODUCT,
+ INSTALLPROPERTY_LASTUSEDSOURCEW, sourcepath, &sz );
sz = sizeof(filename);
- MsiSourceListGetInfoW(szProduct, NULL, MSIINSTALLCONTEXT_USERUNMANAGED,
- MSICODE_PRODUCT, INSTALLPROPERTY_PACKAGENAMEW, filename, &sz);
+ MsiSourceListGetInfoW( szProduct, NULL, context, MSICODE_PRODUCT,
+ INSTALLPROPERTY_PACKAGENAMEW, filename, &sz );
lstrcatW( sourcepath, filename );
More information about the wine-cvs
mailing list