有没有办法防止Java安装例程(例如jdk-7u1-windows-i586.exe)将java.exe复制到C:\Windows\system32
目录?
我必须在客户的笔记本电脑上安装我的软件,并且我不想破坏机器上已经安装的其他Java应用程序。换句话说,我想安装一个只由我的软件使用的私有JRE。
到目前为止,我将已经安装的JRE从我的计算机复制到客户机的机器上。
发布于 2012-11-08 22:55:23
我昨天发现在Windows上的Java版本有一个问题,正如你所知道的,使java保持最新是至关重要的,特别是位于Windows system32或syswow64文件夹中的Internet explorer使用的JRE。
您可以在C:驱动器中搜索java,并查看它找到的各种可执行文件,以确定这种情况是否适用于特定的系统。
经过一些研究,我发现当Java更新程序运行时,它只更新安装在JAVA主目录中的文件,通常位于程序文件上,但它不更新位于windows系统文件夹中的文件。因此,由于系统文件夹位于默认系统路径中,因此Internet Explorer的使用将继续使用旧版本的JAVA文件( java.exe、javaw.exe、javaws.exe )
解决方案是使用控制面板和卸载程序功能来卸载java,然后下载最新版本并再次安装。
干杯!费尔南多
发布于 2015-04-24 19:57:59
我最近升级到Java8,发现了这个问题,因为system32下的java版本仍然是Java7。它甚至会阻止你运行版本,因为它会抱怨注册表项
U:\>java -version
Error: Registry key 'Software\JavaSoft\Java Runtime Environment'\CurrentVersion'
has value '1.8', but '1.7' is required.
Error: could not find java.dll
Error: Could not find Java SE Runtime Environment.
执行以下操作使我找到了罪魁祸首:
U:\>where java
C:\Windows\System32\java.exe
C:\Program Files\Java\jdk1.8.0_45\bin\java.exe
我通过删除system32下的java“解决”了这个问题!我不确定这会有什么后果。
发布于 2011-11-22 16:30:27
您可以只提供要在软件上使用的JRE,并且:
在运行application
JAVA_HOME
变量设置为正确的java.exe文件(例如,例如,这可以在*.bat文件中完成。
在运行你创建的*.bat文件后,所有其他的java版本都将被忽略,并且在该pc上安装或将要安装哪个版本都无关紧要。
https://stackoverflow.com/questions/8223511
复制相似问题