WindowsXP Game Tips


 WindowsXPでWin95/98対応のゲームなどを動かす為のコツを記載しています。



新着情報


動作しないゲームのありがちなパターン

■共有DLLのバージョン違いによるエラー

2001/8/8 W2Kのコンテンツを流用

 ソフト自体はWindowsXP上では問題なく動作するものの他のアプリケーションとの兼ね合いで正しいバージョンのDLLがロードできなくてエラーを起こす場合があります

不要なDLLを削除
一般的にDLLの新バージョンは旧バージョンとの互換性を保っている筈です。そこで旧バージョンを削除する事で問題が解決する事が多々あります。実行プログラムが特定バージョンのDLLに依存する場合は後述のSide-By-Side機能を使用する必要があります。
DLL/COMリダイレクション(Side-By-Side機能)を利用する
実行ファイル毎に空の.localファイル(例:game.exe.local)を実行ファイルと同じディレクトリに用意する事で、既にメモリ上にロードされた同名DLLがある場合でもローカルディレクトリにあるDLLをロードします。

■インストーラにOSが違うと言われハネられる

2001/8/8 W2Kのコンテンツを流用

 NT4で動作しないようにチェックをかけているソフトが散見されます。しかしソフト自体はWindowsXP上では問題なく動作するケースも多々あるので回避策が必要です。

 一般的には互換モードを使用する事でこの問題を解決できますがこの機能はバージョンの偽装という面では不完全なので、どうしても駄目な場合は拙作のツール「inst2000」をご使用下さい

■2GB以上のフリーエリアがある場合でも容量不足と言われる

2001/8/8 W2Kのコンテンツを流用

 ディスク容量チェックの旧APIの結果がWin95/98系とWinNT/2000/XP系で異なる為に発生します。MSの資料によるとWIN95OSR2以降では旧来のAPIは使用しないように書かれていますんで各メーカーのプログラマにはこの程度の事には対応して欲しいモンだとも思うが、一方旧APIは互換性の為にあるんやしMSには挙動をWin95/98にあわせて欲しい気もする。

 ■互換モードを使用する事でこの問題を解決できます。

■NTFSのパーティションにはインストールできない

2001/8/8 W2Kのコンテンツを流用

 アクセス権の都合で駄目な場合は該当するディレクトリ以下に適切な権限を与えればOKだが、それ以外はFAT16なりFAT32のエリアにインストールしてもらうしか無いです。

■複数のCD-ROM/CD-R/DVD-ROMを搭載するマシンで動作しない

2001/8/8 W2Kのコンテンツを流用

 ソフトによってCD-ROMが複数あるとセットしたドライブによってCD-DAがならなかったりする事もあります。そこで1台を除いてドライブレターを外してしまうとうまく動くゲームがあります。ドライブレターの削除は[コンパネ]→[パフォーマンスとメンテナンス]→[管理ツール]→[コンピュータの管理]→[記憶域]→[ディスクの管理]でする事が出来ます。(クラシック表示の場合は[コンパネ]→[管理ツール]〜となります)

■Windows 3.1/95兼用アプリケーション

2002/4/14 フラットサンクに関する誤記を修正

 Windows XPはフラットサンクをサポートしていないので32bitプログラムと16bitプログラム間の連携が著しく制限されます。残念ながらWindows XP上でこの類のアプリケーションを動作させる方法はありません。(PCエミュレータの類を使えば可能になりますが価格が高いのでWindows 9xとのデュアルブートにした方がマシでしょう(^^;)

動作しないゲームの一般的な対処方法

■互換モード

2001/10/13 若干の記述を追加。

 WindowsXPから導入された特定プログラムに対してのOSの挙動をWin95/98/NT/2000に似せる事ができる便利なモードです。

 具体的にはショートカットもしくはアプリケーションのプロパティを表示し「互換性」タブで操作します。

 Windows2000のApplication Compatibility Toolに比べて指定項目は少ないものの実際のエミュレート範囲は多岐に渡り使い易さで勝るのでお手軽に使えます

■Application Compatibility Toolkit

2002/9/5 内容をVer2.6用に変更。

 特定プログラムに対してのOSのバージョンチェックやディスク容量チェックなどの問題を回避する事ができる便利なツールです。

 WindowsXPのCD-ROMのSupportフォルダにact20.exeというファイル名で格納されています。残念ながら日本語化はされていません。「Compatibility Administration Tool」「Application Verifier Tool」と言ったツールにより、従来の「Application Compatibility Tool」以上に細かい設定が可能になっています。

 最新版を入手する為にはMicrosoft ダウンロードセンターからキーワードに"Application Compatibility Toolkit"を指定して、USダウンロードセンターも検索するをチェックして検索してやればダウンロードできます。2002年9月5日時点では製品版より新しいVer2.6が登録されています。プリインストールマシン等act20.exeがディスクに存在しない場合でもダウンロードして利用できます。

 操作方法が従来のバージョンとは一新されているので同時にインストールされるリファレンスを参照して下さい。

■Win95/98で代替インストール

2001/8/8 W2Kのコンテンツを流用

 ソフト本体は動作する(かもしれない)のにインストーラがWindowsXP上で動作しないケースがままあります。そこでWin95/98/Meでインストール作業をやっておいて関係するレジストリとファイルの内容を複写する方法を紹介します。

 レジストリに関しては一般的にはHKEY_LOCAL_MACHINE、HKEY_CURRENT_USERの下の"Software\ソフトハウス名\ソフトウェア名"の内容をregファイルに出力すれば事足りるケースが多い。またインストールパス等を変更する場合レジストリ内容の編集も必要になって来るでしょう

 ファイルについてはインストール先ディレクトリ以下を複写すれば良いのですが、ソフトによってはWindowsシステムディレクトリの下に設定ファイルやセーブファイルを配置するものもあるので要注意。

 最後にこの方法はあくまでもイレギュラーなものでありレジストリを操作したりする為、ある程度の危険を伴います。この方法をとる場合はくれぐれも自己責任でお願いします

■演奏がうまくいかない場合は…

2001/8/8 W2Kのコンテンツを流用

 WindowsXPでうまく動作しないもののうちBGMの演奏関連に問題のあるソフトはかなり多いが、これはドライバやAPIのちょっとした挙動の違いに起因する事が多い。そこでこのような場合の対処やが

  1. メーカーの最新パッチを探す。WindowsXP対応と書いていなくてもサウンド関連の修正により直ってる事もある。「痕」の初期パッケージにPC98対応のパッチを当てた場合なのがこれに該当する。
  2. Win9x/Me系には複数の演奏方法(DirectSound,CD-DA,MIDI,DirectMusic)があるが、このうちのいくつかから選べるゲームなら取りあえず変更してみるだけで遊べるようになる事もある。特に問題を起さないのがDirectSound。音質はいま一歩ながらも安定性は捨てがたいものがある。CD-DAやMIDIで問題が発生した場合でも他方に切りかえれば動く事もある。
  3. ドライバ関連の不具合の可能性もあるので最新ドライバを導入してみるのもひとつの方法だ。ただしドライバ類を下手に入れかえるとOSの安定性を大いに損なう事があるので、その辺のリスクは承知の上で試してもらいたい。
  4. DirectX診断ツールを使ってアクセラレートレベルを変更する事で対処できる場合もある。DirectX診断ツールは[スタート]→[ファイル名を指定して実行]→"%systemroot%\system32\dxdiag.exe"で起動できます。ここのサウンドタブにあるハードウェアサウンドアクセラレータレベルを変更する事で正常に再生されるケースがあります。