我的情况是: 因为我的虚拟机用的是U8的环境 ,因为做开发的时候,如果每个客户都要重新装一个环境 太麻烦了,而且也太废空间了。
于是 我把 U8的几个版本装到虚拟机,然后 把数据库都放到我的宿主主机上,然后虚拟机连接我宿主主机的数据库,下一个项目如果是同版本的,只需要把客户的数据库拷过来就可以了。不需要重装安装环境。也不用引入账套这么麻烦。
但是,这个时候有个问题,就是 企业门户登陆没有问题,但是 登陆 U8系统管理 就出现远程组件初始化失败。
仔细查了一下,发现 其实是因为数据库放到我宿主主机上后,因为我的宿主主机没有安装 U8 所以 master 库下并没有xp_UFRegRead
而且 好像执行 exec master..xp_regread @root,@keyPos,@key 也会出错(因为我是win7 64位的系统,可能是权限问题,由于时间原因没有去深究)
看了一下,这个存储过程,实际上就是为了获取U8的安装路径。所以只要在 master 数据库中 添加这个存储过程,并给出相应的 U8安装路径就可以了。
exec master..xp_UFRegRead 'HKEY_LOCAL_MACHINE','SOFTWARE\UfSoft\WF\V8.700\Install\CurrentInstPath',NULL
以下是存储过程:
----------------------------------
create proc xp_UFRegRead @root nvarchar(800), @keyPos nvarchar(2000), @key nvarchar(800) as -- exec master..xp_regread @root,@keyPos,@key select Null AS [Value],'C:\U8SOFT' as [Data] |