同樣的設置可以在Windows 7/64位的和Windows Server 2008/64位的:的DataSnap/DCOM的Windows Web服務器2008 R2
- DataSnap服務器應用程序位於安裝網絡驅動器上
- 與
- 的GUID顯示在DCOMCNFG
- 的SocketServer和DCOM服務正在運行
<drive>:\path\to\server.exe
(如管理員)註冊
客戶端因錯誤消息「Class not registered」而失敗
如果我將服務器應用程序移動到本地目錄並重復tregsvr註冊,則客戶端可以正常連接。
我還能檢查什麼?
**小心**套接字服務器:1)一切都在scktsrv.exe服務用戶的安全上下文中運行(不要將其作爲本地系統運行!)2)它不能正確支持64位整數。它會覆蓋內存並返回錯誤的結果。特別是在局域網中使用普通的DCOM,並且由於防火牆等原因不需要通過單個TCP/IP端口進行通信。 – 2011-11-02 13:23:46
@ldsandon它是一個遺留系統,不能很快被替換。當服務器被引入時,Socket服務器曾被廣告作爲一種訪問MIDAS(現在的Datasnap)服務器的好方法,並且我們使用它。現在它似乎是像BDE :) – mjn
如果可以的話,擺脫DCOM。這是一個不推薦的技術,Windows 7和2008 Server不喜歡它。您需要在PC上強制執行SMB 1協議,即使如此,我們遇到了很多問題。查看http://stackoverflow.com/questions/7647289/delphi-multiple-remote-com-objects/7661651#7661651關於我如何用HTTP服務替換它,一次爲幾個Delphi 5應用程序。 –