我已经安装了 VB6,我已经安装了 Sourcegear Vault 5.x,现在我在每次 VB6 启动时都会收到此消息。
当然,我不能使用内置的源代码控制命令。
我尝试重新安装 SourceGear Vault,但无济于事。我错过了什么?
我如何解决它?
我已经安装了 VB6,我已经安装了 Sourcegear Vault 5.x,现在我在每次 VB6 启动时都会收到此消息。
当然,我不能使用内置的源代码控制命令。
我尝试重新安装 SourceGear Vault,但无济于事。我错过了什么?
我如何解决它?
当 VB6 加载源代码控制插件但没有默认的 MSSCCI 提供程序时,您将收到此错误消息。
MSSCCI 代表 Microsoft 源代码控制接口,它是大多数 IDE 用于连接到版本控制系统 (VCS) 的标准 API。它最初是为 Visual SourceSafe 开发的,当您安装 SourceSafe 时,它包括用于 IDE 集成的 MSSCCI 提供程序。对于某些现代 VCS,必须单独安装 MSSCCI 提供程序。
您可以通过查看注册表项来验证您的系统上安装了哪些 MSSCCI 提供程序HKLM\SOFTWARE\SourceCodeControlProvider\InstalledSCCProviders
。(在 64 位系统上查看HKLM\SOFTWARE\Wow6432Node\SourceCodeControlProvider\InstalledSCCProviders
。)
如果安装了多个 IDE,包括 VB6 在内的大多数 IDE 仅支持默认提供程序。默认提供程序存储在注册表项HKLM\SOFTWARE\SourceCodeControlProvider\ProviderRegKey
中。
注意:如果您需要更改默认的 MSSCCI 提供程序,一个名为SCCSwitcher的便捷应用程序非常有用。
由于您特别提到了 SourceGear Vault 的问题,因此您可能遇到了 Vault 知识库中描述的问题,称为Windows 7 上的 VB6 和 VC++ 6.0 集成,其中包括以下步骤:
通常,对于 VB6 和 VC++ 6.0 与 Vault 的集成,您的客户端计算机需要 .NET Framework 1.1。但是,Windows 7 不支持此版本的框架。解决方法是让 VB6 在启动 VB6 时加载 .NET Framework 2.0。
以下是使 VB6 加载 2.0 .NET 框架的说明:
1) 制作 VaultGUIClient.exe.config 的副本(在 Vault GUI Client 目录中)并将其重命名为“VB6.exe.config”。
2) 将“VB6.exe.config”文件复制到与Visual Basic 可执行文件“VB6.exe”相同的目录中。编辑 VB6.exe.config 文件,在行后添加运行时信息
<configuration>
:
<startup>
<supportedRuntime version="v2.0.50727"/>
<requiredRuntime version="v2.0.50727" safemode="true"/>
</startup>
因此配置文件的第一部分如下所示:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v2.0.50727"/>
<requiredRuntime version="v2.0.50727" safemode="true"/>
</startup>
<system.net>
对于 Visual C++ 6.0,使用上述说明创建一个“MSDEV.exe.config”文件并将其放在 MSDEV.exe 目录中。
(注意:这仅适用于 Visual Studio 6 中的 VB6 和 VC++ 6.0。VS 2005/2008/2010 中的 VB 或 Visual C++ 集成无需特殊配置。)
3) 您可能还需要在 Vault 客户端计算机上修改 Source Control Provider 的注册表设置。对于 64 位 Windows 7:
3a) 在注册表中,在 HKEY_LOCAL_MACHINE\Software\Wow6432Node\SourceCodeControlProvider 下添加一个名为 ProviderRegKey 的字符串,并为其提供数据 SOFTWARE\SourceGear\Vault Client。
3b) 在注册表中,在 HKEY_LOCAL_MACHINE\Software\Wow6432Node \SourceCodeControlProvider\InstalledSCCProviders 下,将可能列出 Vault VS 2003 Compatible Client 的键更改为 SourceGear Vault Classic Client,并为其提供 SOFTWARE\SourceGear\Vault Client 的数据
我在使用“ SourceSafe 6.0”(不是 Vault)时遇到了同样的问题,通过从 VB6 安装媒体安装 SourceSafe 来解决(我最初认为“MSSCCI 提供程序”会处理它,因此跳过了这个问题)。
注意:奇怪的是,在安装 SourceSafe 之前,“源代码控制”插件在 VB6 IDE 中显示“启动/加载”。
参考: