我有一組傳統的Delphi 6應用程序,它們是進程外COM服務器。在嘗試在Windows上以普通域用戶的身份運行這些程序時,在運行時(沒有任何命令行參數或交換機)嘗試更新HKEY_CURRENT_CLASSES塊時會看到它們。這是由於香港中華人民共和國蜂巢的許可使然。看來,運行Delphi 6 COM服務器的行爲會導致它嘗試向系統註冊表註冊其嵌入式COM類型。如何停止在啓動時重新註冊COM的Delphi 6 COM服務器應用程序
我不希望這種行爲正常。我們會在安裝期間和管理帳戶期間執行此操作,以初始化COM註冊表,但不希望在非管理帳戶的正常運行條件下執行此操作。 (如果您使用sys內部進程監視器moniroy系統,則可以看到失敗的註冊表項訪問嘗試)。
是否有命令行開關我可以傳遞給Delphi 6 COM服務器來防止這種自動COM註冊邏輯?
如果肯是正確的,那麼你可以安全地忽略這些失敗的讀取 – 2011-04-11 17:00:09
Delphi 6確實嘗試在每次運行的可執行文件時默認註冊COM服務器(我剛剛檢查過Delphi 7的源代碼)。你必須修改ComServ單元在TComServer.Initialize方法中禁用它,正如Mikael Eriksson所說的那樣。至少從德爾福2007開始,這已經是固定的。 – 2011-04-12 09:28:43