https://issues.apache.org/ooo/show_bug.cgi?id=121762

--- Comment #8 from James Teh <[email protected]> ---
(In reply to Steve Yin from comment #6)
> Is there a way to avoid registry operation for an out-of-process COM server?
Yes, but I'm still curious as to why you need a cross-process COM server as I
asked in comment #5.

You can use a proxy without registering it in the registry by getting the class
object from the proxy dll using DllGetClassObject, registering the class object
with CoRegisterClassObject and registering each interface you need proxied with
CoRegisterPsClsid. You must do this in every process that needs the proxying.
If you do indeed need this, it'd certainly be easier to just register it system
wide in the installer.

(In reply to Steve Yin from comment #7)
> But there are one issue related on the COM self-reg process.
> https://issues.apache.org/ooo/show_bug.cgi?id=107562
> It will lead a deadlock during the dll self-registration and freeze the
> installation process.
I don't follow. I thought the proxy was in UAccCOM.dll, not sal3.dll.
UAccCOM.dll shouldn't be doing anything like that in DllMain. Unless I'm
missing something, in the installer, you should just load UAccCOM.dll and call
DllRegisterServer. The installer system probably has a way to do this for COM
dlls in general; NSIS certainly does.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
You are the assignee for the bug.
You are watching all bug changes.

Reply via email to