From 7590a3f33501b9dd837c4f6ac80f15c10c158d0a Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Tue, 24 Mar 2009 10:25:34 +0100 Subject: [PATCH] msi: Implement MsiReinstallProductA/W. --- dlls/msi/msi.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/dlls/msi/msi.c b/dlls/msi/msi.c index 2f2938c5ca5..445d1359edc 100644 --- a/dlls/msi/msi.c +++ b/dlls/msi/msi.c @@ -249,14 +249,26 @@ UINT WINAPI MsiInstallProductW(LPCWSTR szPackagePath, LPCWSTR szCommandLine) UINT WINAPI MsiReinstallProductA(LPCSTR szProduct, DWORD dwReinstallMode) { - FIXME("%s %08x\n", debugstr_a(szProduct), dwReinstallMode); - return ERROR_CALL_NOT_IMPLEMENTED; + LPWSTR wszProduct; + UINT rc; + + TRACE("%s %08x\n", debugstr_a(szProduct), dwReinstallMode); + + wszProduct = strdupAtoW(szProduct); + + rc = MsiReinstallProductW(wszProduct, dwReinstallMode); + + msi_free(wszProduct); + return rc; } UINT WINAPI MsiReinstallProductW(LPCWSTR szProduct, DWORD dwReinstallMode) { - FIXME("%s %08x\n", debugstr_w(szProduct), dwReinstallMode); - return ERROR_CALL_NOT_IMPLEMENTED; + static const WCHAR szAll[] = {'A','L','L',0}; + + TRACE("%s %08x\n", debugstr_w(szProduct), dwReinstallMode); + + return MsiReinstallFeatureW(szProduct, szAll, dwReinstallMode); } UINT WINAPI MsiApplyPatchA(LPCSTR szPatchPackage, LPCSTR szInstallPackage,