How is the TortoiseSVN shell extension registered? Every shell
extension that I've seen has been installed by registering its DLL,
for example: > regsvr32.exe [/i] SomeSHExt.dll, where the registration
code is contained with the extension code in the DLL.
How does TortoiseSVN do it? From what I can tell, the installer
manually adds the registry entries. Is this correct?
What I am trying to do is to avoid using the installer, and manually
install the required files and registry entries. I have done it this
way with a lot of dev apps, and use regsvr32 as part of a custom-made
install script (where necessary) to register shell extensions and
services and such that are too complex too simply add a registry
entry.
Thanks.
--
Alec S.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-un...@tortoisesvn.tigris.org
For additional commands, e-mail: users...@tortoisesvn.tigris.org
> How is the TortoiseSVN shell extension registered? Every shell
> extension that I've seen has been installed by registering its DLL,
> for example: > regsvr32.exe [/i] SomeSHExt.dll, where the registration
> code is contained with the extension code in the DLL.
You obviously haven't seen many extensions or other COM objects yet.
> How does TortoiseSVN do it? From what I can tell, the installer
> manually adds the registry entries. Is this correct?
yes. And there's a reason for that.
Using self registration is 'strongly discouraged' by Microsoft and
should be avoided at all costs.
http://msdn2.microsoft.com/en-us/library/aa371608.aspx
(if that isn't enough for you, you can easily find thousands of pages
complaining about failing COM-Installations simply because the
installer/uninstaller messed up by using self-registration).
> What I am trying to do is to avoid using the installer, and manually
> install the required files and registry entries. I have done it this
Good luck. Do me one favour: *never*, *ever* (!) release your custom
stuff. If you do, I'll redirect every user complaining about a failed or
messed up TSVN installation to you personally.
Stefan
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
Actually I have; plenty.
> > How does TortoiseSVN do it? From what I can tell, the installer
> > manually adds the registry entries. Is this correct?
>
> yes. And there's a reason for that.
>
> Using self registration is 'strongly discouraged' by Microsoft and
> should be avoided at all costs.http://msdn2.microsoft.com/en-us/library/aa371608.aspx
> (if that isn't enough for you, you can easily find thousands of pages
> complaining about failing COM-Installations simply because the
> installer/uninstaller messed up by using self-registration).
That's good reading and there's some valid points, but then why is it
that most extensions do it that way? I haven't had any trouble with
any yet. The problem is that the "preferred way" forces the use of an
installer which is not desirable in some circumstances. Many apps come
with installers, but also in the form of simple ZIPs. That way newbies
can get the easy one-click install method, and advanced user get the
convenience of installing manually, using simple file copying to
install the files, self-registration to register extensions, the
service controller to create services, and the device manager API to
install devices.
> > What I am trying to do is to avoid using the installer, and manually
> > install the required files and registry entries. I have done it this
>
> Good luck. Do me one favour: *never*, *ever* (!) release your custom
> stuff. If you do, I'll redirect every user complaining about a failed or
> messed up TSVN installation to you personally.
Woah there Nelly, take it easy. Release? What are you talking about? I
just want to manually install certain apps. I want to control where
they go and what they put on my system. That way I can avoid having
them tied to a specific installation or system, sort of like U3.
I really don't see why TortoiseSVN is so uptight in its installation.
I have manually installed Apache, PHP, MySQL, numerous dev languages,
media players, shell extensions, monitoring apps, screensavers,
searchers, spellcheckers, and other servers. Surely TortoiseSVN is not
more complex than some of the servers. If they can be manually
installed (copy files, set registry settings, install services), then
why can't TSVN?
>> Using self registration is 'strongly discouraged' by Microsoft and
>> should be avoided at all costs.http://msdn2.microsoft.com/en-us/library/aa371608.aspx
>> (if that isn't enough for you, you can easily find thousands of pages
>> complaining about failing COM-Installations simply because the
>> installer/uninstaller messed up by using self-registration).
>
> That's good reading and there's some valid points, but then why is it
> that most extensions do it that way? I haven't had any trouble with
The reason is simple: it *was* the recommended way back with Win3.11 and
even some time when Win95 was around. Until people discovered what's now
well known as the "dll hell".
> any yet. The problem is that the "preferred way" forces the use of an
> installer which is not desirable in some circumstances. Many apps come
I can't see any reason why msi is not desirable. It's the only way to
install applications and avoid the dll-hell. Yes, there are other
installers around which are easier to get started with. But *all* of
those *will* lead to the dll-hell, unless they could also be run without
any installation at all. If you think that's not true, just wait a while
- the dll-hell doesn't happen immediately. And maybe most of the time it
happens on only a few machines, which isn't a problem if you don't have
a big userbase.
> with installers, but also in the form of simple ZIPs. That way newbies
> can get the easy one-click install method, and advanced user get the
> convenience of installing manually, using simple file copying to
> install the files, self-registration to register extensions, the
> service controller to create services, and the device manager API to
> install devices.
Why would someone want to do all the registering manually? That's like
copying a picture by drawing it again instead of using a copy machine.
>>> What I am trying to do is to avoid using the installer, and manually
>>> install the required files and registry entries. I have done it this
>> Good luck. Do me one favour: *never*, *ever* (!) release your custom
>> stuff. If you do, I'll redirect every user complaining about a failed or
>> messed up TSVN installation to you personally.
>
> Woah there Nelly, take it easy. Release? What are you talking about? I
> just want to manually install certain apps. I want to control where
> they go and what they put on my system. That way I can avoid having
> them tied to a specific installation or system, sort of like U3.
If you want to know what the TSVN installer does, check the source. The
WiX files are in our source tree for everybody to inspect.
> I really don't see why TortoiseSVN is so uptight in its installation.
Because *we* have to deal with all the issues users get if the
installation goes wrong.
> I have manually installed Apache, PHP, MySQL, numerous dev languages,
> media players, shell extensions, monitoring apps, screensavers,
> searchers, spellcheckers, and other servers. Surely TortoiseSVN is not
> more complex than some of the servers. If they can be manually
> installed (copy files, set registry settings, install services), then
> why can't TSVN?
Because we want to do it right. It's that simple.
regedit /s uninstall.reg
On Mar 17, 12:34 pm, Stefan Küng <tortoise...@gmail.com> wrote:
> Alec S. wrote:
> > any yet. The problem is that the "preferred way" forces the use of an
> > installer which is not desirable in some circumstances. Many apps come
>
> I can't see any reason why msi is not desirable. It's the only way to
> install applications and avoid the dll-hell. Yes, there are other
> installers around which are easier to get started with. But *all* of
> those *will* lead to the dll-hell, unless they could also be run without
> any installation at all. If you think that's not true, just wait a while
> - the dll-hell doesn't happen immediately. And maybe most of the time it
> happens on only a few machines, which isn't a problem if you don't have
> a big userbase.
I don't like installer in general; I didn't complain about MSI
specifically, but now that you mention it, MSIs get copied into the
\Windows\Installer for starters. I am quite familiar with the term DLL-
Hell and have experienced a slight version of it with one or two files
over the--many--years.
> > with installers, but also in the form of simple ZIPs. That way newbies
> > can get the easy one-click install method, and advanced user get the
> > convenience of installing manually, using simple file copying to
> > install the files, self-registration to register extensions, the
> > service controller to create services, and the device manager API to
> > install devices.
>
> Why would someone want to do all the registering manually? That's like
> copying a picture by drawing it again instead of using a copy machine.
Control, security. Try getting the government (or even corporations)
to use software that they cannot trace and control every component of.
That's why Easter Eggs have been banned in all government software.
> If you want to know what the TSVN installer does, check the source. The
> WiX files are in our source tree for everybody to inspect.
Actually, I already did that. :) However, I find that Advanced
Installer gives a nice tree view of MSI package.which makes things
simpler.
> > I really don't see why TortoiseSVN is so uptight in its installation.
> Because *we* have to deal with all the issues users get if the installation goes wrong.
That's understandable, I just wonder why the devs of so many other
apps can release installer-free versions.
Great! You just broke every application that requires *one* (or more)
components of the application you just uninstalled.
> I don't like installer in general; I didn't complain about MSI
> specifically, but now that you mention it, MSIs get copied into the
> \Windows\Installer for starters. I am quite familiar with the term DLL-
> Hell and have experienced a slight version of it with one or two files
> over the--many--years.
Only a part gets copied there, and that part is required for "repair
application".
>> Why would someone want to do all the registering manually? That's like
>> copying a picture by drawing it again instead of using a copy machine.
>
> Control, security. Try getting the government (or even corporations)
> to use software that they cannot trace and control every component of.
> That's why Easter Eggs have been banned in all government software.
That's why there's open-source, where you can trace *everything* (try
that with a commercial application).
>>> I really don't see why TortoiseSVN is so uptight in its installation.
>> Because *we* have to deal with all the issues users get if the installation goes wrong.
>
> That's understandable, I just wonder why the devs of so many other
> apps can release installer-free versions.
Because they're simple apps which don't require registering with the shell?
You seem to know a lot about what apps I have and am talking about
even though you <i>shouldn't</i> have any reason to. How exactly do
you know? Is there some kind of program or website you use, are you
viewing some kind of spyware on my system, or are you just psychic?
> > I don't like installer in general; I didn't complain about MSI
> > specifically, but now that you mention it, MSIs get copied into the
> > \Windows\Installer for starters.
>
> Only a part gets copied there, and that part is required for "repair application".
And even that is a waste of space. How many times do you need to
repair an application? Isn't it sufficient to use the original
installation media on those rare occasion? I have seen that folder
explode into the gigabyte range because even though as you said it
only needs the parts to repair, that often ends up being pretty much
the whole thing, so that a single package is 10-50MB.
> >> Why would someone want to do all the registering manually? That's like
> >> copying a picture by drawing it again instead of using a copy machine.
>
> > Control, security. Try getting the government (or even corporations)
> > to use software that they cannot trace and control every component of.
> > That's why Easter Eggs have been banned in all government software.
>
> That's why there's open-source, where you can trace *everything* (try
> that with a commercial application).
And oddly enough, governments and corporations are exactly the ones
who still resist open source. Just last week I read an article in a
trade paper about how banks are at the top of the list of OSS
resisters.
> > I just wonder why the devs of so many other apps can release installer-free versions.
> Because they're simple apps which don't require registering with the shell?
Could be; I'd have to check to be sure.
With "regedit /s uninstall.reg" you remove all the registry entries the
application needed when you installed it. Including all the entries for
shared objects.
By removing those, you broke all other applications which require those
shared objects, because you removed the registry entries for those too.
I'm not psychic, I just hate it when people think they can use their own
way to do things without considering other applications at all. There
are just too many devs and people like you out there who think their way
is ok just because 'it worked before'. Do you know how many times I had
to deal with broken applications which I had nothing to do with but
which broke TSVN? Just search the mailing list!
I don't care if you break your own system that way. But if you then come
here complaining about TSVN making it hard for you...
>>> I don't like installer in general; I didn't complain about MSI
>>> specifically, but now that you mention it, MSIs get copied into the
>>> \Windows\Installer for starters.
>> Only a part gets copied there, and that part is required for "repair application".
>
> And even that is a waste of space. How many times do you need to
> repair an application? Isn't it sufficient to use the original
> installation media on those rare occasion? I have seen that folder
> explode into the gigabyte range because even though as you said it
> only needs the parts to repair, that often ends up being pretty much
> the whole thing, so that a single package is 10-50MB.
In case you don't know: there's a registry setting where you can
deactivate that behavior of the Windows installer. But once you activate
it, you have to insert the installation CD/DVD for every update or
change you make.
>>>> Why would someone want to do all the registering manually? That's like
>>>> copying a picture by drawing it again instead of using a copy machine.
>>> Control, security. Try getting the government (or even corporations)
>>> to use software that they cannot trace and control every component of.
>>> That's why Easter Eggs have been banned in all government software.
>> That's why there's open-source, where you can trace *everything* (try
>> that with a commercial application).
>
> And oddly enough, governments and corporations are exactly the ones
> who still resist open source. Just last week I read an article in a
> trade paper about how banks are at the top of the list of OSS
> resisters.
Now guess who's paying them to do that :)
One thing to add here:
If you would do that with TSVN, and you (or one of the poor souls
using your custom method) also have TortoiseCVS installed, you would
just have broken all the overlay icons. Because now, TSVN and TCVS
share the overlay handler.
As you may know: "regedit /s uninstall.reg" does no reference counting
at all. By removing the registry keys instead of lowering the
reference count and only removing the keys if that count reaches zero,
you broke the app that still is installed.
Now, ask yourself: did you know that? Did you check that? Or do you
just write your registry files with the keys you find?
(and btw: that's also why the "regsvr32" registering method should not
be used, because that one doesn't do reference counting either).
Stefan
I have a Subversion which is accessed via HTTPS on an Apache and is NTLM secured. Users can use the subversion without passwords from inside of the domain without problems (browser&tortoise).
Users from non-domain computers are asked for Username&Password when they access the repository via a browser and are granted access if the information supplied was correct.
What is not working is the access to the repository via Tortoise from a non-domain computer. Tortoise does not ask for a passwort but gives a PROPFIND error immeadiately. Also checking out https://DOMAIN\USER@SERVER:PORT/svn does not work.
Is there any way to tell tortoise to use a specific user?
On Mar 17, 4:09 pm, Stefan <tortoise...@gmail.com> wrote:
> > With "regedit /s uninstall.reg" you remove all the registry entries the
> > application needed when you installed it. Including all the entries for
> > shared objects.
> > By removing those, you broke all other applications which require those
> > shared objects, because you removed the registry entries for those too.
>
> One thing to add here:
> If you would do that with TSVN, and you (or one of the poor souls
> using your custom method) also have TortoiseCVS installed, you would
> just have broken all the overlay icons. Because now, TSVN and TCVS
> share the overlay handler.
Ah, see, you're talking about TSVN. You can make sweeping, absolute
statements about that because you know it as a developer, but you
cannot know and thus cannot use statements like that about all other
apps. There are plenty of apps that don't need fancy installers, even
Subversion itself comes in ZIP form.
Stefan did not say you would break *all* programs by using "regedit /s
uninstall.reg", but he warned you that it can break *some* programs.
And since you don't know *all* programs in the world, you expose
yourself to that risk.
You are perfectly free to expose yourself to these risks, but as
Stefan explained: don't expect any mercy if you shoot yourself in the
foot because of this. (and expect even less if programs released by
you cause foot injuries to others who then come complaining here).
--
Regards,
Jean-Marc
----------------
___
// \\ @@ "De Chelonian Mobile"
/ \_/ \/._) TortoiseSVN
<\_/_\_/ / The coolest Interface to (Sub)Version Control
/_/ \_\ Check out http://tortoisesvn.net
But you were talking specifically about shell extensions and using the
registry. Subversion is not a shellex and does not need to use the
registry.
Simon
--
___
oo // \\ "De Chelonian Mobile"
(_,\/ \_/ \ TortoiseSVN
\ \_/_\_/> The coolest Interface to (Sub)Version Control
/_/ \_\ http://tortoisesvn.net
---------------------------------------------------------------------