Vlad Georgescu wrote:
> Stefan Küng wrote:
>> [...]
>> an app which doesn't have the correct manifest resource can't load a dll
>> which requires the crt v8, because that will only load if the manifest
>> is correct.
>>
>> For example:
>> app built with VS2005 (has the correct manifest)
>> * can load dlls linked with crt v6 (no manifest) or crt v8
>> * can't load dll's linked with crt v7 (built with VS2002/2003)
>>
>> an app built with VC6 (has no manifest at all)
>> * can load dlls linked with crt v6
>> * can *not* load dlls linked with crt v7 or higher versions
>
> I'm not sure I understand. Are you saying that if a plugin dll has a
> manifest resource, it will be ignored? The reason I'm asking is that I
> have a httpd.exe that was built against msvcrt.dll and I can get it to
> load my mod_dav_svn.so linked with msvcrt80d.dll without any problems.
> Am I missing something?
It depends also on the OS version you're using. As I said, it can work
(depending on some OS settings) on XP and lower. But it won't work on
Server2003 and Vista for non-admin users (without changing the default
OS settings).
Also, httpd.exe runs as a service with the SYSTEM user account, which
has some more rights than a normal application.
And of course it also depends on where the crt dlls are installed to.
While it is recommended to install them with the msn (msi merge module)
provided by MS, it's not required. And some apps will install them on
their own (not every app uses an msi installer), which usually means the
crt dll's are *not* installed in the SxS cache of the OS - and then
you're screwed.
Another thing to remember: apps can get uninstalled. And (as my
experience clearly shows) they often uninstall the crt dlls too if they
have them installed before - which means the other apps which correctly
just increased the install counter of those dlls don't have them anymore.
Also remember that such situations are called "dll hell" - It'which
means they usually don't happen on the devs computer. Otherwise the s
hell because you get problems which are hard to diagnose, often don't
happen immediately but after some time (after users install other tools
and don't have any problems until they run your app again) and of course
don't happen on all machines but "just a few". But if you have enough
users, those "few" can ruin many days and weekends.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@subversion.tigris.org
For additional commands, e-mail: dev-help@subversion.tigris.org
Received on Sat May 26 14:39:42 2007