欺骗 32 位应用程序在 64 位系统上运行?

欺骗 32 位应用程序在 64 位系统上运行?

我们有一个旧版 Windows 应用程序,用于检查它是在 32 位还是 64 位系统中运行。显然没有可用的 64 位版本,但我们现在面临的情况是必须在 64 位 Windows 7 工作站上运行它。除了为此目的启动 32 位 VM 之外,有人有什么建议可以解决这个问题吗?

答案1

我使用的方法是使用 32 位 DLL 的标头标记所需的应用程序,因此每次执行它时,应用程序都会看到 32 位模式 DLL 并将它们加载到其内存空间中:

  1. 下载适用于 Windows 7 和 .NET Framework 4 的 Microsoft Windows SDK

  2. 安装;

  3. CorFlags.exe从 SDK 程序文件目录的 Bin 文件夹中获取名为 Microsoft CorFlags 的实用程序;

  4. 使用以下方法标记您的应用程序以使用 32 位 dll:

    CorFlags /32BIT+ yourapplication.exe
    

下次执行应用程序时,Windows 将看到新的标头并将其作为 32 位应用程序执行。您的应用程序将使用 Windows 提供的 32 位 DLL。

答案2

我知道您说过您不想为此启动虚拟机,但 XP 模式可以完全满足您的需要,并且它可以以透明的方式运行,因此应用程序似乎没有在虚拟机中运行。

安装XP 模式看看它是否符合您的需求。

答案3

Visual FoxPro 不能使用 64 位 ODBC 驱动程序,即使该应用程序在 64 位系统上可以正常运行。

要解决此问题,请打开提升的命令提示符并运行C:\Windows\SysWow64\odbcad32.exe以设置您的 DSN。

(厚颜无耻地抄袭自这里

相关内容