W dniu 16.02.2012 19:34, Stefan Dösinger pisze:
Am Donnerstag, 16. Februar 2012, 18:45:37 schrieb Adam Kłobukowski:
Therefore, it could be usefull if Wine would be able to detect when a program tries to use a DLL that is not implememnted, but is easily available for download. .NET, MSXML, VCRUN* comes in mind. Instead of just failing, Wine could offer advice to the user how to deal with that.
This could also help with APIs that are mostly stubbed, work for some use cases, but are expected to fail in other - they could detect if an app is trying to use unsuported case and take action.
Well, if a DLL is outright missing you should get an ERR. If the app calls a stub, the stub writes a FIXME. I'm not sure what else we can do - showing up a dialog box in those cases is a bad idea. Or do you mean make the messages more informative, like write "you may want to install the Visual Basic 6 runtime from http://microsoft.com/foo/bar" instead of something like "could not load msvb60.dll"?
While Wine log might be enough for me, for less tech savvy users it is a mistery, and in most cases they do not even know it exists. Log message seems an easy solution, but a dialog box might be much better for a 'customer base' of such feature. Such dialog should be shown only once per program run,
In some cases (.NET?) such deature could even offer an auto-fix (using winetricks?).
Arguably the worst situation is when the app loads a library at runtime instead of linking and thus doesn't cause linker errors, or if it attempts to load a OLE class and users misinterpret the err:ole:XXXX error as an OLE issue rather than a missing library.
Still, apps loads some DLL, ant this can be intercepted. I do not know enough about how OLE works, but maybe a sister 'Known OLE keys' feature might me usefull too :)
Overall I'd prefer to maintain such information in the documentation or wiki instead of the code.
This could be handled by some kind of configuration (xml?) file.
AdamK