vb6sourcegear-vault

How do I fix my source code bindings?


I've installed VB6, I've installed Sourcegear Vault 5.x and now I get this message on every VB6 startup.

enter image description here

And of course, I can't use the built-in source control commands.
I've tried reinstalling SourceGear Vault, to no avail. What am I missing?

How do I fix it?


Solution

  • General Info

    You'll get this error message when VB6 loads the Source Code Control add-in but it there is no default MSSCCI provider.

    MSSCCI stands for Microsoft Source Code Control Interface and it is the standard API that is used by most IDEs to connect to a version control system (VCS). It was initially developed for Visual SourceSafe, and when you installed SourceSafe it included the MSSCCI provider for IDE integration. For some modern VCSs the MSSCCI provider has to be installed separately.

    You can verify what MSSCCI providers have been installed on your system by looking at the registry key HKLM\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders. (On a 64-bit system look at HKLM\SOFTWARE\Wow6432Node\SourceCodeControlProvider\InstalledSCCProviders instead.)

    Most IDEs, including VB6, only support the default provider if more than one is installed. The default provider is stored in the registry key HKLM\SOFTWARE\SourceCodeControlProvider\ProviderRegKey.

    Note: a handy app called SCCSwitcher is great if you have a need to change the default MSSCCI provider.

    SourceGear Vault

    Since you specifically mention the problem is with SourceGear Vault, it could be that you're running into the problem described in the Vault knowledge base called VB6 and VC++ 6.0 Integration on Windows 7 that includes the following steps:

    Typically, for VB6 and VC++ 6.0 integration with Vault, your client machine needs the .NET Framework 1.1. However, this version of the Framework is not supported on Windows 7. The workaround is to make VB6 load the .NET Framework 2.0 when starting VB6.

    Here are the instructions for making VB6 load the 2.0 .NET framework:

    1) Make a copy of the VaultGUIClient.exe.config (in the Vault GUI Client directory) and rename it "VB6.exe.config."

    2) Copy the "VB6.exe.config" file into the same directory as the Visual Basic executable, "VB6.exe." Edit the VB6.exe.config file, adding runtime information after the <configuration> line:

     <startup>  
         <supportedRuntime version="v2.0.50727"/> 
         <requiredRuntime version="v2.0.50727" safemode="true"/>  
     </startup>
    

    so that the first part of the config file looks like this:

    <?xml version="1.0" encoding="utf-8" ?>
    <configuration>
        <startup>
            <supportedRuntime version="v2.0.50727"/>
            <requiredRuntime version="v2.0.50727" safemode="true"/>   
        </startup>
       <system.net>
    

    For Visual C++ 6.0, create an "MSDEV.exe.config" file using the instructions above and place it in the MSDEV.exe directory.

    (Note: This is for VB6 and VC++ 6.0 in Visual Studio 6 only. No special configuration is needed for VB or Visual C++ integration in VS 2005/2008/2010.)

    3) You may also need to modify your registry settings for Source Control Provider on the Vault Client machine. For 64-bit Windows 7:

    3a) In the registry, under HKEY_LOCAL_MACHINE\Software\Wow6432Node\SourceCodeControlProvider add a string called ProviderRegKey and give it the data SOFTWARE\SourceGear\Vault Client.

    3b) In the registry, under HKEY_LOCAL_MACHINE\Software\Wow6432Node \SourceCodeControlProvider\InstalledSCCProviders, change the key that might list the Vault VS 2003 Compatible Client to read as SourceGear Vault Classic Client and give it the data of SOFTWARE\SourceGear\Vault Client