Izpack 失败,并显示“没有文件扩展名 ”.js“ 的脚本引擎,

2022-08-31 16:46:15

在使用Izpack 5 Beta 11的测试计算机上,如果我开始安装.jar使用64bit winrun4j exe运行捆绑的64位java,然后Izpack抱怨

There is no script engine for file extension ".js",然后抱怨 ,然后尝试安装到默认安装目录失败,因为您没有管理员权限,安装到 C:/Program Files 以外的另一个文件夹正常完成The installer could not launch with administrator permissions

然而,如果我使用运行32位java的32bit winrun4j安装程序运行它,它可以正常工作。

如果我只是运行安装.jar直接没有exe包装器

即java -jar install.jar

它使用32位JVM和64位JVM给出这些错误。

所以我目前唯一的工作解决方案是使用32位exe包装器安装,但我还需要64位包装器。

所以问题是

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

随访

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

简单地将.js与Ultraedit解除关联意味着现在当我运行时

  • java -jar install.jar在32bit上使用32bit java install.jar
  • java -jar install.jar在64bit上使用64bit java install.jar
  • 32 位 winrun4j wrapper.

它现在工作:)

但是64bit 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

所以后续的问题是:

  1. 为什么简单地将文件类型与编辑器相关联会破坏这种javascript的东西,我可以想象这个或类似的问题可能会影响很多用户。
  2. 为什么从我的 64 位包装器运行会导致安装程序.js运行中止退出

答案 1

这里问了四个问题:

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

我将尝试回答它们:

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

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

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

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

如果这有帮助,请告诉我。


答案 2

更改.js文件的默认操作会导致问题,原因与更改.exe文件的默认操作会导致问题的原因相同。程序期望另一个程序的默认操作是运行它。编辑应始终是右键单击操作,而不是默认设置。


推荐