2
我有一個.NET應用程序,它自己註冊爲本地COM服務器(通過LocalServer32註冊表項)。正在執行的.NET本地COM服務器進程
我也在爲.NET應用程序編寫一個測試客戶端,但我發現了一些非常奇怪的東西。我的COM服務器實際上是在加載過程中,而不是我想要的。
測試客戶端沒有提及服務器的實現,所以Windows必須查看我的註冊表,查看LocalServer32中的可執行文件路徑,確定它是一個.NET程序集,並在應用程序中加載它?!?
我可以強迫我的應用程序,以這樣的進程外運行:
Type type = Type.GetTypeFromCLSID(myGuid, "localhost");
var foo = Activator.CreateInstance(type);
但是,對我來說這一切似乎很unlogical。 COM組件是,只有註冊爲服務器; CLSID下沒有InProcServer32註冊表項。
有什麼辦法可以防止Windows「智能」,所以客戶端不需要特殊處理?
你的意思是在這裏公開爲COM +服務器,並通過regsvcs註冊工具 - 我說得對嗎? –