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 > (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 >