2

Windows 3.1 用に開発された古い 16 ビット アプリケーションがあります。いくつかの計算を実行し、より複雑なシステムの一部です。システムはプログラムの入力を設定し、出力結果を収集します。

残念ながら、16 ビット プログラムは当面の間存続するため、最新のオペレーティング システムで発生するフラストレーションを回避する必要があります。

システムは Windows XP で動作し、物理的な Windows XP マシンでも正常に動作します。私が問題を抱えているマシンは、Debian ボックスの VirtualBox (バージョン 4.1.12) で実行されている Windows XP インスタンスです。物理コンピューターは、Quad Core Xeon 3.4 Ghz を搭載した HP Proliant サーバーです。リモート デスクトップを使用して、Windows 7 ボックスからコンピューターにアクセスしています。

私が得ているエラーは、「PROGRAM がアドレス : 0001:02C9 の WIN87EM.DLL で一般保護違反を引き起こしました」です。面倒なことは、うまくいくときもあればうまくいかないときもあり、トラブルシューティングがさらにイライラすることです。

インターネットをトロールしていると、同じ問題に言及しているサイトをいくつか見つけました。WIN87EM.DLL が浮動小数点ルーチンを提供し、特定のプリンターにいくつかの問題があることを除いて、それらのどれも実際の解決策を提供していないようです。

仮想マシン上のすべてのプリンターをアンインストールしました。また、マシンにプリンターが存在するように、PDF ライターをインストールしてデフォルトのプリンターとして設定しようとしました。リモート デスクトップ接続でのリソース共有を無効にしました。マシンの仮想マシン ゲスト ドライバーを更新しました。また、実行可能ファイルのプロパティで互換性を Windows 95 に設定しようとしました。

この問題をトラブルシューティングするための指針、またはそれを機能させるための方法はありますか?

4

6 に答える 6

1

VirtualBox 4.3.16 にも修正が必要です。https://www.virtualbox.org/ticket/12646を参照してください。 すぐに修正が必要な場合は、OSE ソースから VirtualBox をビルドする必要があります。

更新: この修正を含む VirtualBox 4.3.16 が正式にリリースされました。

于 2014-08-20T17:15:27.520 に答える
1

これは、Microsoft XP Mode で発生したのと同じエラーでした。明らかに、WIN87EM.DLL には仮想化されたプロセッサに関する問題があります。私の解決策: レジストリ内の WIN87EM.DLL の XP バージョンを「アンロード」し (この名前のすべてのアイテムを検索して削除)、はるかに古いバージョンをアプリケーション フォルダーにコピーしました。古いバージョンは、http ://support.microsoft.com/kb/86869/de で見つけることができます 。

于 2013-02-06T19:23:32.947 に答える