在Windows操作系统上启动jarsk文件,安装程序未安装jdk / jre

时间:2012-06-12 07:02:03

标签: java jarsigner

我已经将jre文件嵌入到我的应用程序设置中,我可以使用java.exe来执行一些特定于java的任务。

我想使用jarsigner.exe但是当我启动jarsigner时,它会检查一些注册表项,并且找不到(因为jre没有被jre设置),并且会出错。

如何指定jarsigner的java.exe路径

这样它应该使用我指向的java.exe而不是检查注册表。

错误日志:

  

打开注册表项'Software \ JavaSoft \ Java Runtime Environment

时出错      

错误:找不到java.dll

     

错误:找不到Java SE Runtime Environment

我想知道是否有jarsigner的额外参数可以定义JAVA_HOME目录,或者定义java.exe存在位置的任何其他参数。

3 个答案:

答案 0 :(得分:2)

没有特定的命令行参数,但是在调用jarsigner时,您仍然可以将java.home属性设置为指向与您的应用程序捆绑在一起的所需JRE。

例如,您可以使用以下任一方式调用jarsigner

  • ProcessBuilder并设置java.home属性
  • Runtime.exec()的变体,允许设置envp环境变量
  • 或批处理/ shell脚本,并在其中设置JAVA_HOME属性。

答案 1 :(得分:1)

使jarsigner与JRE而不是JDK一起工作。需要从JDK

中将这些文件捆绑在JRE中

从\ bin \ jarsigner.exe到\ bin \ jarsigner.exe 从\ bin \ msvcr100.dll到\ bin \ msvcr100.dll 从\ bin \ jli.dll到\ bin \ jli.dll 从\ lib \ tool.jar到\ lib \ tool.jar 我用这个测试过,发现它适合我。

答案 2 :(得分:0)

Java Error opening registry key

被盗

删除,如果有的话。

在32位机器上

Windows \ System32文件夹中的java.exe,javaw.exe和javaws.exe

在64位机器上

从Windows \ SysWOW64中删除。