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

Re: Question about TSCN registry entries

From: Stefan Küng <tortoisesvn_at_gmail.com>
Date: Tue, 14 Jun 2011 19:04:10 +0200

On 14.06.2011 18:12, philippe.lagardere_at_gmail.com wrote:
> Hello,
>
> I have been assigned the creation of a "toolbox" for my company,
> including various programs (TortoiseSVN, obviously, but also some
> text editors, Eclipse, Gimp, etc, etc). The whole toolbox setup is
> created using NSIS, which translates in a unique installer file to
> setup all the tools. Note that I know that "manual installations" are
> prone to errors, hardly testable and are probably unstable. I also
> read this topic
> [http://tortoisesvn.tigris.org/ds/viewMessage.do?dsForumId=4061&dsMessageId=6571],
> in which such a "manual installation" is duly criticized. But the
> problem is... I don't have a choice.
>
>
> Anyway, I have a problem reproducing the numerous registry entries
> that are created by the .msi installer. Since someone before me was
> able to install TortoiseCVS in a similar fashion, I naively thought
> it would be a simple matter of creating a couple of entries in the
> registry.
>
> Which I tried. And of course, it's not working ;) Namely, the
> integration in Explorer is failing (read : completely missing)
>
> After double-checking the work done on TortoiseCVS by my predecessor,
> it would seem that I am missing some registry keys in : -
> HKCR\CLSID\{some-ugly-hexadecimal-string} (there are numerous ugly
> hexadecimal strings, too) -
> HKLM\Software\Microsoft\Windows\CurrentVersion\Explorer\ShellIconOverlayIdentifiers\
>
>
- HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Shell Extensions\Approved
>
> One of the problem is, my knowledge of Windows registry is extremely
> basic, so there goes my question.
>
> What exactly are those keys (so I can adapt the NSIS scipt used for
> TCVS) ? Or if possible, can someone explain directly what I should do
> concerning these keys (given that I need to set these up manually ;
> any valuable information concerning tampering with the registry will
> be really appreciated)

As you already noticed, using a custom installer is bad. So why do you
want to do it anyway? You could just run the msi from your nsis
installer and be done.

And it appears that you have problems with the registry - basically
you're messing with things you admit you don't know what they're for or
what they're doing. Do you really think that's a good way to get a
properly working installer? You're risking a lot here...

Anyway: have a look at the WiX scripts we use to create the msi installer:
http://code.google.com/p/tortoisesvn/source/browse/trunk/src/TortoiseSVNSetup/StructureFragment.wxs

this one is the basic script required for TSVN. But I guess you already
have all the registry entries added from there. What you're definitely
missing is the registration of the shared Overlays component - that
component is shared by basically all TSVN clients now (TCVS, TSVN, THg,
TBazaar, TGit, ...). The reason all those other Tortoise clients also
use the msi for that component is that only msi provides reference
counting when installing components. It would be very bad if you
uninstall one Tortoise client and all other Tortoise clients would lose
their overlays because you didn't count how many Tortoise clients (or
other clients) are using that Overlay component.
So again, you see it's very, very bad what you're trying to do. There
simply can not be a good reason for this (no, your boss telling you to
is *not* a good reason - even if it's
http://en.wikipedia.org/wiki/Pointy-Haired_Boss).

But if you really want to break everything:
http://code.google.com/p/tortoisesvn/source/browse/trunk/src/TortoiseOverlays/TortoiseOverlaysDir.wxi
http://code.google.com/p/tortoisesvn/source/browse/trunk/src/TortoiseOverlays/TortoiseOverlaysDirx64.wxi

btw:
* those "ugly hexadecimal strings" are called GUIDs and are not ugly but
necessary, very useful.
* there are different GUIDs used for 32-bit and 64-bit installs

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=2765412
To unsubscribe from this discussion, e-mail: [users-unsubscribe_at_tortoisesvn.tigris.org].
Received on 2011-06-14 19:04:22 CEST

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

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