6

A question was asked recently about removing SourceSafe integration from Visual Studio 6. I need to do the same with Visual Studio 2008.

Our team uses Subversion and I have installed AnkhSVN, the Subversion plug-in for VS2008 (some other members of the team use VisualSVN). I find that SourceSafe "insists" on being the integrated source control tool of choice - the setting for source control plug-in in Tools > Options > Source Control seems to reset itself every time VS2008 is closed. This is very annoying and I want to get rid of SourceSafe.

I tried running the VS2008 install with the intention of switching off (effectively uninstalling) the SourceSafe plug-in, but there is no option for it.

Community
  • 1
  • 1
Magentus
  • 611
  • 6
  • 8
  • The SourceSafe installation is a separate install in the Add&Remove Programs list. – Bert Huijben Feb 04 '09 at 02:31
  • Hi Bert. Thanks, I am aware of that. Note that I don't have SourceSafe itself installed on the machine. It's only the SourceSafe plug-in for VS I was trying to get rid of. It isn't listed in the Add/Remove Programs list. I took the registry edit approach I mentioned below and it worked. – Magentus Feb 05 '09 at 18:26
  • @user60738 - Mark your answer as correct, so it will show at the top of the answer list – Pedro Sep 15 '10 at 14:32
  • Why don't you just try the easier and the official way as documented here on MSDN http://msdn.microsoft.com/en-us/library/6ka7d2dw%28v=vs.90%29.aspx –  Mar 27 '13 at 19:07

5 Answers5

8

Visual Studio stores source control preferences in the solution and project files. To switch providers, you have to first "unbind" the old provider.

  • Select File > Source Control > Change Source Control, select the solution and all the project files, and click "Unbind."
  • Save the solution.
  • Then you can change the provider with Tools > Options > Source Control.

Hand-editing the .sln and .proj files also works, but it's not exactly recommended.

Darcy Casselman
  • 2,574
  • 3
  • 24
  • 26
  • 2
    This is the recommended way to rebind projects. (Implementing this option in Change Source Control is a requirement in the SCC specification). Reopening the solution is not necessary. After you unbind all projects you can switch the active SCC provider in Tools -> Options -> Source Control. – Bert Huijben Feb 04 '09 at 02:27
  • Thanks, Bert. You're right about the restart, of course. I picked up some weird superstitions over the years dealing with Visual Studio weirdness. I'll update the answer with your suggestions. – Darcy Casselman Feb 04 '09 at 20:13
5

Found it! MS's Help and Support site describes it, see section 2

Add a DWORD registry key at:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe\HideInVisualStudio

Set it to 1. Restart VS2008 and the SourceSafe plug-in option is gone.

Magentus
  • 611
  • 6
  • 8
  • The recommended method is File -> Source Control -> Change Sourcecontrol. Then unbind the solution and all projects. When no projects are bound you can switch SCC providers in Tools->Options without automatically reloading the solution. – Bert Huijben Feb 04 '09 at 02:29
  • @BertHuijben disabling the plugin is useful when different developers use different scc provider. eg VSS and mercurial/git since they do not require an entry in sln and project files. – Firo Jul 02 '12 at 11:16
0

There are several constraints/behaviors for my case:

1) The machine and the projects are shared by several developers and they should not be affected by my changes,

2) vs2008 automatically re-enables SourceSafe control (did not try the HideInVisualStudio registry solution because it's a global flag),

3) I can't remove the bindings in the projects nor un-install SourceSafe

So I have found a way which is not perfect but works good enough for me:

1) open regedit and go to this key:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe

there should be an entry

SCCServerPath 

which should contain something like this: C:\Program Files\Microsoft Visual SourceSafe\ssscc.dll

2) Modify the permissions for ssscc.dll in order to DENY the "Read and Execute" access for your userid.

Now, this is not perfect because you will have sometimes an error message message when you load a solution in VS2008 (There was a failure while initializing the Microsoft Visual SourceSafe source control provider. You cannot use this provider to perform source control operations.), but the goal is achieved:

1) No more source safe integration in VS2008,

2) Source Safe standalone is still working,

3) Other users are not affected by the modification.

ggo
  • 471
  • 7
  • 17
0

You can usually edit the *.sln file and *.??proj file with out an problems to remove these bindings. These two files are just text files so you can open them in Notepad, Wordpad, or Visual Studio.

Just remove stuff slowly and then save and try to load.

Nick Berardi
  • 54,393
  • 15
  • 113
  • 135
0

Not sure if this works, but you can try:

  • Tools/Options/Source Control: set Current Source Control plug-in to "None"
  • Open the solution - hopefully it will tell you the provider is missing and give you an option to remove the bindings.
Joe
  • 122,218
  • 32
  • 205
  • 338
  • No, this won't work when the solution is bound/connected to an SCC provider. As loading the solution will then automatically re-enable the SCC provider. – Bert Huijben Feb 04 '09 at 02:29