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

Re: Painfull TortoiseSVN reinstall

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Thu, 18 Oct 2012 16:57:27 +0200

On Thu, Oct 18, 2012 at 3:09 PM, Tomasz Trejderowski
<tomasz_at_trejderowski.pl> wrote:
> Hi,
>
> It's just my curiosity, but maybe someone can explain me this.
>
> If TortoiseSVN is a shell client, what is the reason for killing EVERYTHING during it's install / reinstall?
>
> I can understand that setup program must shutdown explorer.exe, as this is obvious. But, why the heck it also has to kill Netbeans, Chrome and many more?

because Netbeans, Chrome and other applications use the shell dlls as
well. The most obvious use is when they show a file open/save dialog.
Other not so obvious uses are to show the file type icons, copying
files, moving files to the trash bin instead of deleting them
directly, ...

All those applications load the TSVN shell extension dll via the shell
dlls, so they have the TSVN dll loaded and therefore must be closed.

> Not only, it kills it, but in 9 cases out of 10 it is unable to restart them. So each TSVN reinstall always leaves my system completely purged out of running applications.

Restarting applications is not possible for applications that don't
implement it:
http://msdn.microsoft.com/en-us/library/windows/desktop/aa373524.aspx

>
> Moreover, it uses bruteforce method (kill) to shutdown apps, so any not saved file in Netbeans or any not bookmarked page open in Chrome usually goes hell...

Nope. It doesn't.
It sends a WM_CLOSE message to the apps. Then after the app doesn't
exist immediately, it uses the shutdown message. If the app still
doesn't quit, you get a dialog telling you that not all apps could be
closed and a restart will be required to finish the installation.

and btw: it's not TSVN that does this, that's the default behavior of
the msi installer.

> This is more than annoying as for me. Updating TSVN is always painfull for me. That much, that I postpone this operation as long as I can. And would really apperciate any explanation, why do I have to through all this pain every time new version of TSVN is released.
>
> Don't tell me that a system-layer piece of software can't update itself until it not kill everything in the system it can! I'm not that smart developer, but I did some apps in Delphi, some of them were even run at system level and none of them had to meet absolutely clean system to be installed or updated. TortoiseSVN isn't even a system service, only a small program running in background.
>

Actually, updating services is much easier than updating shell extensions.

> So, unless someone provide me with a reasonable explanation/proof, I'm willing to rather think, that this is laziness of setup developer, that went the easiest way, he can. Not a real, reasonable requirements.

if you think you can do better than the developers at Microsoft (the
ones who wrote the msi installer), go ahead.

Stefan

-- 
       ___
  oo  // \\      "De Chelonian Mobile"
 (_,\/ \_/ \     TortoiseSVN
   \ \_/_\_/>    The coolest Interface to (Sub)Version Control
   /_/   \_\     http://tortoisesvn.net
------------------------------------------------------
http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=3021729
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2012-10-18 16:57:54 CEST

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