【发布时间】:2012-09-24 12:03:38
【问题描述】:
在使用 Izpack 5 Beta 11 的测试机器上,如果我使用运行捆绑的 64 位 java 的 64 位 winrun4j exe 启动 install.jar,则 Izpack 会抱怨
There is no script engine for file extension ".js",
然后抱怨The installer could not launch with administrator permissions,
然后尝试安装到默认安装目录失败,因为您没有管理员权限,安装到 C:/Program Files 之外的另一个文件夹可以完成
而如果我使用运行 32 位 java 的 32 位 winrun4j 安装程序运行它,它工作正常。
如果我只是在没有 exe 包装器的情况下直接运行 install.jar
即 java -jar install.jar
使用 32 位 JVM 和 64 位 JVM 都会出现这些错误。
所以我目前唯一可行的解决方案是安装 32 位 exe 包装器,但我还需要 64 位包装器。
所以问题是
- 为什么 32 位 exe 可以工作而 64 位 exe 不能工作
- 如果我尝试在没有包装器的情况下安装,为什么 32 位或 64 位都没有。
跟进
我发现 this thread 关于 javascript 错误(但不是 Izpack),并发现 .js 文件与我用于编辑大多数文件类型的编辑器 Utlradedit 相关联。
简单地取消 .js 与 Ultraedit 的关联意味着现在当我运行时
- java -jar install.jar 在 32bit install.jar 上使用 32bit java
- java -jar install.jar 在 64bit install.jar 上使用 64bit java
- 32 位 winrun4j 包装器。
它现在可以工作了 :)
但是 64 位 winrun4j 现在无法开始安装并且根本不工作,如果我从命令行窗口运行我可以看到
跑步
wscript C:\Users\MESH\AppData\Local\Temp\Installer.js
c:\Code\WidgetReleases\1.0_Beta_2\widget-windows64\JVM64\bin\javaw.exe
-Dizpack.mode=privileged -jar
C:\Code\WidgetReleases\1.0_Beta_2\widget-windows64\install.jar
他们跑了
wscript C:\Users\MESH\AppData\Local\Temp\Installer.js
c:\Code\WidgetReleases\1.0_Beta_2\widget-windows64\JVM64\bin\javaw.exe
abort exit
-Dizpack.mode=privileged -jar
:\Code\WidgetReleases\1.0_Beta_2\widget-windows64\install.jar
所以后续问题是:
- 为什么简单地将文件类型与编辑器关联会破坏这个 javascript 内容,我可以想象这个或类似的问题可能会影响很多用户。
- 为什么从我的 64 位包装器运行会导致 installer.js 运行 Abort Exit
【问题讨论】:
-
尚未解决此问题,但已通过使用 launch4j 而不是 winrun4j 运行安装程序来解决此问题
-
我在下面的回答有帮助吗?您是否仍然遇到同样的问题?
标签: java windows installation izpack winrun4j