Hans Leidekker : msi: Detect installed side-by-side assemblies.

Alexandre Julliard julliard at winehq.org
Fri Mar 30 11:27:05 CDT 2012


Module: wine
Branch: master
Commit: 8ea52669155a396d52bc0f2cfd33d850b988d428
URL:    http://source.winehq.org/git/wine.git/?a=commit;h=8ea52669155a396d52bc0f2cfd33d850b988d428

Author: Hans Leidekker <hans at codeweavers.com>
Date:   Fri Mar 30 10:22:05 2012 +0200

msi: Detect installed side-by-side assemblies.

---

 dlls/msi/assembly.c |   10 +++++-----
 1 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/dlls/msi/assembly.c b/dlls/msi/assembly.c
index 6ce020e..af23c4a 100644
--- a/dlls/msi/assembly.c
+++ b/dlls/msi/assembly.c
@@ -262,13 +262,13 @@ static BOOL is_assembly_installed( IAssemblyCache *cache, const WCHAR *display_n
 
     memset( &info, 0, sizeof(info) );
     info.cbAssemblyInfo = sizeof(info);
-    hr = IAssemblyCache_QueryAssemblyInfo( cache, QUERYASMINFO_FLAG_GETSIZE, display_name, &info );
-    if (hr != HRESULT_FROM_WIN32( ERROR_INSUFFICIENT_BUFFER ))
+    hr = IAssemblyCache_QueryAssemblyInfo( cache, 0, display_name, &info );
+    if (hr == S_OK /* sxs version */ || hr == HRESULT_FROM_WIN32( ERROR_INSUFFICIENT_BUFFER ))
     {
-        TRACE("QueryAssemblyInfo returned 0x%08x\n", hr);
-        return FALSE;
+        return (info.dwAssemblyFlags == ASSEMBLYINFO_FLAG_INSTALLED);
     }
-    return (info.dwAssemblyFlags == ASSEMBLYINFO_FLAG_INSTALLED);
+    TRACE("QueryAssemblyInfo returned 0x%08x\n", hr);
+    return FALSE;
 }
 
 static const WCHAR clr_version_v10[] = {'v','1','.','0','.','3','7','0','5',0};




More information about the wine-cvs mailing list