WindowsVista/Windows7対応

どうやらまた動かなくなったようだ

夢の女神戦はWindowsXPで動作確認をとっておいたのだが、後継OSであるWindowsVista、及びWindows7で動かなくなっている事が判明。おのれMS。 Vista機もWindows7機も手元にあったので対応する事とする。 再現環境が手元にあれば何とかなるものだ。
VisualBasicのランタイムが入っていない

MSVBVM50.DLLがないとエラーが出る。Vista以降ではVB5のランタイムライブラリが入っていないようだ。VB6は入っているようだが。

複雑怪奇なVB5ランタイム一式をユーザーのPCにインストールするのは気が引ける。Windowsのシステムフォルダに古い同名ファイルを上書きするとなれば、何が起こるか分からないじゃないか。今回それは避けるものとする。

DLLは実行ファイルのフォルダに入れておけばそれでいいはず。 そこでMSVBVM50.DLLを夢の女神戦のインストールフォルダに入れてみた。 それで動いた。なんて簡単。

もしMS謹製のOCXやActiveXとやらを使っていたら、こう簡単には行かなかっただろう。
MSのライブラリは切り捨てられる前提で作らないと酷い目にあう。 なんか.Netとかあったようだけど、あれを使うのは将来性を考えるとかなり危険と思われる。 夢の女神戦みたいにDLL一つで決着がつくとは思えない。
音が鳴らなかった

さぁゲームスタート!しかし、音楽がならない。MIDIが死んでいた。 なんて事だ。

原因はWindwos側のMIDIの仕様変更の為。おのれMSめ・・。
GS規格の仕様が変わったのでMIDIファイル側で対応する。
ヘルプが開けない

ヘルプが死んでる。 またもVista/7の仕様変更。おのれ(略
従来のWindowsヘルプ形式が標準サポート外になり、別途表示用にWinHlp32.exeをインストールしなければならないように変わっていた。

そんな手間をかけさせる訳にもいかず、HTML形式にしてブラウザで表示するようにする。

そして動くようになる

仕様変更にも負けず、無事動くようになりました。
その後Windows8は特に影響なし。インストーラーの設定ミスってたのでそれを直しただけ。
Windows10も出たようだけど、これはどうだろうか。うちのPCはWindows10へのアップデートは途中でフリーズして出来なかったので動作確認はとれていない。 またおかしな仕様変更が無ければいいなぁ。もし動いていれば、もしくは何か問題があれば教えてくれると助かります。