It's a bit unfortunate that the latest MSVCRT is apparently dependent on 
the system having .Net installed -- if it can't use those assembly DLLs 
when they're in the same directory as your executable, it's not doing 
"normal" .Net "resolve this assembly reference" work -- it's apparently 
doing something rather different / special.  Perhaps you could find an 
MSVCRT version that's newer than 6 but not dependent on .Net.  (The one 
the came with Visual Studio 2003, for example, might qualify.)

This is DLL hell in action, with a new twist.  Ugh.

Good luck...

J. Merrill



From:
Opera Lover <[email protected]>
To:
[email protected]
Date:
05/10/2010 11:19 AM
Subject:
Re: [Neko] SuspendThread problem (SHWX + Neko + GC.DLL) -       Recompile 
Neko help needed
Sent by:
<[email protected]>



Hi again J.Merrill,

When I execute recompiled neko.exe in a command prompt (cmd.exe) it simply 
says:
"The system cannot execute the specified program." (not quite verbose 
IMHO)

Now, if I go to the event viewer, the error details are:

Error, Event ID: 32
Description: Dependent Assembly Microsoft.VC90.CRT could not be found and 
Last Error was The referenced assembly is not installed on your system.

Error, Event ID: 59
Description: Resolve Partial Assembly failed for Microsoft.VC90.CRT. 
Reference error message: The referenced assembly is not installed on your 
system.
.

So I think it does not work with simply copying the required DLLs in the 
same folder as the neko.exe (as in .NET, where this approach works). I 
also tried with Dependency Walker (a Visual Studio tool) to copy all the 
required DLLs:
- msvcm90.dll
- msvcp90.dll
- msvcr90.dll

So, I am afraid that I am back with the original problem... trying to 
recompile neko.exe with MSVCRT 6.0.

Thanks for your help :-)


On 07/05/2010 21:20, [email protected] wrote: 

What's the "cannot start" symptom that you see?  You might be able to use 
Process Monitor (from the same source as Process Explorer) to determine 
that -- just as a possible example -- the version of MSVCRT that you put 
into your directory requires a matching ABCD.DLL that you'd also have to 
include in your directory, because it doesn't come with XP SP3. 

Process Monitor is not super-easy to use.  If it's Neko.exe that can't 
start, set a Process Name filter to specify that, and don't leave it 
turned on for very long.  (Turn it on, try running neko.exe, then turn it 
off and look at the accumulated info.) 

J. Merrill



From: 
Opera Lover <[email protected]> 
To: 
[email protected] 
Date: 
05/07/2010 06:50 AM 
Subject: 
Re: [Neko] SuspendThread problem (SHWX + Neko + GC.DLL) -        Recompile 
       Neko help needed 
Sent by: 
<[email protected]>




Hi again,

I tried that you said (putting DLLs in the same folder that recompiled 
Neko is), but I ended with a Neko.exe that can not start in a Windows XP 
SP3 clean environment (no .NET installed). So I think I will have to try 
the MSVCRT 6.0 route again...

Any hint/help about that? Many thanks!


On 05/05/2010 18:11, [email protected] wrote: 

IIRC, you're delivering your software on a CD.  You should be able to 
include any version of MSVCRT that you want on the CD in the same 
directory as your other executables, and that's what will be used when the 
code runs. 

I hope that info is useful to you.  (You might want to download Process 
Explorer from sysinternals.com.  It will let you see what DLLs a process 
has loaded -- to confirm that the DLL you're delivering is the one that 
the process is loading.) 

J. Merrill 
From: 
Opera Lover <[email protected]> 
To: 
[email protected] 
Date: 
05/05/2010 06:46 AM 
Subject: 
Re: [Neko] SuspendThread problem (SHWX + Neko + GC.DLL) - Recompile Neko 
help needed 
Sent by: 
<[email protected]>





On 04/05/2010 14:05, Nicolas Cannasse wrote:
>
> You can try to recompile Neko + all neko libraries with your 
> VisualStudio, since you maybe don't have to use MSVCRT 6.0
>
> Nicolas
>

Hi Nicolas,

That is the problem, I need to target MSVCRT 6.0 because my app should 
not require users to install anything (I think that Windows XP shipped 
with that DLL).

By the way, will I need to recompile also the Neko libraries? I though 
that I will be able to use their precompiled binaries (I though I only 
needed to comment the GC_use_DllMain() line in alloc.c).

Can some of you already able to compile Neko for Windows please compile 
a Neko binary with this small change (using MSVCRT 6.0)? Many thanks.

Regards

-- 
Neko : One VM to run them all
(http://nekovm.org)

-- 
Neko : One VM to run them all
(http://nekovm.org)

-- 
Neko : One VM to run them all
(http://nekovm.org)

Reply via email to