On Tue, 2013-03-26 at 16:30 +0000, Tomoki Sekiyama wrote: > On 3/26/13 4:44 , "Vadim Rozenfeld" <vroze...@redhat.com> wrote: > >>On Tue, 2013-03-26 at 08:09 +0100, Paolo Bonzini wrote: >>> Il 25/03/2013 21:50, Tomoki Sekiyama ha scritto: >>>> Unfortunately, if I remove importlib("stdole2.tlb"), generated .tlb >>>>seems >>> > rejected to register into Windows COM+ Catalog. >>> > >>> > Wine has stdole2.tlb in its fakedlls directory, but widl does not >>>accept >>> > this by >>> > >>> > error: Wrong or unsupported typelib magic 405a4d >>> > >>> > Even if I copied native stdole2.tlb, widl fails with the same error. >>> > >>> > Do you have any idea about this error? >> >>Seems like your tlb has nonstandard identifying characters. Check first >>several bytes of the tlb file. Usually it should be something like '4D >>53 46 54', or '4D 5A 90' > > I found '4D 53 46 54' at offset 0x300 of stdole2.tlb. > Wine's stdole2.tlb also have the signature at offset 0x738. >
> I rechecked stdole2.tlb provided by MS. All three versions (arm, x86, > and x64) begin with 'MSFT' (4D 53 46 54) and have 00 00 00 00 at offset > 0x300 Oops, I was watching stdole2.tlb picked up from system32 directory. Thank you for rechecking. Still, it is not available in POSIX environment... > (might have an additional header before the main part?) > > Widl accepted the wine's stdole2.tlb when I removed the header, > but still, the generated qga-provider.tlb was not accepted by Windows...:( > > >> > >> No, I suggest you ask on the Wine mailing lists. In the meanwhile we > >> can include a precompiled .tlb file in the QEMU repository and use midl. > >> > >> Paolo > > I will take this way so far. > > Thanks, > > Tomoki Sekiyama >