gpt4 book ai didi

windows - 旧的 16 位应用程序间歇性地导致 WIN87EM.DLL 中的 GPF

转载 作者:可可西里 更新时间:2023-11-01 10:00:44 24 4
gpt4 key购买 nike

我有一个旧的 16 位应用程序,它是为 Windows 3.1 开发的。它执行一些计算并且是更复杂系统的一部分。系统为程序设置输入,并收集输出结果。

不幸的是,16 位程序在此期间仍然存在,因此我们必须解决它在现代操作系统上造成的问题。

系统运行在 Windows XP 上,在 Windows XP 物理机上运行正常。我遇到问题的机器是在 Debian 机器上的 VirtualBox(版本 4.1.12)上运行的 Windows XP 实例。物理计算机是 HP Proliant 服务器,具有四核至强 3.4 Ghz。我正在使用远程桌面从我的 Windows 7 机器访问计算机。

我得到的错误是,“程序在地址为 0001:02C9 的 WIN87EM.DLL 中导致一般保护错误”。令人恼火的是,有时它可以工作,有时却不能,这使得故障排除变得更加令人沮丧。

在网上搜索时,我发现有几个网站提到了同样的问题。他们似乎都没有提供真正的解决方案,只是说 WIN87EM.DLL 提供浮点例程,并且在某些打印机上存在一些问题。

我已经卸载了虚拟机上的所有打印机,我还尝试安装 PDF writer 并将其设置为默认打印机 - 这样机器上就有了打印机。我已禁用与我的远程桌面连接的资源共享。我已经更新了机器上的虚拟机 guest 驱动程序。我还尝试在可执行文件的属性中设置与 Windows 95 的兼容性。

有任何解决此问题的指示,或者我可以尝试使其正常工作的方法吗?

最佳答案

这个问题很老,但我确实遇到了 win87em.dll 崩溃,一些 16 位工厂自动化软件在 Windows 7 上 native 运行。按照 HIDE87.com 的方法并编辑 autoexec.nt我能够使软件停止崩溃,以便我可以进行编辑。

这台机器运行的是 Intel 8 系列/C220 系列芯片。我将此配置归因于崩溃,因为我多年来一直在大量其他 Windows 7 机器上使用相同的 16 位软件。

编辑:这是我用来解决问题的步骤

  1. http://www.conradshome.com/win31/archive/ 下载 winfloat.exe
  2. 用 7zip 打开 winfloat.exe。找到 HIDE87.com 并将其解压缩到桌面。
  3. 将HIDE87.com复制到C:\Windows\System32\
  4. 用记事本打开c:\windows\system32\autoexec.nt
  5. 在文件顶部,在第一组评论之后添加以下内容

lh %SystemRoot%\system32\HIDE87.com

  1. 在最后一行上方添加评论

REM Fix for Gen. Protection Fault in win87em.dll

  1. 保存对 autoexec.nt 的更改并重新启动电脑。

关于windows - 旧的 16 位应用程序间歇性地导致 WIN87EM.DLL 中的 GPF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10511506/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com