昨日、DirectX 9.0cの古いリリースでは、ミコソフトスライドショーXが起動できないというお話しをしました。
そこで、XNA2導入チェッカーでも、システムディレクトリにあるDirectX 9.0cの本体DLL(=d3d9.dll)のファイルバージョンをチェックして判定しようとしたのですが…。
なんと、ファイルバージョンは、0.0.0.0ではないですか!
うーん、これには驚きました。
DirectXの古いSDKには、DirectXのバージョン判定プログラムサンプルも入っているのですが、ファイルのバージョンでチェックしているのは、DirectX8までで、9以降は、DxDiagの機能を使ってバージョン判定を行っている理由が判りました。(涙)
そいいうことなんですね。
納得です。
となると、なにか代替方法を考えないといけません。
という訳で、今回は、d3d9.dllのファイルタイムスタンプで判定することにしました。
しかし、どのスタンプからならOKというのは、ネットを検索しても情報が見つかりません。(まあ、探し方が悪いんでしょうが…)
そこで、今回は確実な2008年以降のリリースということで、2008年4月14日11時25分のスタンプを用いることにしました。
そして、d3d9.dllのファイルタイムスタンプがそれよりも前の場合は、古いリリースだと判定して、DirectXの最新バージョンの導入を促すガイドを表示するようにしました。
ただ、あくまで執事ですから…
もとい!
ただ、あくまで代替手段ですから、情報が見つかり次第、改訂したいと思っています。