Removing SourceSafe Integration from Visual Studio 2008
Asked Answered
F

5

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.

Fargone answered 30/1, 2009 at 18:18 Comment(4)
The SourceSafe installation is a separate install in the Add&Remove Programs list.Pow
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.Fargone
@user60738 - Mark your answer as correct, so it will show at the top of the answer listSoulless
Why don't you just try the easier and the official way as documented here on MSDN msdn.microsoft.com/en-us/library/6ka7d2dw%28v=vs.90%29.aspxCoeval
F
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.

Fargone answered 30/1, 2009 at 18:50 Comment(2)
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.Pow
@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.Leisure
P
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.

Petie answered 30/1, 2009 at 18:27 Comment(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.Pow
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.Petie
F
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.

Fargone answered 30/1, 2009 at 18:50 Comment(2)
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.Pow
@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.Leisure
S
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.

Shapeless answered 30/1, 2009 at 18:22 Comment(0)
S
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.
Saturnalia answered 30/1, 2009 at 18:25 Comment(1)
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.Pow
D
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.

Dispersoid answered 26/5, 2014 at 12:9 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.