Steven Edwards schrieb: > On Mon, Apr 28, 2008 at 3:51 AM, Steven Edwards <[EMAIL PROTECTED]> wrote: >> On Sun, Apr 27, 2008 at 9:19 AM, Dan Kegel <[EMAIL PROTECTED]> wrote: >> > 2. You never clear that environment variable... what happens >> > when an app just tests for the existence of a DLL by >> > trying to load it? We don't want to print an error then. >> > (That's why I originally suggested clearing the env var >> > after the app finished loading. That's still broken -- it >> > won't catch errors in helper exes -- but it's better than nothing.) >> >> I assume you mean if the application is just checking manually for the >> dll via GetModuleHandle or LoadLibrary? I'll write a test case for >> this to see if it causes a problem. My assumption was that the failure >> case for that was at a higher level but I'll check with a test case. I >> don't think we need to clear the variable....what I mean is I wonder >> if there is a way to set the variable to be inherited by all child >> processes launched by start.exe.so in unix mode. I'll look in to this >> as well. > > I assumed the code path must be different so I wrote a test app that > tried to do a GetProcAddress or LoadLibrary on a non-existent dll and > was right, It did not throw the messagebox.
But I think it will still trigger the msg box if the application is checking for an existent foo.dll via LoadLibrary and foo.dll depends on a missing xyz.dll. It won't trigger if you clear the environment variable as Dan said. I'm not sure though which way is the right one here.