上記のようなエラーが発生するケースが、たまにあります。
主に Windows 起動時に集中しているようですが、原因は判明していません。
ただ、いくつかの間接的な原因(?)と考えられる事と、対処法がありますので下記に記します。
エラーの発生状況も、あるユーザーの場合は、全く同じ構成(インストール)で100台中2台だけ、 と言ったふうに、条件が特定出来ない事が多いようです。
また、割合から言うとPC98系が圧倒的に多いです。
注)上記の「番地」ですが、TOOLHELP.DLL そのものが、かなり Windows カーネルの内部と 密接な結び付きがあるため、ここに表示される「番地」は本当にエラーが発生した場所を示している とは限りません。つまり、この場合には「番地」情報はなんの役にも立たないと言うことです、 残念ながら。
- プリンタードライバーの不具合。
プリンタードライバーがキャノン(BJ系)とNEC(PCPR系)の場合には、最新バージョンに 換えてください。
- TCP/IPドライバーの不具合。
TCP/IP 関係のドライバーは品質的にイマイチなものも多いようで、一部にはメモリーを fixed 指定 しただけでコンベンショナルに確保出来ると勘違いしてるものもあるようです。
カメレオンの古いバージョンでは、カナリの確率で色々問題が出るようです。最新版(Ver 4.0.2)では 問題ないというのがもっぱらの噂ですが完全ではないようですし・・・
特にDOS常駐部分とのやりとりがあるタイプは要注意なものもあるようです。
- ディスプレードライバーと何か(不明)の組み合わせ。
ディスプレードライバーに問題がある場合があります。一度標準(640x480 16色)に設定して、それでも 出るか確認してください。
良く似た原因として WinGをインストールするとエラーが出たと言う話があります。
WinGの設定が正しくない時だけのようですが・・・
- WIN.INI または SYSTEM.INI のファイルサイズ。
win.ini ファイルまたは system.ini ファイルが特定のサイズの時だけエラーが出ると言う報告があり ます。これはレスキューキットには直接関係ない話ですが、レスキューがインストールされてる時、 出やすいと言うこともあるようです。
問題となるサイズは、機種やドライバー構成によっても変わるようで、一概に何バイトだと問題がある、 とは言い切れないのですが。
- PC98の新しいシリアル回線ドライバー。
PC98の最近のマシンの場合ですと、COMM.DRV の構成が変わっていて、その関係で出ることがある と言う話もあります。ただし、これは情報が少なく、確認出来てません。関係ない可能性も大きいです。参照:レスキューキットでカバー出来ないケース
対 策: |
レスキューを「フル」インストールから「簡易」インストールに変更すると解決することが 多いようです。ただ、これでは効果が半減してしまいますが(^^ゞ
プリンタードライバーやディスプレードライバーに最新版がある場合は交換してみてください。 希に、古いバージョンの方が安定している場合もあります。
LAN関係の実行型のファイルがある場合は、それを setfree.exe 以前に起動することで回避 出来る場合があります。
win.ini ファイルに
[Early Bird]
lanappli=XXXXX.EXE ←この部分に追加する
SetFree First=C:\WINDOWS\WINRESQ\SetFree.exe -r512
のように追加する事で可能です。XXXXX.EXE の部分に実際のプログラム名を書けばいいです。
win.ini や system.ini のファイルサイズが問題になる(可能性がある)場合は、ファイルの 最後にコメント行(セミコロンで始まる行。その後に適当な文字を加える)を何行か追加するか、明らかに 不要とわかる設定項目を削除してファイルサイズが100バイト以上変化するようにします。
レスキューキットの WINRESQ1.EXE の「設定」の画面に「予約領域」と言う項目がありますが、 ここの数値を 20K とか 30K とかに増やしてみてください。
マニュアルで設定変更するには、win.ini の
[czSetFree]
Reserve=2048
の数字を、20000 や 30000 としてください。正確には 20K=20480、30K=32768 ですが厳密にする必要は ないです・・・
これによってコンベンショナルメモリーの確保出来る容量は減りますが、自動的に DOS 領域にメモリー 確保出来ると勘違いしているようなドライバーの場合には「だます」事ができます。