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