Re: Windows Shell Extensions - Out of Proc

2009-04-24 Thread Mark Hammond

Thomas Heller wrote:

Ralf schrieb:

I think that for whatever reasons, explorer always tries to create
shell extensions as InProc.  CoCreateInstance, which is the usual
API to create COM instances, allows to specify which one you want.

Thomas

So there is no way to do this, other than to create a "proxy" COM
object as InProc, which then forwards the requests to my COM object in
the separate process?


Not that I know of - anyone else?


That's my understanding too (and probably for good reason - shell 
extensions can be called lots!)


Mark

--
http://mail.python.org/mailman/listinfo/python-list


Re: Windows Shell Extensions - Out of Proc

2009-04-23 Thread Thomas Heller
Ralf schrieb:
>> I think that for whatever reasons, explorer always tries to create
>> shell extensions as InProc.  CoCreateInstance, which is the usual
>> API to create COM instances, allows to specify which one you want.
>>
>> Thomas
> 
> So there is no way to do this, other than to create a "proxy" COM
> object as InProc, which then forwards the requests to my COM object in
> the separate process?

Not that I know of - anyone else?
--
http://mail.python.org/mailman/listinfo/python-list


Re: Windows Shell Extensions - Out of Proc

2009-04-23 Thread Ralf

> I think that for whatever reasons, explorer always tries to create
> shell extensions as InProc.  CoCreateInstance, which is the usual
> API to create COM instances, allows to specify which one you want.
>
> Thomas

So there is no way to do this, other than to create a "proxy" COM
object as InProc, which then forwards the requests to my COM object in
the separate process?
--
http://mail.python.org/mailman/listinfo/python-list


Re: Windows Shell Extensions - Out of Proc

2009-04-23 Thread Thomas Heller
Ralf schrieb:
> I'm trying to develop Windows Shell Extensions with the Python Win32
> Extensions. Most of the samples are working. However, I have a
> slightly different need: I want the Python COM server to run as a
> separate process ("LocalServer" or "OutOfProc").
> 
> As I understand, both the InProc and LocalServer versions are created
> automatically. So to disable the InProc version, I removed the
> InProc32 key from the registry, for the context menu example
> distributed with the Python Win32 Extensions. However, this removes
> the context menu from Explorer, even though the LocalServer32 key
> remains. I could access the COM objects in the example with a Python
> client, so I have no idea why Explorer can't use the LocalServer
> version.
> 
> Can anyone help with this? I've Google'd for hours, without much
> success. I couldn't even find a good example for any other language,
> only references saying it's possible for C#.

I think that for whatever reasons, explorer always tries to create
shell extensions as InProc.  CoCreateInstance, which is the usual
API to create COM instances, allows to specify which one you want.

Thomas
--
http://mail.python.org/mailman/listinfo/python-list