dポイントプレゼントキャンペーン実施中!

XPを使用してるパソコンで古いWin98用のソフトをインストールして起動しようとしたところ、起動自体はできるのですがすぐにエラーが出て終了してしまいます。互換モードで起動しても同様の状態です。
その後、Tempフォルダにappcompat.txtと言うファイルが作成されます。この内容を見る限りではkernel32.dllで何らかの不具合が出ているって事なのかなぁって思っていますが、何か有効な対策方法はありますでしょうか?

以下、使用中のパソコンの環境です。
メーカー:NEC LN500/9
OS:WindowsXP HoneEdition Ver.2002 Service Pack2
HDD:60GB
メモリー:760MB

少し長いですが、以下はappcompat.txtの内容の一部です。
<EXE NAME="kernel32.dll" FILTER="GRABMI_FILTER_THISFILEONLY">
<MATCHING_FILE NAME="kernel32.dll" SIZE="1230336" CHECKSUM="0x5C5A7BB7" BIN_FILE_VERSION="5.1.2600.2945" BIN_PRODUCT_VERSION="5.1.2600.2945" PRODUCT_VERSION="5.1.2600.2945" FILE_DESCRIPTION="Windows NT BASE API Client DLL" COMPANY_NAME="Microsoft Corporation" PRODUCT_NAME="Microsoft(R) Windows(R) Operating System" FILE_VERSION="5.1.2600.2945 (xpsp_sp2_gdr.060704-2349)" ORIGINAL_FILENAME="kernel32" INTERNAL_NAME="kernel32" LEGAL_COPYRIGHT="(C) Microsoft Corporation. All rights reserved." VERFILEDATEHI="0x0" VERFILEDATELO="0x0" VERFILEOS="0x40004" VERFILETYPE="0x2" MODULE_TYPE="WIN32" PE_CHECKSUM="0x131CDB" LINKER_VERSION="0x50001" UPTO_BIN_FILE_VERSION="5.1.2600.2945" UPTO_BIN_PRODUCT_VERSION="5.1.2600.2945" LINK_DATE="07/05/2006 10:55:21" UPTO_LINK_DATE="07/05/2006 10:55:21" VER_LANGUAGE="日本語 [0x411]" />
</EXE>

A 回答 (1件)

>何か有効な対策方法はありますでしょうか?


ありません。そのソフトの「WindowsXP版」を入手するしかありません。

なお、kernel32.dllは「Windows API」と呼ばれる、ユーザーアプリケーションがWindows本体の各種機能を呼び出す為のインターフェースを行う部分です。

もちろん、Windows98とWindowsXPでは「Windows APIの仕様」が異なるので、XP上で98用APIを呼び出そうとすると、呼び出した瞬間にエラーになります。そして、ユーザーアプリケーションは、APIからのエラーを検知して停止する事になります。(世の中に出回ってるアプリの中には「ここではエラー出ない筈」と、出ているエラーを検知せずに見過ごして、システムごとフリーズしてしまう馬鹿な作りの物もありますが)

アプリケーションの正しい作り方としては、Windowsのバージョンをチェックして、Windows98より下のバージョンやWindows98より上のバージョンだった時は「Windowsのバージョンが違うとのメッセージを出して起動しない」ようにするべきです。

バージョン違いの時にAPIからのエラーで止まるのは「手抜き」と言うか、下手をするとシステムをフリーズさせる危険性もある「重大な不具合」と言えるレベルのバグです。

アプリが未対応の上位バージョンのWondows上で、バージョンチェックが不完全な「古いアプリ」を動かすのは、Wondowsをフリーズさせたり、システムファイルを破壊させたりする可能性がある、非常に危険な行為です。

「Windowsが起動しなくなった」と泣く前に、動かないソフトを削除した方が身の為です。
    • good
    • 0
この回答へのお礼

なるほど、ありがとうございました。では、どうしても動かしたい場合はXP対応のソフトを入手するかWin98の環境が必要と言う事ですね。XP場で動作するMicrosoft Virtual PCの様なWINDOWSエミュレーターでも大丈夫なんでしょうか?

お礼日時:2006/11/26 15:26

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!