In reference to bug #11973, I've the following observation.

Using the native .NET 2.0 installed via winetricks, I located what is 
potentially a problem with the method that .NET is using to locate the DLLs 
that it wishes to load.

The problem seems to be that .NET is attempting to locate the various DLL's it 
is going to use, by searching various directory paths. Once this does not occur 
(by placing a native DLL into the windows/system32 path) it causing a crash 
further down. It doesn't seem to utilize the LoadLibrary initially to locate 
but another function (from memory I think it NtCreateFile). With the native DLL 
in place it starts to process properly, at least until it runs into other files 
not located (as stated above).

I believe that .NET 2.0 is assuming that the files are located within the 
directory path (this may be so that it can independently utilize application 
supplied DLL files - I read that WinXP supposedly uses this policy to reduce 
problems with DLL dependencies).
This of course, totally by-passes the built-in DLL files (which should be 
located using this method, except that they do not exist in the paths .NET 
searches).

There are two possible ways currently that I can think of, which would 
potentially solve this problem:
1. Have symbolic links within the system directory (I find this to be bad 
method, for multiple reasons)
2. Have some interception of the searching for files located within the 
system32, to include all of built-in dlls.

Unfortunately, since I don't know a huge amount about Wine yet, I have no idea 
on how to code the second one, and I think having a patch for this, may solve 
quite a few problems that currently exist with using .NET based programs.


       
---------------------------------
Get the name you always wanted with the new y7mail email address.


Reply via email to