Problem with InstallShield (Was Re: [Bug 629] Changed - Problem with InstallShield: ole:CoTreatAsClass(stub), ole:CoGetClassObject)
Marcus Meissner
marcus at jet.franken.de
Mon May 6 13:58:27 CDT 2002
On Mon, May 06, 2002 at 12:54:14PM -0400, Michael Cardenas wrote:
> yes, I'd like to know what the hack was also!
>
> On Mon, May 06, 2002 at 09:37:02PM +0200, Uwe Bonnes wrote:
> > >>>>> "Ove" == Ove Kaaven <ovehk at ping.uio.no> writes:
> > Ove> official Wine tree without, say, half a man-year of work. There's
> > Ove> an ugly hack (an one-liner) to make it work (in conjunction with a
> > Ove> stdole32.tlb file from real Windows), but since Alexandre never yet
> ...
> > Could you please republish that hack?
> >
> > And Alexandre could perhaps reconsider.
Basically the "1 ||" below is enough. Just more debug output in here.
Ciao, Marcus
Index: typelib.c
===================================================================
RCS file: /home/wine/wine/dlls/oleaut32/typelib.c,v
retrieving revision 1.65
diff -u -r1.65 typelib.c
--- typelib.c 1 May 2002 18:13:18 -0000 1.65
+++ typelib.c 6 May 2002 18:45:13 -0000
@@ -468,10 +468,36 @@
TYPEATTR *tattr = NULL;
ITypeInfo_GetTypeAttr(tinfo, &tattr);
if (tattr) {
- TRACE_(typelib)("guid=%s, flags=%04x\n",
+ TRACE_(typelib)("guid=%s, flags=%04x (",
debugstr_guid(&tattr->guid),
tattr->wTypeFlags);
- if (tattr->wTypeFlags & TYPEFLAG_FOLEAUTOMATION) {
+ if (TRACE_ON(typelib)) {
+#define XX(x) if (TYPEFLAG_##x & tattr->wTypeFlags) MESSAGE(#x"|");
+ XX(FAPPOBJECT);
+ XX(FCANCREATE);
+ XX(FLICENSED);
+ XX(FPREDECLID);
+ XX(FHIDDEN);
+ XX(FCONTROL);
+ XX(FDUAL);
+ XX(FNONEXTENSIBLE);
+ XX(FOLEAUTOMATION);
+ XX(FRESTRICTED);
+ XX(FAGGREGATABLE);
+ XX(FREPLACEABLE);
+ XX(FDISPATCHABLE);
+ XX(FREVERSEBIND);
+ XX(FPROXY);
+#undef XX
+ MESSAGE("\n");
+ }
+ /*
+ * FIXME: The 1 is just here until we implement rpcrt4
+ * stub/proxy handling. Until then it helps IShield
+ * v6 to work.
+ */
+ if (1 || (tattr->wTypeFlags & TYPEFLAG_FOLEAUTOMATION))
+ {
/* register interface<->typelib coupling */
StringFromGUID2(&tattr->guid, guid, 80);
guidA = HEAP_strdupWtoA(GetProcessHeap(), 0, guid);
More information about the wine-devel
mailing list