无法在 Windows 7 64 位上安装 Java 32 位

无法在 Windows 7 64 位上安装 Java 32 位

我正在从 Java.com 下载 32 位 Java 版本,http://java.com/en/download/manual.jsp。它另存为

jre-6u27-windows-i586-s

然而,当我安装它时,而是安装 64 位版本(??)。/System32文件夹中没有javaw.exe,但SysWOW64文件夹中有。

我以前从未遇到过这个问题。该怎么办?我需要这个来处理 32 位 Java 程序。

答案1

这正是它应该出现的地方。来自维基百科WoW64页:

操作系统将 %SystemRoot%\system32 目录用于其 64 位库和可执行文件。这样做是出于向后兼容的原因,因为许多旧版应用程序都硬编码为使用该路径。执行 32 位应用程序时,WoW64 会透明地将 32 位 DLL 重定向到 %SystemRoot%\SysWOW64,其中包含 32 位库和可执行文件。32 位应用程序通常不知道它们正在 64 位操作系统上运行。32 位应用程序可以通过伪目录 %SystemRoot%\sysnative 访问 %SystemRoot%\System32。

答案2

为什么在 64 位 Windows 上 64 位 dll 转到 System32 而 32 位 dll 转到 SysWoW64?

据我所知,在 64 位 Windows 系统上,System32 是为 64 位二进制文​​件保留的。因此,将 32 位 javaw.exe 二进制文件放在那里是错误的。

需要调用 Java 程序的程序实际上不应该将 javaw.exe 的位置硬编码到其中,而应该依赖于 PATH。

如何从 C# 执行 Java 程序?

相关内容