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

Re: Bug Report: Do not need to restart computer after every installation

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Thu, 07 Feb 2008 21:07:36 +0100

Sean Leonard wrote:
> Bug Summary: This is more of an inconvenience than anything: after every
> install, upgrade, or uninstall of TortoiseSVN, the user is prompted to
> restart his or her computer.
> Why It Matters: It can take forever to restart a Windows computer,
> restarting is disruptive to one's workflow, and restarting appears
> unnecessary.
> Request Summary: Unless TortoiseSVN *really* needs to restart the whole
> computer, request instead that the user log off and log back in.
> Actually, if explorer.exe is all that matters, volunteer to restart
> explorer.exe without logging the user out and in again.
> Versions Tested: TortoiseSVN 1.4.99, build 12047 32-bit -dev (latest
> nightly) and 1.4.7 32-bit
>
> Steps to Reproduce:
> Install TortoiseSVN.
> Read final dialog box.
>
> Commentary:
> It is annoying to have to restart the computer (twice!--once to
> uninstall, then to reinstall in case of downgrade) in order to change
> TortoiseSVN. I actually just clicked "no" and then logged back in again,
> and TortoiseSVN seems to be working just fine.

The messagebox asking you to restart is necessary. Unexperienced users
*should* restart. And if you know what you're doing, you can click 'no'
and go on.

The reason for the restart is simple:
* on Win2k, dll's which are in use can't be replaced. That means there's
a version difference between the shell dll and TortoiseProc and the
cache. Which could lead to crashes of either of them, or at least to
completely wrong overlays, not working context menus, ....
* on XP and later, the dll's are replaced even if they're in use. But
all processes which have the dll already loaded are still using the old
version they have in memory. Which leads to the very same compatibility
problems mentioned above.

And don't forget: it's not only the explorer that has the shell
extension dll loaded but *every* application that shows a file-open/save
dialog or uses some other shell API (e.g., the one used to get the
system image list also loads all dlls).

Stefan

-- 
        ___
   oo  // \\      "De Chelonian Mobile"
  (_,\/ \_/ \     TortoiseSVN
    \ \_/_\_/>    The coolest Interface to (Sub)Version Control
    /_/   \_\     http://tortoisesvn.net

Received on 2008-02-07 21:07:48 CET

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