古いソフトウェアのインストールを行う際、インストーラを起動すると次のようなメッセージが表示される場合があります。
タイトル:「16 ビット MS-DOS サブシステム」
メッセージ:「実行またはインストールしようとしているプログラムへのパス
C:\WINNT\system32\autoexec.nt システム ファイルは MS-DOS および Microsoft Windows アプリケーションを実行するのに適していません。アプリケーションを終了するには、[閉じる] を選んでください。」
これは、Windows Xp SP2 の環境で発生する事が多いようです。ファイル名 autoexec.nt は、「Config.nt」などの事もあるようですが、私が遭遇したのはすべて autoexec.ntでした。
InstallShield の古いバージョンで作成されたインストーラでは、付属する SETUP.EXE が 16bit アプリケーションのものがあるのですが、このメッセージが表示される環境では、あらゆる 16bit アプリケーションが実行できません。
解決策としては、以下のいずれかになります。
- 環境を修復する
- 32bit 版の SETUP.EXE を使用する
環境を修復する方法は、一番簡単なのは C:\windows\repair より、Autoconfig.nt を %systemroot%\system32 へコピーします。詳しくは、Microsoft のサポート技術情報 MS-DOS または 16 ビット Windows ベースのプログラムをインストールまたは起動した場合のエラー メッセージ を参照の事。
32bit 版の SETUP.EXE を使用する方法ですが、InstallShield で作成されたインストーラで、Windows Installer を使用しないバージョンのものは、SETUP.EXE は共通のアプリケーションです。ですので、何か他のソフトのインストーラで、32bit 版の SETUP.EXE を使用している物がみつかれば、それに置き換えてやる事で実行可能になります。インストーラが CD-ROM 等に収録されている場合は、SETUP.EXE を含むディレクトリごとごっそりハードディスクにコピーして、SETUP.EXE のみ 32bit 版のものに置き換えて実行すれば OK です。