ティアのたわごと5☆其の456
ちょっと古めのゲームをインストールするとか・・・
そうでなくても、同人ゲームでは古い開発環境で作られていたりして、ゲーム自体はWindows用でも、16ビットサブシステムは案外いろんなところで使われています。
これは、古いプログラムを作ったからと言うのではなく、単にVs6.0辺りで作るだけでそうなってしまうのです。
で、Windows2kや2k3等を使っていると、下手するとNTを使っていても最近では割と一般的なXpを使っていてもね、このエラーが出ることがあります。
16 ビット MS-DOS サブシステム
config.nt システム ファイルは MS-DOS および Microsoft Windows アプリケーションを実行するのに適していません。アプリケーションを終了するには、[閉じる] を選んでください。
これには、いくつか種類があって、いくつかの原因でこれが表示されるんですが・・・結局どれもこれも、16ビットサブシステムが立ち上がらないというエラーメッセージです。
これには、「無視」と「閉じる」の選択肢がありますが、これをどう選んでも実行できないのは間違い有りません。
これが表示された時、実行できないことを嘆いて終わりにすることもできますが、根本的に原因があるので、それを取り除くことで実行することができるようになります。
で・・・・それは何かって事ですよね?
あまりに有名なので
http://support.microsoft.com/default.aspx?scid=kb;ja;324767
ここを見ることでも、ある程度解決できますが、こんなところに不具合がある人は非常に少ないのではないかと思います。
config.ntが壊れた?Autoexec.ntが壊れた?command.com??
それは、HDDに深刻な問題が起きているって事では??
そう、これらのファイルが壊れて、このメッセージが出ている人は、HDDを交換しましょう(笑
あたしの場合は、どうしたかというと、これらのファイルは当然壊れていません、その他の設定も間違いがないか全て調べました。
もちろんConfig.ntに含まれるデバイスドライバも間違えてないかチェックしました。
でも、どこにも問題はなく、結局動かなかった訳です。
で、これは、新しいソフトを手に入れるたびに行われてきた問題
インストールしたいのよ〜(笑
で、でもできないのですw
で、ここで一つ重要なことがあります。
それは、実は先ほどのMSのページは不完全なのです。
あのページの下部にある
http://support.microsoft.com/kb/305521/
こちが、正しく詳しく紹介されているのです。
そう、16ビットサブシステムが立ち上がるのにとても重要なのがTEMPディレクトリです。
(TMP及びTEMPで宣言されています。)
このページの17番にTEMPフォルダがあるか無いか確認するように書かれていますが・・・・これ、これが正しく存在しなくてはいけません。
しかもあるだけではダメなのです。
17の手順に書かれている通り操作すると、「ユーザー環境変数」と「システムの環境変数」が設定されていて、
「ユーザー環境変数」の設定は、一般にdocument and Settings\ユーザー名\LocalSetting\TEMPになっていますが、
ユーザー名が非8.3文字・・・正しくは、ディレクトリ全体を通して8.3形式じゃないといけないのですが・・・・ユーザー名に漢字や記号を用いていると、「ユーザー環境変数」が正しく設定されていません。
こうなっては、どうしようもありません。システムの環境変数の設定値をコピーするか、正しい8.3ファイル名にしなければなりません。
dir /xで8.3形式を正しく把握しましょう。
で、これで、「名前を指定して実行」からはCommand.comを起動できるようになると思うのですが、
Win実行形式の場合、これだけでは動きません。
じつは、16ビットサブシステムのWin実行形式は、一番はじめのディレクトリが、
Command.comを実行している時にSETを実行し環境変数を表示させると確認できますが、
HOMEDRIVE=
HOMEPATH=
で定義される、ホームディレクトリから実行されます。
これはMSのどこを開いても書いていない内容(笑
で、このホームディレクトリはどこで設定するかというと、アカウント設定のプロファイルのところで、「ホームフォルダ」で設定できます。
ここに設定する値は、8.3形式でも、日本語が含まれるとダメっぽいです。
あと、ここの設定は、少なくともログオフしないと反映されません。
再起動もしくは、ログオフ&ログインをしましょう。
これでもまだ動かない人は・・・・・もう居ないんじゃないかなぁ??
がんばれ!