powerbuilder Unable to load scc provider

前段时间加了一台新机器,机器是i5 64位的,安装的WIN8.1 64位操作系统,刚开始使用一段时间正常,后来使用pb9连接svn不成功,提示Unable to load scc provider,使用目录直接与svn同步可以,当时也没在意,只临时处理一些非协同项目。
今天需要协同,准备静下心来找原因,初步判断是环境问题。
有个神器推荐大家使用:procmon,相信很多认识我的朋友都听我说过这个工具,用于监测进程对各种资源的访问。
通过祭出procmon,可以看到PB的SCC首先会访问
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\SourceCodeControlProvider\InstalledSCCProviders
并读取PB Native键的值获取pb对应的SCC服务dll,这个与版本有关,需要指向正确
我这个位置是指向最后改的pb11.5版本的地址,改成pb9.0对应的地址,退出重新打开
还是打不开,且打开workspace和退出pb等待的时间过长
继续跟踪,发现在调用到pbscc.dll后有个dll文件的引用错误,但pbscc.dll目录下有该文件
查看procmon中对pbscc.dll的搜索顺序,发现有针对局域网内其它机器的访问
打开操作系统的环境设置窗口,查看到中间有一部分是\xxx.xxx.xxx.xxx\Delphi 7\bin,其后就是pbscc.dll的路径设置
想起原来用过一个免安装的Delphi 7,是它把自己的路径加到了path中
原有Delphi7的网络共享访问已关闭,导致pb在搜寻pbscc.dll引用的pbscc_expat.dll时,在该网络地址发生中断,导致后续路径不会再搜索
原因找到,将该路径去除, 重新启动pb,进入系统,一切恢复正常。

你可能感兴趣的:(powerbuilder Unable to load scc provider)