Click here to Skip to main content
13,771,565 members
Click here to Skip to main content
Add your own
alternative version


37 bookmarked
Posted 13 May 2002
Licenced CPOL

Sourcecode Control Switcher

, 8 Dec 2004
Rate this:
Please Sign up or sign in to vote.
A tool to switch the Sourcecode Control Provider which is used in a development environment.


This tool offers an interface to choose all installed SCC providers instead of just using the default provider in SCC integration.


MS has defined an interface between SCC systems, for applications that want to interact with these systems. The interface is exposed through a DLL supplied by the SCC provider. More than one SCC can be installed at one site, but one of them should be specified as the default SCC provider. Most tools - e.g. VCx - support only this default provider. Others like Kawa or VS.NET let you choose the one to use. As you can see, some tools in environments where people frequently switch between SCC providers are uncomfortable to use. You have to switch the SCC systems in the registry by hand.


Take this little program! It has three purposes:

  1. Give a visual clue to which SCC provider is currently active
  2. Provide an interface to change between SCC providers
  3. Start the UI of the current provider


  1. Copy the program to a location you like.
  2. Start it, and it will add itself to the taskbar.
  3. Click with the right mouse button to display the menu.
  4. Choose the provider you like to use.

    Remember: the change will not be reflected in running apps. You must restart them to get the new setting.

  5. Choose "Start SCC Interface" or double click with the left button to start the user interface of the "current" provider.
  6. Click with the left button to display a menu with all SCC providers. Choose the one you'd like to start.
  7. If you like, add it to the "autostart" group via menu option.

UI Enhancement

To provide an icon for each SCC provider, create a registry value in the Provider section pointed to by the value <Provider Name> in the key: HKEY_LOCAL_MACHINE\Software\Microsoft\ SourceCodeControlProvider\InstalledSCCProviders. The value must be text and named IconDll. It must contain the complete path to the Image - Exe or DLL - which contains the icon. As an option, an icon index, separated from the path by a ',' can be supplied. Otherwise 1 will be used as the default index. You can find the correct index by opening the image in a Resource Editor.

For example:

  "IconDll"="C:\Programme\Microsoft Visual Studio\Vss\win32\Ssexp.exe,12"

will do in my Visual SourceSafe installation.


  • You should have write access to HKEY_LOCAL_MACHINE\Software\Microsoft\SourceCodeControlProvider. Otherwise the program will not start.
  • When you have no write access to HKEY_CURRENT_USER\Software\Windows\CurrentVersion\Run the Autostart option is disabled.
  • In Terminal server and XP, with the Userswitching feature, you can start SCCSwitcher multiple times. It will show up in each started session. When you switch to another provider, the change is only reflected in the current session. To automatically switch the other session too, we have to monitor the relevant registry section. But who really needs such a feature?

The program was written and tested on NT 4.0 SP6, W2K an XP Professional.


This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


About the Author

Soenke Schau
Software Developer (Senior)
Germany Germany
No Biography provided

You may also be interested in...


Comments and Discussions

GeneralPerfect! Works with Windows 7 Pin
Kevin Lauer24-Oct-11 12:43
memberKevin Lauer24-Oct-11 12:43 
GeneralMany Thanks! Pin
ivan.pizhenko18-May-10 7:35
memberivan.pizhenko18-May-10 7:35 
GeneralAwsome! Pin
MIIKEL T13-Nov-08 9:08
memberMIIKEL T13-Nov-08 9:08 
GeneralMany thanks! Pin
freetheist29-Jul-08 7:37
memberfreetheist29-Jul-08 7:37 
GeneralSweeeet! Pin
chuckjones24-Feb-08 11:00
memberchuckjones24-Feb-08 11:00 
QuestionHow to Configure VS2003 with VSS2005 Pin
pradeep92116-Sep-07 5:31
memberpradeep92116-Sep-07 5:31 
QuestionSCCSwitcher copyright or licensing requirements Pin
szavala19-Apr-07 9:23
memberszavala19-Apr-07 9:23 
AnswerRe: SCCSwitcher copyright or licensing requirements Pin
Soenke Schau24-Apr-07 10:20
memberSoenke Schau24-Apr-07 10:20 
GeneralLifeSaver Pin
Alejo Duran Araya9-Apr-07 11:54
memberAlejo Duran Araya9-Apr-07 11:54 
QuestionWill this let me switch between VSS and ClearCase? Pin
Jeff Porter3-Jan-06 7:27
memberJeff Porter3-Jan-06 7:27 
AnswerRe: Will this let me switch between VSS and ClearCase? Pin
Soenke Schau8-Jan-06 22:44
memberSoenke Schau8-Jan-06 22:44 
GeneralThanks! Pin
Jeffrey Odell8-Mar-05 13:33
memberJeffrey Odell8-Mar-05 13:33 
GeneralSource off site not in list... Pin
Jim Rogers29-Jan-05 6:11
memberJim Rogers29-Jan-05 6:11 
GeneralRe: Source off site not in list... Pin
Anonymous30-Jan-05 21:00
memberAnonymous30-Jan-05 21:00 
GeneralRe: Source off site not in list... Pin
Jim Rogers1-Feb-05 3:52
memberJim Rogers1-Feb-05 3:52 
QuestionWhy executable and dll? Pin
richman28-Dec-04 23:39
memberrichman28-Dec-04 23:39 
AnswerRe: Why executable and dll? Pin
Anonymous30-Jan-05 21:03
memberAnonymous30-Jan-05 21:03 
GeneralThank you very much! Pin
Frog's Brain27-Sep-04 15:22
memberFrog's Brain27-Sep-04 15:22 
GeneralDownloadable executable Pin
aufgang27-Jan-04 13:10
memberaufgang27-Jan-04 13:10 
GeneralRe: Downloadable executable Pin
nomondoan7-Dec-04 12:58
membernomondoan7-Dec-04 12:58 
GeneralRe: Downloadable executable Pin
Soenke Schau8-Dec-04 9:13
memberSoenke Schau8-Dec-04 9:13 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Cookies | Terms of Use | Mobile
Web03 | 2.8.181119.1 | Last Updated 9 Dec 2004
Article Copyright 2002 by Soenke Schau
Everything else Copyright © CodeProject, 1999-2018
Layout: fixed | fluid