As I mentioned the other night, I ran into a slight hiccup in my system configuration revolving around multiple SCM systems/providers on my system and switching between them. Frequently (in fact, multiple times daily) I need to toggle back and forth between SCC providers (VSS and Vault). Vault has a nice option to make Vault the default SCC provider. This works well, especially for a system on which two SCC providers are installed. In the unlikely event that 3+ are installed, it would get a bit cumbersome.
That said, I very much dislike having to load Vault simply to make that checkbox selection only to close it down immediately. When I'm working remotely, I have to wait even longer as Vault must synchronize the source trees before the menu options become available which is a pain as well.
Well, to alleviate this pain, I took the liberty to throw together a small utility that enumerates the SCC providers on the system and provides a simple means to change it on the fly. I call the utility the 'SCM Switcher' and it's available for download exclusively here. It was written in VS 2005 Beta 2 and therefore requires the .NET Framework 2.0. I could have easily written it in 1.1, but I'm getting pretty pumped about 2.0 and wanted to start down the path of implementing 2.0 for reals rather than in an experimental mode. The full source and a Release build are included for your enjoyment. (Ok, ok, for those that would rather have a .NET Framework 1.1 version, you can find it here)
NOTE: I've only tested the application on Windows XP Pro SP2, though I expect it to work across the board. The utility does modify the system registry (even less than Vault) by simply altering a single value. By way of disclaimers: use at your own risk, though I can't really envision anything possibly going wrong.
Let me know what you think!