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