我的情況是: 因為我的虛擬機用的是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]