< Excel で、範囲に含まれる値の種類数を取得する | nmake 用の Makefile >

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 です。

トラックバック

このエントリーにトラックバック:
http://frog.raindrop.jp/cgi-bin/mt/mt-tb.cgi/2048

コメント

こんにちわ

こちらの記事を拝見してSETUP.EXEを差がしましたがなかなかファイルがみつかりません。
もし心当たりがありましたら教えていただきたいです。

> Npon さん

InstallShield も最新のものは WindowsInstaller を使用するようになっていたり、以前のものとは勝手が違います。
32bit 版の SETUP.EXE を探すよりは、環境の修復を試されたほうがよいかもしれません。

こんにちわ

回答ありがとうございます。

>InstallShield も最新のものは WindowsInstaller を使用するようになっていたり、以前のものとは勝手が違います。

そうなんですよねー、昔のゲームをインストールしようと思って、、、苦戦しております。
XPでインストールしてファイルコピーとレジストリの差分をとって環境を移してみたり、
いろいろ試しているのですがうまく行きません。

32bit版のSETUP.EXEは結局8時間ほどいろいろなサイトを探しましたが見つからなかったです。

コメントする

※ コメントスパム対策のため、コメント本文はおはよう、こんにちわ、こんばんわのいずれかより始めるようにしてください。

name:
email:

※ 必要ですが、表示しません。

url:
情報を保存する ?