Ivercy does not recognize the Default Source Code Control Provider

Q: I have installed a MSSCCI compatible source code control client on my machine and registered it as the Default Source Code Control Provider, but still Ivercy does not recognize it. What is wrong and how can it be fixed?

A: This is not any defect in Ivercy, but it probably has one of the following reasons. The Default Source Code Control Provider is stored in the Windows Registry in the String Value HKEY_LOCAL_MACHINE\SOFTWARE\SourceCodeControlProvider\ProviderRegKey.

There are two possible issues with that.

1.) It is possible, the source code control client tried to register itself as Default Source Code Control Provider, but failed because this Registry value is in the HKEY_LOCAL_MACHINE-Branch of the Registry and requires administrative permissions to be writeable. Make sure the above mentioned String Value exists and contains the Registry path to the settings of your source code control client.
If this is not the case you can either run your client with administrative permissions and register it again as Default Source Code Control Provider, or you can just add that String Value to the registry manually.

2.) If you are running a 32bit Version of Microsoft Access on a 64Bit machine, Ivercy and your source code control client will be running in the 32-Bit subsystem. The registry key for the Default Source Code Control Provider will be HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SourceCodeControlProvider\ProviderRegKey then. Some source code control clients (e.g. older versions of Sourcegear Vault) fail to write below the Wow6432Node of the registry even though they are 32-Bit applications.

Verify that this String Value exists in the correct Registry path. If not, you should add that String Value to the registry manually.

Here is an example for these Registry settings for Sourcegear Vault.

SourceCodeControlProvider Registry Key for Sourcegear Vault

The value of ProviderRegKey contains a reference to another Registry Key. The raw value of SOFTWARE\SourceGear\Vault Client will be resolved to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SourceGear\Vault Client on a 32-bit computer. This referenced key also needs to exist and needs to contain the values SCCServerName and SCCServerPath. Usually this Key will be present and containing the correct values unless something went completely wrong while installing the MSSCCI-Provider for your source code control system.

Sourcegear Vault MSSCCI Settings in Windows Registry

While SCCServerName is just for the purpose to display the name of the SCC-Client in some development environments like Visual Studio, the SCCServerPath is the critical value. It contains the path to the actual DLL-File implementing the MSSCCI-API. This value is what this is all about. Ivercy needs to know where to find the MSSCCI-DLL.

Here is another example with a registry configuration of the Key HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SourceCodeControlProvider\ProviderRegKey for Microsoft Team Foundation Server.

SourceCodeControlProvider Registry Key for Microsoft Team Foundation Server

The value SOFTWARE\Microsoft\Team Foundation Server MSSCCI Provider from the above screenshot will be resolved to HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Team Foundation Server MSSCCI Provider.

Here is a screenshot of the Registry Settings for the Microsoft Team Foundation Server MSSCCI-Provider:

Microsoft Team Foundation Server MSSCCI Provider Settings in Windows Registry

Please be aware that the Wow6432Node part of all those registry paths applies to a 32bit Version of Microsoft Access on a 64Bit machine. If you are running 64bit Access the registry paths will correct without the Wow6432Node part.