Using Visual SourceSafe – Microsoft Source Code Control Interface (MSSCCI) Registry Entries

This article is a part of SourceSafe / VSS Tutorial

MSSCCI Registry Structure
How to Edit/View the Registry
Improvement in Visual Studio 2005 and 2008

 

MSSCCI Registry Structure

MSSCCI uses registry to organize multiple SCC providers.

There are 3 elements in the registry:

1. The provider specific registry entries

For every SCC provider, there is a registry entry: HKEY_LOCAL_MACHINE\SOFTWARE\[company name]\[product name].

For Microsoft SourceSafe, that is HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\SourceSafe.

Under that entry, there are 4 sub entries: SCCServerName, SCCServerPath, HideInVisualStudio and DisableSccManager. SCCServerName is the name of the product. SCCServerPath is the full path to the SCC dll. HideInVisualStudio and DisableSccManager are not so commonly used.

The following is the screen shot of the SourceSafe/VSS MSSCCI registry:

SourceSafe/VSS MSSCCI registry
(SourceSafe/VSS MSSCCI registry)

 

Other MSSCCI provider has similar values. The following is the screen shot of the SourceAnywhere MSSCCI registry:

SourceAnywhere MSSCCI registry
(SourceAnywhere MSSCCI registry)

 

2. The central place to list all the providers

All of the SCC providers are listed under the HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders entry. Under the InstalledSCCProviders entry, there are list of [display name] = [the path to the provider specific registry entry]. The following is the screen shot:

The installed SCC providers in the system
(The installed SCC providers in the system)

 

3. The entry to specify the current provider

Finally, there must be an entry to specify which provider is the current provider in the system. The pattern is HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey = [the path to the provider specific registry entry].

The following is the screen shot of my machine that specifies that SourceSafe is the current provider:

MSSCCI Provider RegKey

 

How to Edit/View the Registry

We can use regedit.exe to edit or view the registry.

 

Improvement in Visual Studio 2005 and 2008

From the above, we know that there is only one HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey entry, which means that we can only have one default SCC provider in the system. If we have two projects that use two different MSSCCI providers, we have to switch the current provider when we open a different project.

Since Visual Studio 2005, Microsoft made improvement by writing the SCC provider info in the solution file. This way, the SCC provider information is solution specific. Different solutions can use different source control providers without switching provider info in the registry.

For how to choose the SCC provider in Visual Studio 2005 and 2008, please refer to the article Switching Visual Studio projects from SourceSafe to other SCC providers. The url is:
https://www.dynamsoft.com/codepool/switching-visual-studio-projects-from-sourcesafe-to-other-scc-providers.html

 

SourceAnywhere - the SQL Server-based SourceSafe Replacement The SQL Server-based Source Control Software Designed to be a SourceSafe Replacement SourceAnywhere for VSS - the Fastest SourceSafe Remote Access Tool Recommended by Microsoft The Fastest SourceSafe Remote Access Tool Recommeded by Microsoft

Links:
Previous article <<<<: Introduction to Microsoft Source Code Control Interface (MSSCCI)
Next article >>>>: A Free Tool to Manage the MSSCCI Provider (with full Source Code)
SourceSafe How To series home page: VSS / SourceSafe Tutorial

4 thoughts on “Using Visual SourceSafe – Microsoft Source Code Control Interface (MSSCCI) Registry Entries

  1. Thx Kevin. You just saved my life!

    For some reason a reinstall of VC6 failed to set up the registry entries linking it with VSS.

  2. I recently had both VSS 6.0d and VSS 2005 installed on my PC. We were considering using VSS 2005 with VS 2008 and so I was evaluating the software to see how it would work with both versions of VS. We decided not to use VSS 2005 and so I uninstalled it. After doing so, VB 6.0 was no longer integrated with VSS 6.0d.

    In order to reintegrate the two, all I had to do was register SSSCC.DLL located in the C:\Program Files\Microsoft Visual Studio\VSS\win32 directory. This actually added the missing registry entries mentioned above.

Comments are closed.