我支持一家拥有非常古老的、任务关键型的 FoxPro for DOS 2.6 (FPD) 应用程序的公司。
由于各种原因,该公司没有调整/迁移他们的应用程序,具有讽刺意味的是,该应用程序在 Windows XP(和 32 位 Win7)下运行得更好,因为该操作系统允许更可靠的网络、分布式打印、电子邮件集成等新功能。不幸的是,对于这家公司来说,大多数新机器现在都配备了 64 位版本的 Windows 7,这与他们的 FPD 应用程序不兼容。
我知道这次情况已经很明显了:唯一的长期解决方案是迁移他们的应用程序。但我想知道是否有人可以建议一条临时的替代方法,它不涉及以下任一操作:
a) 将 64 位 Windows 降级为 32 位,或
b)在虚拟化的 32 位 XP 上运行该应用程序
谢谢!
附言:新年快乐!!!
答案1
答案2
我猜想它无法运行并且不会运行的原因是因为它实际上是一个 16 位应用程序。显然,Win64 不包含运行 16 位应用程序所需的 WoW Win16 支持子系统。
您绝对可以在 64 位 Windows 上运行 32 位应用程序。但如果您的 Windows 是 16 位的,那么您就必须运行模拟器。
如果确实是 32 位,则请确保已安装并可用 32 位库。另外,请确保禁用数据执行保护或将您的应用添加为排除项,否则它也无法运行。
答案3
当 AMD 开发其 x86 处理器的 64 位扩展时,所有旧的 16 位寻址兼容模式都被排除在 64 位模式之外。这使得 Windows 64 位 (WOW64) 上的 Windows 无法像 WOW32 在 32 位模式的处理器上那样支持运行旧的 16 位软件。
Windows 7、8、8.1 和 10 的 32 位版本仍然支持 16 位软件 - 您只需启用旧功能 NTVDM(NT 虚拟 Dos 机),甚至可以command
在 NT 命令提示符下键入以切换到 DOS 命令行。
我建议使用公司当前正在运行的主操作系统的 32 位版本在虚拟机中运行它 - 所以现在使用 Windows 7 32 位。
答案4
在 Windows 2003 终端服务器上运行该应用程序