< February 2008 | March 2008 | July 2008 >

March 22, 2008

「16 ビット MS-DOS サブシステム」メッセージ

古いソフトウェアのインストールを行う際、インストーラを起動すると次のようなメッセージが表示される場合があります。

タイトル:「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 です。