Remove typelib ProxyStubClsid registration when no oleautomation interface is being registered

Jeroen Janssen japj at xs4all.nl
Sat Jul 31 07:13:22 CDT 2004


Marcus Meissner wrote:
> On Sat, Jul 31, 2004 at 12:51:01PM +0200, Jeroen Janssen wrote:
> 
>>This change will make sure that if a proxy/stub dll was already registered,
>>it is not overwritten by the TypeLib Marshaller if we're not registering 
>>an ole automation interface.
>>I think we (always?) want to use a 'real' available proxy/stub 
>>implementation when available, instead of simply 'overruling' to the 
>>typelib marshaller.
> 
> 
> Did you verify that this patch does not break InstallShield?

Uhmm, actually no. I'm currently trying to run an other program that has 
it's own proxy/stub code that should be used instead of the TypeLib 
Marshaller (since the TypeLib Marshaller doesn't seem to be able to 
handle this specific TypeLib).

As far as I see it I have two options (to run this outprocess 
client/server program):
1) use the available proxy/stub code (which is what I assume Windows 
does?) However since some of the rpcrt4 stub/proxy handling in wine is 
not finished yet, this probably won't work always (and it doesn't yet 
for me for this application). And indeed I don't really know if this 
also affects for example InstallShield behaviour.

2) use the typelib marshaller if a typelib is registered (even though a 
proxy/stub is available). This is the current wine codepath, but it also 
does not work for me since I get some VT_USERDEFINED errors. But that 
started me wondering why the 'real' proxy/stub code is not used. Since 
some of the rpcrt4 code path seems to work with marshalling, I came up 
with this patch.

What do you (and Rob) think is the best path to follow for now (what has 
the best chance of being successfull at this moment)? It seems to me 
currently I have two (wine) codepaths that both have their problems in 
relation to the application I am trying to run, but I don't know which 
path is the easiest/hardest to fix/work on.

(from discussions I read) I thought InstallShield used only (automation) 
interfaces with the TypeLib Marshaller.

Can you maybe point me to a (frequently used) program that uses the 
InstallShield installer (that is know to work) so I can test it specificly?
---
Jeroen




More information about the wine-devel mailing list