[svn.haxx.se] · SVN Dev · SVN Users · SVN Org · TSVN Dev · TSVN Users · Subclipse Dev · Subclipse Users · this month's index

Re: Docbug: SVN_ASP_DOT_NET_HACK required more often than listed

From: Joachim Durchholz <jo_at_durchholz.org>
Date: 2006-04-19 20:57:22 CEST

Stefan Küng schrieb:
> Joachim Durchholz wrote:
>
>> I had TortoiseSVN working well for a while. When installing
>> CorelDraw Essentials 2 SE, I started to get alert boxes reading
>> "The dynamic link library gdiplus.dll could not be found in the
>> system path "C:\WinNT;..."." (wording may vary, I got that message
>> in German).
>
> From which app do you get that error message?

Windows Explorer.

>> Checking accesses via FileMon revealed that explorer.exe was checking
>> oodles of
>> "filter" extensions for the .svn directory. Together with my background
>> knowledge that GDI+ is a part of .net, this made me think about the
>> .net hack.
>
> What do you mean with "filter extensions"?

Extensions that can be hooked into Windows Explorers. They were in the
"Filters" folder of CorelDraw, and I vaguely remember having seen that
terminology in registry keys, too.
Essentially, that's

> GDI+ is *not* part of .net, but an additional dll which can be
> redistributed freely, and many apps do (it's installed with XP by
> default). Since MS clearly states that you should not install the
> gdiplus.dll into the windows/system32 dir yourself, most apps don't do
> that. But as I found out, many apps not well tested on Win2k assume that
> gdiplus.dll is always there and don't install it (maybe Corel is such an
> app). In that case, you can get the gdiplus.dll from MS and put it into
> your windows\system32 directory.

Oh, I *have* it. Actually many, many times:
C:\Programme\Ahead\Nero Toolkit
C:\Programme\Macromedia\Dreamweaver MX 2004
Three times in .net folders (one for .net 1.0, one for .net 1.1, and one
for .net 2.0) (can't find out the exact location right now, I'm typing
this on another machine that doesn't seem to have .net installed).

The latter three files were why I was assuming it's .net stuff; I wasn't
aware that MS is distributing GDI+ separately from .net.

> TortoiseSVN also uses that dll, but only when you save the revision
> graph as e.g. a png file. And it loads that dll dynamically, so if you
> don't save the revision graph, TSVN doesn't even touch that dll.
>
>> In fact, applying the .net hack made the problem vanish.
>
> I seriously doubt that.

Sorry, it's fact, not made-up.

I did the following:
* Logged in as Administrator
* Called up the Environment Variables panel
* Added a system variable as per the description, value 1
* Logged out and logged as Administrator
* Clicked around in Windows Explorer and did *not* get the messages.

After this, I renamed all .svn directories to _svn and found it working
beautifully. Saved me a full checkout of all the repositories.
(Something to add to the docs for the hack, maybe? ... unless there are
problems with that approach that I didn't encounter, of course. I did an
Update just to be on the safe side, but TSVN didn't think anything
should be updated - actually I had expected that, because TSVN had
already changed all the icons to Conflicted for directories with both
.svn and _svn, changing them back to Normal as soon the directory
contained just _svn directories. I.e. I was *sure* that TSVN knew what
was happening, because it reported the status changes reasonably.)

>> I'm not sure whether the actual bug is in Corel's software, in
>> TSVN, or in explorer.exe. The various symptoms that point in
>> different directions are: * Activating the .net hack, logging off
>> and logging on made the problem disappear, even though there still
>> were .svn directories. (This points towards TSVN.)
>
> Did you try logging off/on without changing the .net hack setting? Maybe
> the key point here is log off/on and not the hack.

I had logged on as Administrator to install Corel, then logged off and
logged on as normal user. The error message occurred in the user
account; I then logged off, logged on as Administrator, and checked
again, just to find that the messages would appear there as well. (So
it's not related to which user the software was installed as, too.)

>> * I observed that even after the application of the .net hack, the
>> SVN icons still were around. This may either be a bug in TSVN's
>> icon cache, or an indicator that invalidated the previous
>> observation.
>
> It depends on whether the cache process was exited when you logged off
> or not.

Dunno - I never mucked with the caching, so everything should be at the
standard settings. (I don't know of any way to kill the cache process
except via Task Manager anyway, and it never occurred to me to try that
when logging off anyway.)

>> * Uninstalling CorelDraw made the problem disappear, too. (This points
>> towards
>> CorelDraw.)
>> * I think the bug was triggered whenever:
>> - CorelDraw was installed
>> - the .net hack was not activated
>> - Windows explorer was open in a way that made any .svn directory
>> visible
>> - I was left-clicking on any directory.
>>
>> (If anybody wishes to test with CorelDraw Essentials 2 Special
>> Edition: it's currently affordable. We paid 10 Euros +
>> postage&handling to get it.)
>
> I really don't like to install CorelDraw here. My harddrive is full
> enough (Laptops don't have that big harddrives).

Sure - I wasn't expecting anybody to go out of his way to do that.
I added that remark just in case somebody was considering to install
CorelDraw anyway.

Regards,
Jo

Um... should I reply personally and to the list, or should I leave out
one of the addresses?
Also, I'm not on any list or newsgroup, so please reply directly, too.
(Sorry, forgot to mention that on my first post.)

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@tortoisesvn.tigris.org
For additional commands, e-mail: dev-help@tortoisesvn.tigris.org
Received on Wed Apr 19 21:15:04 2006

This is an archived mail posted to the TortoiseSVN Dev mailing list.

This site is subject to the Apache Privacy Policy and the Apache Public Forum Archive Policy.