我有一个旧的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”问题的问题。
这仅适用于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位软件多年了。
编辑:这是我用来解决问题的步骤
lh%SystemRoot%\ system32 \ HIDE87.com
REM修复win87em.dll中的一般保护错误
这是我与微软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选项的处理器部分中的所有准虚拟化选项即可。 像魔术一样工作!