The rationale for this change is simple: the version sniffing code is unreliable and gets it wrong frequently. Out of the box, you can't run "WINEDLLOVERRIDES=msi,msiexec.exe=n wine InstMsiA.exe" because of this code. You just get silence. It turns out that even though this is the Win98 version of the installer, it's detected as a Windows XP binary.
It's a lot simpler to have a single, sane default. This makes it easier for users to understand, easier for us to control, and avoids the case where different processes in the same program get different version information.
This patch defaults us to Win98 mode.
Shouldn't we default to WinXP? I know no apps except Win98 specific system files like InstMsiA.exe and dcom98.exe which fail with Winver=winxp. Contrary many apps need winver=winxp(or win2k or nt40) to work, like the setup programs for MS Visual Studio and Microsoft Office 2003.
Anyone who has an app which doesn't work with winver=winxp but works with real Windows XP?
I think we should at least target Winver=winxp and fix broken apps.
Stefan