如何向 32 位程序报告更少的内存以便它可以在 64 位 Vista 上运行?

如何向 32 位程序报告更少的内存以便它可以在 64 位 Vista 上运行?

我有一个旧版安装程序,无法在具有 4GB RAM 的 64 位 Vista 版本上安装。安装程序在安装开始时会检查是否有足够的内存。它确定“RAM 不足 256K”。我认为这是因为数学运算中使用了一个有符号的 32 位数字。

我想我可以从电脑中取出一些内存并尝试一下。作为最后的手段,我会这么做。但是,我希望可能有一些设置或命令行选项可以让 Vista 向 setup.exe 进程报告少于 4GB 的内存。

有人知道怎样做到这一点吗?

答案1

使用 BCDEdit 设置truncatememory 选项。那会限制你的记忆。

要使用它,首先检查您拥有的 BCD 条目

BCDEDIT /v

记住所需条目的 ID,然后使用

BCDEDIT /set "{id}" truncatememory 1073741824

这会将其限制为 1 GB。

答案2

Windows 中可用的兼容性垫片之一是“GlobalMemoryStatus2GB”。这可能就足够了。请查看应用程序兼容性工具包。

答案3

另一种方法是在 Virtualbox 等虚拟机中运行 Windows。然后,您可以对应用程序进行沙盒处理,并根据需要使用尽可能多的或尽可能少的内存来运行它,如果您有可用的许可,也可以使用旧版本的 Windows 运行它(如果存在兼容性问题)。

相关内容