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 msscci@microsoft.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 msscci@microsoft.com (the alias is set to autoreply with the registration steps). As of writing this page, the steps are as follow:

  1. Install Visual Studio .NET 2003 or Visual Studio .NET 2005
  2. Open https://affiliate.vsipmembers.com/ and login with your Passport account (if you don't have one yet, that page should allow you to create a new Passport account)
  3. Once you logged in, you are presented with 2 choices:
  4. Once your Passport is registered for VSIP, you can come back anytime to https://affiliate.vsipmembers.com/ and login with the Passport account.
  5. Click the Download Files link to go to the download page (https://affiliate.vsipmembers.com/affiliate/downloadFiles.aspx)
  6. If you have Visual Studio .NET 2003, you'll need to download and install the VSIP SDK and the VSIP SDK Extras for VS .NET 2003.
    Accept the usage terms of the SDK and SDK Extras.
    Within Visual Studio - from the Help menu - select "Contents..."
    Open the following nodes "VSIP/Visual Studio .NET Integration SDK/Source Code Control SDK" to access the MSSCCI specs.
  7. If you have Microsoft Visual Studio 2005, you will need to download and install the Visual Studio SDK.
    You can choose to download the latest CTP drop until the RTM version will be available.
    After you intall the SDK, launch the Microsoft Visual Studio 2005 Documentation program.
    Open the following nodes "Visual Studio SDK/Visual Studio Integration/Reference for Visual Studio SDK/Source Code Plug-ins" to access the MSSCCI specs. You can find more information about the source control MSSCCI Plug-ins and packages under the "Visual Studio SDK/Visual Studio Integration/Source Control" node.

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.

  1. Download and install Microsoft .NET SDK 1.1 (108M download). This will install MS Help2 runtime.
  2. Download and install H2viewer (400k). This is a freeware help2 file viwer, replacement for DExplorer.exe supplied with Visual Studio 2005.
  3. Become a VSIP member - see above for instructions for VSIP registration.
  4. Download the VS SDK 2005 from the VSIP download page (40M download).
  5. Download the VS SDK 2005 patch (1k zipped file).
  6. Unpack the patch from the zip file then run "Patch_VSSDK_setup.msi.vbs SeptemberCTPSDK.msi" (pass in the current name of the VS SDK msi package)
  7. Now you should be able to install the SDK; you'll get some errors in the end since VS is not installed, but you should be able to use H2Viewer to browse the help collections.

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 msscci@microsoft.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.
To be absolutely sure you're not breaking the law, please read the VSIP license agreements for these products.
Disclaimer: This page content is provided to you "AS IS", and does not confere any rights.

(Back to SourceSafe and source control integration page)