On Thu, Jan 22, 2009 at 10:56:50PM +1100, Ben Klein wrote:
2009/1/22 Francois Gouget fgouget@free.fr:
On Thu, 22 Jan 2009, Ben Klein wrote: [...]
Perhaps the question remains, is a VC7 runtime library intended to be developed and shipped with Wine? I don't think this is the case.
We have msvcirt, msvcrt, msvcrt20, msvcrt40, msvcr71 so I would not be so sure. Which dlls are we talking about anyway?
I'm always happy to be corrected :)
I guess that's the crux of the question. To my mind, msvc runtimes are normally distributed with the using application (except some early ones which I think comes with all the versions of 32-bit Windows) and operate without hardware/HAL dependencies so they're not something that Wine needs to implement to be a complete implementation of Win32.
They would be nice to have, sure. And then the upstream redistributable package will see that they are already installed and not install them. I presume this is the eventual goal for DirectX 9's D3DX support.
Is bug-for-bug compatibility enough for platinum? Or do we need to be not just bug-for-bug compatible, but catching and fixing application bugs or installer bugs which trigger more frequently under Wine than Windows?
The .NET 2.0 installer comes to mind here as a counterexample. It fails under Wine's WinXP mode because it uses a capability test which infers the right conclusion under Windows, but the wrong conclusion under Wine, despite there being a different test which actually answers the question being inferred. I guess under the above reasoning, that would not prevent it from being platinum, despite it being non-functional under the default configuration.
.NET 2.0 is actually another example of a runtime which is often left out of installers, with a note at the website (or not at all) saying "You need .NET 2.0 installed". (I guess the eventual plan is to integrate an mscoree.dll that points to Mono? I think I saw that on the Wiki, anyway)
Should Wine act like a stock Windows (or stock + service packs) or should it also be expected to provide whatever other random extension libraries Microsoft publishes? (eg. Speech SDK...)
I hadn't realised Wine provided a msvcr71 implementation for that matter.
msvcp80 and msvcr80? Or is it mfc80 that's needed?
Btw, the AppDB mentions Visual C++ 2005 which means we're talking about VC8, not VC7. Or is the AppDB wrong? Or maybe I'm looking at the wrong AppDB entry: there's Reign of Chaos (rated platinum), and the Frozen Throne (rated gold).
Someone mentioned Warcraft 3, someone else mentioned WoW, I'm not sure any more. It's all too confusing when you're low on coffee :P
The DLL confusion is my fault, I misaligned Visual C and Visual Studio versions in my head.
In this case, it's Visual Studio 2005, msvc?80.dll.
Which coincidentally is the first one to implement SxS, which means it behaves differently under <= Win2k and >= WinXP.
I dunno where WoW came into it, I was talking about Warcraft 3.
Mind you, occasionally AppDB users (and bug reporters) confused the two as well. It doesn't help that WoW hit version 3 late last year.