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"?
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.
Overall I'd prefer to maintain such information in the documentation or wiki instead of the code.