Izpack失败,"没有用于文件扩展名的脚本引擎".js",

Pau*_*lor 59 java windows installer izpack winrun4j

在使用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位包装器.

所以问题是

  1. 为什么32位exe工作和64位exe不工作
  2. 如果我尝试在没有包装器的情况下安装,为什么32bit或64bit都没有.

跟进

我发现这个线程有关javascript错误(但不是Izpack),并发现.js文件与Utlradedit相关联,Utlradedit是我用来编辑大多数文件类型的编辑器.

简单地将.js与Ultraedit无关联意味着现在我跑步时

  • java -jar install.jar在32bit install.jar上使用32bit java
  • java -jar install.jar在64bit install.jar上使用64位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
Run Code Online (Sandbox Code Playgroud)

他们跑

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
Run Code Online (Sandbox Code Playgroud)

所以跟进问题是:

  1. 为什么简单地将文件类型与编辑器关联会打破这个javascript的东西,我可以想象这个或类似的问题可能会影响很多用户.
  2. 为什么从我的64位包装器运行会导致installer.js运行Abort Exit

Liz*_*izz 3

这里问了四个问题:

  1. 为什么32位exe可以运行而64位exe不能运行
  2. 如果我尝试在没有包装器的情况下安装,为什么 32 位或 64 位都不会。
  3. 为什么简单地将文件类型与编辑器关联会破坏这个 javascript 的东西,我可以想象这个或类似的问题可能会影响很多用户。
  4. 为什么从我的 64 位包装器运行会导致 installer.js 运行 Abort Exit

我将尝试回答他们:

  1. 本应“无缝”处理 32 位和 64 位的程序有时会出现错误和错误;赛门铁克的 SEP 定义修复程序就是一个例子 - 它有时有效,但并非全部有效。您的评论证实了这些错误,您甚至发现了一个在 32/64 处理中不会出错的竞争程序:“尚未解决此问题,但已通过使用launch4j而不是winrun4j运行安装程序来解决它”。恭喜!:)

  2. 我怀疑必需的应用程序/包装器不在您系统的路径中。路径中的两个文件夹是 C:\WINDOWS 和 C:\WINDOWS\SYSTEM32。在命令提示符下,键入单词SET(不需要大写)。将出现按字母顺序排序的变量列表。在 PATH= 的路径中查找您希望启动应用程序的包装器的完整文件夹路径。它可能不在那里。如果您愿意,可以添加。

  3. 好问题,但有一个很好的理由:通过将要打开的文件类型与程序相关联,您可以告诉计算机始终使用文件编辑器打开该文件(在本例中以 .js 结尾)。它正在做你让它做的事情,而不是你想要做的事情。获得您想要的结果的一种流行方法是将文件与其之前的程序重新关联(您可能知道哪个是最好的),并编辑文件,将您最喜欢的 JS 编辑器添加到“打开方式..” .” Windows 资源管理器右键菜单中的选项。如果您愿意,我可以找到并链接到一两页关于如何执行此操作的页面。

  4. 我相信这与问题和答案#1 密切相关。

让我知道这是否有帮助。