Windows VistaのコードにWindows 6.0というバージョン番号をあてたとき、これを再確認した。つまり、メインのバージョン番号を変えると、アプリケーションの互換性の問題を引き起こす可能性があるのだ。そこで、われわれはWindows 7のコードをWindows 6.1というバージョン番号で出すことに決めた。
Summing up, when a developer writes the code to check for the version numbers, there are some potentional issues with few of the applications.
They only check the dwMajorVersion (These application will only install in Windows 2000,XP and Server 2003) They hardcoded the Version checks { if (majorVersion = 5 && minorVersion = 1) } (These application will only install in Windows XP) They implemented a wrong condition check { if (majorVersion > 5 && minorVersion > 1) } (Though the check condition loooks correct, this fails on Windows Vista)
Vistaの時にタコが大量発生したから (スコア:3)
「Windows 7」、バージョン番号「6.1」の意味するもの [cnet.com]
Windows VistaのコードにWindows 6.0というバージョン番号をあてたとき、これを再確認した。つまり、メインのバージョン番号を変えると、アプリケーションの互換性の問題を引き起こす可能性があるのだ。そこで、われわれはWindows 7のコードをWindows 6.1というバージョン番号で出すことに決めた。
http://www.msigeek.com/985/appcompat-series-how-do-you-fix-the-os-vers... [msigeek.com]
Summing up, when a developer writes the code to check for the version numbers, there are some potentional issues with few of the applications.
They only check the dwMajorVersion (These application will only install in Windows 2000,XP and Server 2003)
They hardcoded the Version checks { if (majorVersion = 5 && minorVersion = 1) } (These application will only install in Windows XP)
They implemented a wrong condition check { if (majorVersion > 5 && minorVersion > 1) } (Though the check condition loooks correct, this fails on Windows Vista)
(強調は引用者)
特に最後のパターンに"6.0"を入れると (true
Re:Vistaの時にタコが大量発生したから (スコア:2)
実は3.1→95の時にも似たような話があったり
人はなぜ同じ過ちを繰り返すのか…
Bad version number checks [msdn.com]
Re:Vistaの時にタコが大量発生したから (スコア:2)
つまりWindows95の内部バージョンは3.95?
3.2を95という名前で売りつけるだけの簡単な仕事ですなw