Switching between multiple Msscci providers

People who start using TFS Msscci provider, usually want to keep working with the old provider (e.g. SourceSafe). Unfortunately, function to switch between different multiple Msscci providers is feature of the IDE, not of the provider. VB6, VC6 and VS 2003 does not support it, only FoxPro guys are lucky. As the workaround I would suggest the following solutions:

  1. Manual changing of the registry.
    Msscci configuration lives in registry, in HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider
    What is important for VB6, VC6 and VS2003 users is value of ProviderRegKey, which stores the location of the default provider. Every provider is also registering it's location under
    HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders
    So the simplest way to change the current Msscci provider is to copy it's location from InstalledSCCProviders (e.g. Software\Microsoft\SourceSafe) and paste it into ProviderRegKey.
  2. Registry script
    Prepare registry script that will do the job:
    Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider]
    "ProviderRegKey"="Software\\Microsoft\\SourceSafe"
  3. Powertoy
    Of course the best way would be to use small application, leaving in the system tray, which would let us change the value of ProviderRegKey.

Of course playing with system registry is dangerous, do it on your own risk,

UPDATE 5/31/2006

Two tools which allow to change default Msscci provider were mentioned in the msdn's forum: