Bryan DeGrendel : mscoree: Return S_OK if mono runtime is found.

Alexandre Julliard julliard at wine.codeweavers.com
Fri Aug 24 05:24:46 CDT 2007


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

Author: Bryan DeGrendel <sirnuke at gmail.com>
Date:   Thu Aug 23 16:22:28 2007 -0400

mscoree: Return S_OK if mono runtime is found.

---

 dlls/mscoree/mscoree_main.c |   96 +++++++++++++++++++++++--------------------
 1 files changed, 52 insertions(+), 44 deletions(-)

diff --git a/dlls/mscoree/mscoree_main.c b/dlls/mscoree/mscoree_main.c
index 678b346..b3879c0 100644
--- a/dlls/mscoree/mscoree_main.c
+++ b/dlls/mscoree/mscoree_main.c
@@ -34,50 +34,6 @@
 
 WINE_DEFAULT_DEBUG_CHANNEL( mscoree );
 
-HRESULT WINAPI CorBindToRuntimeHost(LPCWSTR pwszVersion, LPCWSTR pwszBuildFlavor,
-                                    LPCWSTR pwszHostConfigFile, VOID *pReserved,
-                                    DWORD startupFlags, REFCLSID rclsid,
-                                    REFIID riid, LPVOID *ppv)
-{
-    FIXME("(%s, %s, %s, %p, %d, %p, %p, %p): stub!\n", debugstr_w(pwszVersion),
-          debugstr_w(pwszBuildFlavor), debugstr_w(pwszHostConfigFile), pReserved,
-          startupFlags, rclsid, riid, ppv);
-
-    return E_FAIL;
-}
-
-BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
-{
-    TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
-
-    switch (fdwReason)
-    {
-    case DLL_WINE_PREATTACH:
-        return FALSE;  /* prefer native version */
-    case DLL_PROCESS_ATTACH:
-        DisableThreadLibraryCalls(hinstDLL);
-        break;
-    case DLL_PROCESS_DETACH:
-        break;
-    }
-    return TRUE;
-}
-
-BOOL WINAPI _CorDllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
-{
-    FIXME("(%p, %d, %p): stub\n", hinstDLL, fdwReason, lpvReserved);
-
-    switch (fdwReason)
-    {
-    case DLL_PROCESS_ATTACH:
-        DisableThreadLibraryCalls(hinstDLL);
-        break;
-    case DLL_PROCESS_DETACH:
-        break;
-    }
-    return TRUE;
-}
-
 static LPWSTR get_mono_exe(void)
 {
     static const WCHAR mono_exe[] = {'b','i','n','\\','m','o','n','o','.','e','x','e',' ',0};
@@ -126,6 +82,58 @@ static LPWSTR get_mono_exe(void)
     return ret;
 }
 
+HRESULT WINAPI CorBindToRuntimeHost(LPCWSTR pwszVersion, LPCWSTR pwszBuildFlavor,
+                                    LPCWSTR pwszHostConfigFile, VOID *pReserved,
+                                    DWORD startupFlags, REFCLSID rclsid,
+                                    REFIID riid, LPVOID *ppv)
+{
+    WCHAR *mono_exe;
+
+    FIXME("(%s, %s, %s, %p, %d, %p, %p, %p): semi-stub!\n", debugstr_w(pwszVersion),
+          debugstr_w(pwszBuildFlavor), debugstr_w(pwszHostConfigFile), pReserved,
+          startupFlags, rclsid, riid, ppv);
+
+    if (!(mono_exe = get_mono_exe()))
+    {
+        MESSAGE("wine: Install the Windows version of Mono to run .NET executables\n");
+        return E_FAIL;
+    }
+
+    return S_OK;
+}
+
+BOOL WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+    TRACE("(%p, %d, %p)\n", hinstDLL, fdwReason, lpvReserved);
+
+    switch (fdwReason)
+    {
+    case DLL_WINE_PREATTACH:
+        return FALSE;  /* prefer native version */
+    case DLL_PROCESS_ATTACH:
+        DisableThreadLibraryCalls(hinstDLL);
+        break;
+    case DLL_PROCESS_DETACH:
+        break;
+    }
+    return TRUE;
+}
+
+BOOL WINAPI _CorDllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
+{
+    FIXME("(%p, %d, %p): stub\n", hinstDLL, fdwReason, lpvReserved);
+
+    switch (fdwReason)
+    {
+    case DLL_PROCESS_ATTACH:
+        DisableThreadLibraryCalls(hinstDLL);
+        break;
+    case DLL_PROCESS_DETACH:
+        break;
+    }
+    return TRUE;
+}
+
 __int32 WINAPI _CorExeMain(void)
 {
     STARTUPINFOW si;




More information about the wine-cvs mailing list