Microsoft Source Code Control Interface (MSSCCI)
What is MSSCCI?
Microsoft Source Code Control Interface (MSSCCI) is an interface specification that:
- enables source code control systems to integrate with Microsoft development tools like Visual Studio.
- enables development tools like Visual Studio to use the source control features of a source control system like Visual SourceSafe that implements this interface.
Which versions of MSSCCI interface are available?
Different versions of Visual Studio support different versions of MSSCCI spec. As of writing this page (2007), the latest version of the MSSCCI spec is 1.3.
MSSCCI 1.1 is used by Visual Studio .NET 2002.
MSSCCI 1.2 is used by Visual Studio .NET 2003 and adds support for directory differences and reduces the number of prompts during source control operations.
MSSCCI 1.3 is used by Microsoft Visual Studio 2005 and 2008 and adds support for website projects, rename and deletes propagation, assynchronous open from source control, adding files from source control, etc.
(Note: MSSCCI providers are backward compatible; a MSSSCI 1.3 provider can be used for instance with VS2002. Also, Visual Studio can use older version of MSSCCI providers (e.g. VS2005 can use a MSSCCI 1.1 provider), but the source control integration will be better when it's used a provider with a latest version recognized by that version of VisualStudio.)
How to obtain the MSSCCI interface documentation?
Historically, to obtain the MSSCCI interface you had to send an e-mail to to email@example.com, and work with the product support team to sign a Non Disclosure Agreement (NDA), then you'd receive a Word document copy of the spec and a header file with the functions. That was an unnecessary complication for developers.
In 2003 Microsoft changed the policy for MSSCCI distribution. The MSSCCI interface was made available as a part of the Visual Studio Integration Partner program (VSIP) and is now distributed with the Visual Studio SDK releases. The msscci alias was set to auto-reply with instructions on obtaining the Visual Studio SDK. The MSSCCI interface is no longer available under the NDA license. (If you obtained a version of the interface under NDA you are free to use that version of the API under the terms of the NDA, or you can "update" and use the newer versions of the interface under VSIP licensing terms by registering with VSIP program.)
In 2005, with the release of Visual Studio 2005, the MSSCCI API was also publicly made available in MSDN, under Visual Studio SDK Reference documentation. If you're just interested in reading the functions description see the Source Control Plug-ins topic in MSDN.
If however you want to write your own source control provider or to support MSSCCI scc providers in your application you'll need to download and install the VS SDK (which contains a MSSCCI sample and the header file with the function prototypes). The Visual Studio SDK for VS 2005 (2008 and later) is now available for download directly from the MSDN site. Visit Visual Studio Extensibility page and follow the links in the Downloads section. You'll also find there links to online documentation, video and VSX samples.
As of writing this page (2009), direct links for the VsSDK downloads are:
For older versions of VSIP SDK or VS SDK drops, you may need to follow the steps below (they could be a bit out of date, but you get the idea). You can obtain an "official" copy of these steps by sending an email to firstname.lastname@example.org (the alias is set to autoreply with the registration steps). As of writing this page, the steps are as follow:
How To view MSSCCI 1.3 spec on a machine that doesn't have Visual Studio 2005 installed?
Since the initial writing of this page the MSSCCI spec was also published in MSDN, so the hacks below are no longer necessary. If you're just interested in reading the function description see the Source Control Plug-ins topic in MSDN.
MSSCCI 1.3 is included in Visual Studio 2005 SDK.
To view the spec from the SDK you should normally intall Visual Studio 2005 then install VS SDK 2005.
However, if you attempt to install just the SDK, you'll get a message box that VisualStudio has to be installed for MS Help 2.0, and the installation stops.
How To view MSSCCI 1.2 spec on a machine that doesn't have Visual Studio 2003 installed?
MSSCCI 1.2 is included in VSIP SDK 2003 Extras.
To view the spec you should normally intall Visual Studio .NET 2003, install VSIP SDK 2003, then install VSIP SDK 2003 Extras.
Note that VSIP SDK 2003 requires Visual Studio .NET 2003 to be installed on the machine.
VSIP SDK 2003 Extras doesn't seem to require VSIP SDK 2003 at install time.
However, if you attempt to install only VSIP SDK 2003 Extras, the installed help files cannot be read, because you're missing the Help2 runtime and viewer.
There is a way however to install and view the MSSCCI spec on a machine that doesn't have VisualStudio .NET 2003 installed.
1) Download and install Microsoft .NET Frameworks 1.1 redistributables (24M) 2) Download and install Microsoft .NET SDK 1.1 (108M download). This will install MS Help2 runtime. 3) Download and install H2viewer (400k). This is a freeware help2 file viwer, replacement for DExplorer.exe. 4) Become a VSIP partner - email email@example.com to get registration instructions, then register with the program 5) Download VSIP SDK 2003 Extras (12M), agree with VSIP license, but don't install it 6) Download and install VSIP SDK 2003 Extras (6M), agree with VSIP Extras license. This will install MSSCCI 1.2 docs. It does not require VSIP SDK at install time, although download page says VSIP 2003 SDK is a pre-requisite.I'm not sure though how legal is to install VSIP SDK 2003 Extras without VSIP SDK 2003.
(Back to SourceSafe and source control integration page)