Vista環境でのDirectX

WindowsVista環境での、DirectXを使用したゲームの動作について、何点か注意すべきことがあります。
ExcelVBAで作成されたゲームでは、VB用DirectXのバージョン7かあるいはバージョン8を使用しています。WindowsXPまでは、このVB用DirectXのライブラリが標準で搭載されていましたが、WindowsVistaにはこのライブラリが標準では含まれていない模様です。このため、DEX-EVなどの、DirectXを使用したゲームは起動できずにエラーが発生します。
ゲームを遊ぶことができないのです。

そこで、対応策として、ご利用のパソコンに手動でライブラリをインストールすることで、この問題を解決できます。ここではその手順を公開しますが、インストールにあたっては各自の責任で行ってください。
現在のところ、これによって不具合が発生したという事例は、私の知る限りありません。もしも、どうしてもイヤという場合には、申し訳ありませんが諦めていただくしかありません。VB(Visual Basic)でDirectXを使用しているゲームは、全てこの問題の対象となります。私の作品以外でも、同様の問題が発生するソフトがある可能性があります。

VB用DirectXライブラリを入手

まずは、ライブラリを入手しなくてはなりません。
方法はいくつかありますが、一番簡単なのは、身近にあるXPマシンから抜き取ってくることです。会社とか、セカンドマシンにWindowsXPがある場合は、簡単に入手することが可能です。
ライブラリの名前は『 dx8vb.dll 』です。XPマシンなら、ウィンドウズがインストールされているドライブ(普通はCドライブ)の『WINDOWS』⇒『system32』という階層に入っているはずです。これをコピーして抜き出してくればOKです。
これが不可能という場合には、マイクロソフトが無償で公開しているパッケージから、このライブラリを抜き出すしかありません。このdx8vb.dllのみで配布されてはいませんので注意してください。
まずは、次のリンク先(マイクロソフトのダウンロードページ)から、『 DX81NTjpn.exe 』というファイルをダウンロードします。

DirectX 8.1 Runtime のダウンロードページ
DirectX 8.1 Runtime for Windows 2000

ここでダウンロードできるファイルは拡張子が『 EXE 』の実行ファイルなので、そのまま実行してしまうと、インストール作業が始まってしまいます。これは不具合の元になりますので注意してください。
ダウンロードできたら、実行してしまうのではなく、ファイルの拡張子を変更します。

DX81NTjpn.exe を ⇒ DX81NTjpn.cab に変更

拡張子を変更すると、cab形式の圧縮ファイルになりますので、それを解凍ツールなどで解凍します。私が使っている解凍ソフト(Lhaplusというソフト)では正常に解凍できました。その他のツールでは解凍できるかどうかテストしていません。
解凍できたら、その中にdx8vb.dllが含まれているはずです。
これらの方法でdx8vb.dllを入手できたら、次にインストールです。

dx8vb.dllのインストール

まずはこのライブラリを、XPなどの場合と同様『WINDOWS』⇒『system32』という階層にコピーします。このフォルダに置いておかないとインストールが失敗する可能性がありますので注意してください。
次に、管理者権限でコマンドプロンプトを起動します。
コマンドプロンプトの画面に、『 regsvr32 c:\windows\system32\dx8vb.dll 』と入力してエンターキーを押します。ほんの少しだけ待って、成功した旨のメッセージが出れば、これでインストールは完了です。
インストールできたら、あとは普通に遊べるようになるはずです。多少面倒ですが、ファイルの入手さえ何とかなれば、あとはほぼ問題なくできると思います。

後記

ちなみに、同様の手順でVB用のDirectX7もインストールできます。
もし、バージョン8をインストールしてもうまくいかない場合には、そのソフトがバージョン7を使って作成されているのかもしれません。(私は8しか使いませんが……)
かなり手間ですが、面白いゲームを遊ばないのはもったいないので、やってみるといいかもしれません。
ExcelVBAでDirectXを使用するには、このライブラリが必須です。それがVista環境では標準でインストールされていないというのは、開発者として結構ショックが大きい事実です。
DirectXを使用することによって、今までは考えられなかったような素晴らしいポテンシャルのゲームを開発できます。それが今後、標準では使えないとなると、開発するのを諦めろとマイクロソフトから言われているような気がしてしまいます。
関係者の人がこのページを見てたら、何とかしてください。泣いちゃいます。