[ホーム] -
[Windows 7 FAQ 一覧] - [サポートされない16ビットアプリケーション]
64ビット版のWindows 7の コマンドプロンプトで古い Windows あるいは MS-DOS プログラムを実行した場合、以下のエラーが発生する場合があります。
64ビット バージョンの Windows での非互換性のため、プログラムまたは機能である"<プログラム名>"を開始または実行できません。ソフトウェア製造元にといあわせて64ビットWindows 互換バージョンが利用できるか確認してください。
16ビットアプリケーションはMS-DOSやWindows 3.1向けに作成されたプログラムです。これらのプログラムはWindows 7 では 386エンハンスモード(enhanced mode) で実行が可能です。
(*) エンハンスモードとは、Windows 3.0 あるいは Windows 3.1の実行モードの1つです。
64ビット版のOSでは16ビットアプリケーションは実行できないようです。ソースコートが入手できるなら、32ビットあるいは64ビット用に修正してコンパイルするのが一つの解決方法です。
詳しくは以下のページをご確認ください。
アプリケーション開発者向け Microsoft Windows 7 対応アプリケーションの互換性
https://msdn.microsoft.com/ja-jp/windows/dd882526.aspx
参考:
Windows 7 32ビット版では 16ビットアプリケーションは仮想マシン上で実行が可能なようです。複数の16ビットアプリケーションを同時に実行すると、共通のメモリ領域が使用されます。よって一つの16ビットアプリケーションで不具合が発生すると、他のアプリケーションにも悪影響を与え、アクセス違反などで異常終了する場合があります。よって16ビッチアプリケーションはそれぞれ別メモリで実行することが推奨されます。
(1)プログラムのショートカット作成します。
(2)ショートカットのプロパティで「別メモリ領域で実行する」のチェックをオンにします。