As far as I know, some application can be made working in Wine if some .dll libraries are replaced by the native ones (from windows distribution). Could somebody help me? I do not know, how to find which libraries have to be overriden for this or that particular application. What should I do to find it out? Is there any HowTo in internet that explains how to do it step-by-step? (I found only how to override libraries, but found nothing about how to find the names of libraries that should be overridden.) Thank you in advance.
AndriyK <wineforum-user at winehq.org> on Sent: Nov 24, 2008 7:42 AM (MST) wrote about [Wine] Overriding of .dll libraries> >As far as I know, some application can be made working in Wine if some .dll libraries are replaced by the native ones (from windows distribution). > >Could somebody help me? >Please visit the Applications Database portion of the Wine HQ website and search for your application. The .dll files that need to be changed to native versions will be listed in the how-to section of the application page. James McKenzie
James Mckenzie wrote:> > Please visit the Applications Database portion of the Wine HQ website and search for your application. The .dll files that need to be changed to native versions will be listed in the how-to section of the application page. > > James McKenzieThe application is not in the database. :(
AndriyK <wineforum-user at winehq.org> at Nov 24, 2008 8:05 AM (MST) wrote about [Wine] Re: Overriding of .dll libraries> > >James Mckenzie wrote: >> >> Please visit the Applications Database portion of the Wine HQ website and search for your application. The .dll files that need to be changed to native versions will be listed in the how-to section of the application page. >> >> James McKenzie > > >The application is not in the database. :( >Can you provide the name of the application and if either a full (trial) or demo version is available and where you can download it? Thank you James McKenzie
You will need to use an application like dependency walker to find out what files are required to use the application. Their is no "Guide to make applications work" you have to do the work yourself the others listed in winehq are put up from others who have managed to get said application working.
James Mckenzie wrote:> AndriyK <wineforum-user at winehq.org> at Nov 24, 2008 8:05 AM (MST) wrote about [Wine] Re: Overriding of .dll libraries > > > > > > > James Mckenzie wrote: > > > > > > > > Please visit the Applications Database portion of the Wine HQ website and search for your application. The .dll files that need to be changed to native versions will be listed in the how-to section of the application page. > > > > > > James McKenzie > > > > > > > > > The application is not in the database. :( > > > > > Can you provide the name of the application and if either a full (trial) or demo version is available and where you can download it? > > Thank you > > James McKenzieThe name of the application "Actio Multimedial" (by Klett) http://www.amazon.de/Klett-Actio-multimedial-CD-ROM/dp/3126231403 I bought it on CD. I do not know whether it is possible to download full or trial version. :(
Gcen wrote:> You will need to use an application like dependency walker to find out what files are required to use the application.What does it exactly mean "use an application like dependency walker"? What should I do? How do I see what files are required? Thanks.
Overriding libraries won't get you very far. Yes, some (not all) dll's can be replaced with native versions. Windows libraries are essentially no different from Windows programs, in that depending on how they work, they may run into unimplemented parts of Wine and subtle differences in behavior that break them. And yes, in some cases it will get you past a bug. L. Rahyen gave a fine explanation of how to find out what dll's an application is using. Trying to override them one by one is an approach, but it's not a very good one. If it doesn't work, it gives you no helpful information. If it does work, all it will tell you is that Wine's implementation of the particular dll you switched probably has something wrong with it. It will not lead to a fix in Wine. Overrides are one of many tools that are available for troubleshooting and working around bugs. There are probably other things you can do, but you haven't given any information to determine what they might be. Please file a bug (and follow up on it when people ask for more information) so that there is a chance to get the problem fixed in Wine, even if you do work around it successfully. There's no guarantee that it will actually get fixed or that any progress will be made in a reasonable amount of time, but please file a report anyway. We need to have this sort of information. I don't think it is a lot to ask from a project that is run by volunteers. Vincent Povirk
Thank you for your answers. I've tried to add the application to AppDB, but it have not appeared yet. Probably I have to wait a bit more or I did something wrong. I do not know whether it is appropriate to report a bug. I am not sure that it is indeed BUG or just a result of INCOMPLETENESS of Wine. In the former case it is supposed to be working but does not work because of a mistake in the code. In this case the developers might be unaware about the issue and reporting the bug would be indeed helpful. In the latter case, the developers are aware about the incompleteness of Wine and reporting the bug would bring nothing. Another reason: I do not know how to report a bug. Could you give me a link?
The installation seems to run OK. Nothing suspicious is seen in the graphic window. But still, a lot of messages are seen in the terminal. Here they are. fixme:advapi:LookupAccountNameW (null) L"andriy" (nil) 0x33f77c (nil) 0x33f780 0x33f774 - stub fixme:advapi:LookupAccountNameW (null) L"andriy" 0x132770 0x33f77c 0x132c10 0x33f780 0x33f774 - stub err:richedit:ReadStyleSheet ReadStyleSheet: skipping optional destination err:richedit:ReadStyleSheet ReadStyleSheet: skipping optional destination err:msi:msi_dialog_maskedit_control mask template is empty fixme:msi:ACTION_HandleStandardAction unhandled standard action L"SetODBCFolders" fixme:msi:resolve_keypath UNIMPLEMENTED keypath as ODBC Source fixme:msi:msi_unimplemented_action_stub RemoveODBC -> 1 ignored L"ODBCDriver" table values fixme:msi:msi_unimplemented_action_stub UnregisterProgIdInfo -> 5 ignored L"ProgId" table values fixme:msi:msi_unimplemented_action_stub RemoveShortcuts -> 3 ignored L"Shortcut" table values fixme:msi:msi_unimplemented_action_stub RemoveFolders -> 1 ignored L"CreateFolder" table values fixme:shell:DllCanUnloadNow stub err:msi:ITERATE_InstallODBCDriver ODBC Driver entry not found! fixme:odbc:SQLConfigDataSourceW (nil) 1 L"Microsoft Access Driver (*.mdb)" L"DSN=Microsoft Access-Datenbank" fixme:odbc:SQLConfigDataSourceW L"DSN=Microsoft Access-Datenbank" fixme:shell:DllCanUnloadNow stub fixme:shell:DllCanUnloadNow stub fixme:shell:DllCanUnloadNow stub Nonetheless, the application seems to be installed. There is a directory in "Program Files" with the executable and other files. (to be continued)
When I try to run the application, I obtain a small window entitled "Application Error" with the following message: Exception EAccessViolation in module Actio Multimedial.exe at 00000000. Access violation at address 0000000. Writing from address 00000000. (The message was in German. I translated it.) After this message the application does not run anymore. The following information appears in the terminal: err:ole:CoGetClassObject class {00000507-0000-0010-8000-00aa006d2ea4} not registered err:ole:create_server class {00000507-0000-0010-8000-00aa006d2ea4} not registered err:ole:CoGetClassObject no class object {00000507-0000-0010-8000-00aa006d2ea4} could be created for context 0x5 wine: Unhandled exception 0x0eedfade at address 0x0000:0x7b844f10 (thread 0009), starting debugger... First chance exception: 0xc0000025 in 32-bit code (0x7bc3c10c). Register dump: CS:0023 SS:002b DS:002b ES:002b FS:0063 GS:006b EIP:7bc3c10c ESP:0032f5b4 EBP:0032f618 EFLAGS:00000282( - 00 - -IS1) EAX:0032f5c0 EBX:7bc8d4c4 ECX:00110054 EDX:00000000 ESI:0032f99c EDI:0032f624 Stack dump: 0x0032f5b4: 0032f5cc 00000086 0032f5f8 c0000025 0x0032f5c4: 00000001 0032f99c 0032fa30 00000000 0x0032f5d4: 00a739cc 004043cd 00a739e0 0032f5f8 0x0032f5e4: 00404410 00a739c8 00a739cc 004a94b8 0x0032f5f4: 004065a5 6c686546 62207265 64206965 0x0032f604: 4f207265 6b656a62 7a726574 7bc3c0c0 Backtrace: =>1 0x7bc3c10c __regs_RtlRaiseException+0x4c() in ntdll (0x0032f618) 2 0x7bc7bf83 in ntdll (+0x6bf83) (0x0032f978) 3 0x7bc3b806 RtlRaiseException+0x6() in ntdll (0x0032f9f0) 4 0x004acc17 in actio multimedial (+0xacc17) (0x0032fa30) 5 0x004b0c1b in actio multimedial (+0xb0c1b) (0x0032fa60) 6 0x004b1892 in actio multimedial (+0xb1892) (0x0032fa74) 7 0x004b91e0 in actio multimedial (+0xb91e0) (0x0032fa98) 8 0x004216e4 in actio multimedial (+0x216e4) (0x0032fac4) 9 0x00421915 in actio multimedial (+0x21915) (0x0032fb1c) 10 0x00421bc2 in actio multimedial (+0x21bc2) (0x0032fb48) 11 0x00421b01 in actio multimedial (+0x21b01) (0x0032fb64) 12 0x00425ffa in actio multimedial (+0x25ffa) (0x0032fbec) 13 0x004200a7 in actio multimedial (+0x200a7) (0x0032fc0c) 14 0x0041d330 in actio multimedial (+0x1d330) (0x0032fc30) 15 0x0041d4ba in actio multimedial (+0x1d4ba) (0x0032fd50) 16 0x0041d54b in actio multimedial (+0x1d54b) (0x0032fd80) 17 0x00426c7d in actio multimedial (+0x26c7d) (0x0032fec8) 18 0x0046af80 in actio multimedial (+0x6af80) (0x0032feec) 19 0x004f6b25 in actio multimedial (+0xf6b25) (0x0032ff08) 20 0x7b878337 in kernel32 (+0x58337) (0x0032ffe8) 0x7bc3c10c __regs_RtlRaiseException+0x4c in ntdll: subl $4,%esp Modules: Module Address Debug info Name (87 modules) PE 400000- 843000 Export actio multimedial ELF 7b800000-7b93c000 Export kernel32<elf> \-PE 7b820000-7b93c000 \ kernel32 ELF 7bc00000-7bca9000 Export ntdll<elf> \-PE 7bc10000-7bca9000 \ ntdll ELF 7bf00000-7bf03000 Deferred <wine-loader> ELF 7e121000-7e134000 Deferred olepro32<elf> \-PE 7e130000-7e134000 \ olepro32 ELF 7e15c000-7e183000 Deferred msacm32<elf> \-PE 7e160000-7e183000 \ msacm32 ELF 7e183000-7e19a000 Deferred msacm32<elf> \-PE 7e190000-7e19a000 \ msacm32 ELF 7e19a000-7e25d000 Deferred libasound.so.2 ELF 7e25d000-7e292000 Deferred winealsa<elf> \-PE 7e270000-7e292000 \ winealsa ELF 7e292000-7e2df000 Deferred libgcrypt.so.11 ELF 7e2df000-7e2ef000 Deferred libtasn1.so.3 ELF 7e2ef000-7e321000 Deferred libcrypt.so.1 ELF 7e321000-7e396000 Deferred libgnutls.so.13 ELF 7e396000-7e3b9000 Deferred libk5crypto.so.3 ELF 7e3b9000-7e446000 Deferred libkrb5.so.3 ELF 7e446000-7e46f000 Deferred libgssapi_krb5.so.2 ELF 7e46f000-7e4a2000 Deferred libcups.so.2 ELF 7e4a2000-7e4b6000 Deferred midimap<elf> \-PE 7e4b0000-7e4b6000 \ midimap ELF 7e4b6000-7e4ea000 Deferred uxtheme<elf> \-PE 7e4c0000-7e4ea000 \ uxtheme ELF 7e4ea000-7e4f3000 Deferred libxcursor.so.1 ELF 7e4f3000-7e4f8000 Deferred libxfixes.so.3 ELF 7e4f8000-7e4fb000 Deferred libxcomposite.so.1 ELF 7e4fb000-7e501000 Deferred libxrandr.so.2 ELF 7e501000-7e509000 Deferred libxrender.so.1 ELF 7e509000-7e50e000 Deferred libxxf86vm.so.1 ELF 7e50e000-7e511000 Deferred libxinerama.so.1 ELF 7e511000-7e531000 Deferred imm32<elf> \-PE 7e520000-7e531000 \ imm32 ELF 7e531000-7e536000 Deferred libxdmcp.so.6 ELF 7e536000-7e54e000 Deferred libxcb.so.1 ELF 7e54e000-7e551000 Deferred libxau.so.6 ELF 7e551000-7e638000 Deferred libx11.so.6 ELF 7e638000-7e646000 Deferred libxext.so.6 ELF 7e646000-7e64a000 Deferred libgpg-error.so.0 ELF 7e64a000-7e64d000 Deferred libkeyutils.so.1 ELF 7e64d000-7e655000 Deferred libkrb5support.so.0 ELF 7e655000-7e658000 Deferred libcom_err.so.2 ELF 7e65a000-7e6f3000 Deferred winex11<elf> \-PE 7e670000-7e6f3000 \ winex11 ELF 7e70e000-7e72f000 Deferred libexpat.so.1 ELF 7e72f000-7e759000 Deferred libfontconfig.so.1 ELF 7e759000-7e76e000 Deferred libz.so.1 ELF 7e76e000-7e7de000 Deferred libfreetype.so.6 ELF 7e7de000-7e7e0000 Deferred libxcb-xlib.so.0 ELF 7e7f2000-7e884000 Deferred winmm<elf> \-PE 7e800000-7e884000 \ winmm ELF 7e884000-7e8b9000 Deferred winspool<elf> \-PE 7e890000-7e8b9000 \ winspool ELF 7e8b9000-7e97b000 Deferred comctl32<elf> \-PE 7e8c0000-7e97b000 \ comctl32 ELF 7e97b000-7e994000 Deferred version<elf> \-PE 7e980000-7e994000 \ version ELF 7e994000-7e9a7000 Deferred libresolv.so.2 ELF 7e9a7000-7e9bb000 Deferred lz32<elf> \-PE 7e9b0000-7e9bb000 \ lz32 ELF 7e9bb000-7e9da000 Deferred iphlpapi<elf> \-PE 7e9c0000-7e9da000 \ iphlpapi ELF 7e9da000-7ea3f000 Deferred rpcrt4<elf> \-PE 7e9f0000-7ea3f000 \ rpcrt4 ELF 7ea3f000-7eb4e000 Deferred ole32<elf> \-PE 7ea60000-7eb4e000 \ ole32 ELF 7eb4e000-7ec35000 Deferred oleaut32<elf> \-PE 7eb70000-7ec35000 \ oleaut32 ELF 7ec35000-7ec89000 Deferred advapi32<elf> \-PE 7ec40000-7ec89000 \ advapi32 ELF 7ec89000-7ed27000 Deferred gdi32<elf> \-PE 7eca0000-7ed27000 \ gdi32 ELF 7ed27000-7ee71000 Deferred user32<elf> \-PE 7ed40000-7ee71000 \ user32 ELF 7ef91000-7ef9c000 Deferred libnss_files.so.2 ELF 7ef9c000-7efa6000 Deferred libnss_nis.so.2 ELF 7efa6000-7efbe000 Deferred libnsl.so.1 ELF 7efbe000-7efc7000 Deferred libnss_compat.so.2 ELF 7efc7000-7efec000 Deferred libm.so.6 ELF f7ca1000-f7ca5000 Deferred libdl.so.2 ELF f7ca5000-f7df4000 Deferred libc.so.6 ELF f7df5000-f7e0d000 Deferred libpthread.so.0 ELF f7e21000-f7f57000 Deferred libwine.so.1 ELF f7f59000-f7f78000 Deferred ld-linux.so.2 Threads: process tid prio (all id:s are in hex) 00000008 (D) C:\Program Files\Klett\Actio\Actio multimedial.exe 00000009 0 <=0000000c 00000013 0 00000012 0 0000000e 0 0000000d 0 0000000f 00000015 0 00000014 0 00000011 0 00000010 0 00000016 00000017 0 Backtrace: =>1 0x7bc3c10c __regs_RtlRaiseException+0x4c() in ntdll (0x0032f618) 2 0x7bc7bf83 in ntdll (+0x6bf83) (0x0032f978) 3 0x7bc3b806 RtlRaiseException+0x6() in ntdll (0x0032f9f0) 4 0x004acc17 in actio multimedial (+0xacc17) (0x0032fa30) 5 0x004b0c1b in actio multimedial (+0xb0c1b) (0x0032fa60) 6 0x004b1892 in actio multimedial (+0xb1892) (0x0032fa74) 7 0x004b91e0 in actio multimedial (+0xb91e0) (0x0032fa98) 8 0x004216e4 in actio multimedial (+0x216e4) (0x0032fac4) 9 0x00421915 in actio multimedial (+0x21915) (0x0032fb1c) 10 0x00421bc2 in actio multimedial (+0x21bc2) (0x0032fb48) 11 0x00421b01 in actio multimedial (+0x21b01) (0x0032fb64) 12 0x00425ffa in actio multimedial (+0x25ffa) (0x0032fbec) 13 0x004200a7 in actio multimedial (+0x200a7) (0x0032fc0c) 14 0x0041d330 in actio multimedial (+0x1d330) (0x0032fc30) 15 0x0041d4ba in actio multimedial (+0x1d4ba) (0x0032fd50) 16 0x0041d54b in actio multimedial (+0x1d54b) (0x0032fd80) 17 0x00426c7d in actio multimedial (+0x26c7d) (0x0032fec8) 18 0x0046af80 in actio multimedial (+0x6af80) (0x0032feec) 19 0x004f6b25 in actio multimedial (+0xf6b25) (0x0032ff08) 20 0x7b878337 in kernel32 (+0x58337) (0x0032ffe8) [/img]
Is there any manual explaining what the above messages mean? Which of them are harmless and which point to the actual error? Is it a BUG or just INCOMPLETENESS of Wine that prevents the application from working properly? Thanks.
On Tue, Nov 25, 2008 at 4:08 PM, AndriyK <wineforum-user at winehq.org> wrote:> Is there any manual explaining what the above messages mean? > Which of them are harmless and which point to the actual error? > > Is it a BUG or just INCOMPLETENESS of Wine that prevents the application from working properly? > > Thanks. > > > > > >File a bug. -- -Austin
On 2008-11-25 (Tuesday) 22:08:20 AndriyK wrote:> Is there any manual explaining what the above messages mean? > Which of them are harmless and which point to the actual error? > > Is it a BUG or just INCOMPLETENESS of Wine that prevents the application > from working properly?Incompleteness of Windows API in Wine which prevent a real-world application from working (or makes it work incorrectly) *is* a bug that should be reported. So you should report your problem as a bug report. To report a bug, go to http://bugs.winehq.org (then follow steps described there) and include in your bug report useful information you already posted here.
How does "file a bug" answer the question the OP asked? Like AndriyK, I would like to help Wine by making programmes I use work better. Once I have some clues as to the problem, then you can have a bug report. However, it is very difficult for me to get "under the hood" and be sure that I am not just wasting time - yours even more than mine. I have tried looking for documentation - Where are details of what the messages mean? (the answer usually seems to be "not much") When it crashes, how does one interpret the crash details? Generic information please - not specific. Mostly the documents do not exist and when I do find something it usually assumes a lot of existing knowledge. I have tried reading the source code with some limited success- but there is quite a lot of it and it is hard to get an overview that way. So are the forums not a sensible place to ask the sort of question AndriyK asks and should you not attempt a real answer? PS. There are good answers in the thread but there are also a lot of non answers - and I am sorry this is a non answer as well.
As I had a moan in my previous post, can I just say thank you Vincent for the most helpful, constructive and polite answer I have seen in a long while. I disagree when you say at the end that you have not answered the OP's question - I think you have given the best answer that is possible in the circumstances and he, like me, has to take the answer you gave and store it away and add bits more to it with time and try to use the knowledge you have provided. At least it provides something we can build on. I am now wiser and that seems to me to be a major part of the function of forums. If Wine wants to build a community, then these are the sort of answers we need. Thank you.