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

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

不幸的是,这个16位的程序在这里停留了一段时间,所以我们必须解决它在现代操作系统上造成的挫折。

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

我得到的错误是,“程序在地址:0001:02C9 WIN87EM.DLL中导致一个常规保护错误”。 令人讨厌的是,有时它有效,而其他时间则不起作用,使得故障排除更令人沮丧。

从拖网上,我遇到了几个网站,提到了同样的问题。 他们似乎没有提供真正的解决scheme,除了说WIN87EM.DLL提供浮点例程,并与某些打印机有一些问题。

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

任何指针解决这个问题,或者我可以尝试让它工作的方法?

视频驱动win87em.dll

这是一步一步解决我们与“win87em.dll”问题的问题。

  1. 左键单击屏幕左下角的START按钮。
  2. 右键单击我的电脑,然后单击属性。
  3. 左键点击硬件顶部的标签
  4. 左键单击“设备管理器”按钮。
  5. 左键单击靠近列表顶部的显示适配器旁边的+号。
  6. 右键单击显示适配器下展开列表中显示的项目,然后左键单击禁用。
  7. 左键单击“是”按钮,显示Windows何时询问您是否确定要禁用它。
  8. 当窗口询问您是否要重新启动时,左键单击否按钮。
  9. 重复显示适配器下列出的每个项目的禁用过程(通常只有一个或两个)
  10. 重新启动PC和win87em.dll常规保护错误应该消失。

这仅适用于Windows XP上的用户。 列出的显示适配器很可能会显示为英特尔G41内部显示适配器,但它可能是另一个英特尔设备。 如果这不能解决问题,那么这可能是一个坏的打印机驱动程序导致的问题。

禁用视频适配器不会伤害窗户。 这将使他们的电脑无法观看视频或玩3D游戏,但Windows仍然会运行,看起来不错。 (重新启动后,他们可能需要更改屏幕分辨率。)

VirtualBox 4.3.16也应该有一个修复。 请参阅https://www.virtualbox.org/ticket/12646如果您想立即修复,则必须从OSE源创建VirtualBox。

更新:包含此修复程序的VirtualBox 4.3.16现在正式发布。

这个问题是旧的,但我有这个确切的win87em.dll崩溃与一些16位工厂自动化软件本地运行在Windows 7上。按照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修复win87em.dll中的一般保护错误

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

这是我与微软XP模式相同的错误。 显然WIN87EM.DLL有虚拟化处理器的问题。 我的解决方案:我在注册表中“卸载”WIN87EM.DLL的XP版本(搜索并删除每个具有此名称的项目),并将更旧的版本复制到应用程序文件夹中。 旧版本可以找到她: http : //support.microsoft.com/kb/86869/de祝你好运!

我知道这是一个古老的线程,但我遇到了搜索,因为我在运行VirtualBox的Windows XP下有同样的问题。 最终我发现了以下内容:

https://communities.vmware.com/people/jmattson/blog/2012/03

这是VMWare和似乎已经解决了这个问题,找不到任何类似的VirtualBox,但作为VMWare播放器是免费的,这是一个很好的解决方法,任何人有这个问题。

在虚拟机的情况下 – vxBOX(已测试)VM ware(可能),您只需关闭VX BOX选项的处理器部分中的所有准虚拟化选项即可。 像魔术一样工作!