在使用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位包装器.
所以问题是
跟进
我发现这个线程有关javascript错误(但不是Izpack),并发现.js文件与Utlradedit相关联,Utlradedit是我用来编辑大多数文件类型的编辑器.
简单地将.js与Ultraedit无关联意味着现在我跑步时
它现在有效:)
但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)
所以跟进问题是:
我使用izpack为我的应用程序创建一个安装程序.到目前为止,我能够创建安装程序,并在我的Linux机器上一切都很好.问题是在Windows机器上我测试了它(Win7和WinXP),安装程序没有显示快捷方式面板.我确实阅读了文档疑难解答部分,并注意我在安装程序中有本机.快捷方式xml文件也是如此,它们位于资源路径中的安装程序中.我还读到,很可能是一个区分大小写的拼写错误或类似的简单但无法解决的问题.这是我的快捷方式xml:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
This is the shortcut specification for windows. Its considered default so on
Systems that are not shortcut compatible the information is taken from here.
-->
<shortcuts>
<programGroup defaultName="SteamNet" location="applications"/>
<shortcut
name = "One Click Wonder"
target = "$INSTALL_PATH\oneclickwonder.bat"
commandLine = ""
workingDirectory= "$INSTALL_PATH"
description="Minimal Desktop Timer"
iconFile="$INSTALL_PATH\images\windows_icon.ico"
iconIndex="0"
initialState="noShow"
programGroup="yes"
desktop="yes"
applications="yes"
startMenu="yes"
startup="yes"/>
</shortcuts>
Run Code Online (Sandbox Code Playgroud) 扩展免费安装向导软件我正在寻找跨平台安装程序.我们支持27个平台变体之类的东西,而另一个问题中提到的大多数安装程序只是windows.我们正在寻找可移植的东西,可能是基于java的,但我想任何脚本语言都可以工作.建议?
编辑:按照每个操作系统下的平台数量顺序:linux,solaris,windows,hpux,aix,zlinux,bsd,OSX,OS/360(我不关心这个).因此,如果没有VMS或大型机,您可以获得尽可能多的变化.很多linux平台都是类似的,只有libc版本才有.但是我们在运行OS的每个处理器上支持32位和64位.作为一个例子,我们支持4个solaris平台:
我用izpack制作安装程序.它在.jar文件中.我想在.exe文件中创建它以便分发它.我怎么能以简单的方式做到这一点?
如何从IzPack的Java类调用方法?静态方法没问题,我需要能够传递参数.
谢谢!
背景资料:
我正在尝试编写一个能够检测以前安装的应用程序版本的IzPack安装程序.在发现它并不真正支持此功能(Windows除外)之后,我认为唯一的方法是编写Java类并从IzPack调用它.
Tim Williscroft 之前曾建议过这种方法,它读取类的静态字段的值:
<condition type="java" id="jbossEnv">
<java>
<class>au.com.codarra.ela.installer.JBossChecker</class
<field>hasJBossEnv</field>
</java>
<returnvalue type="boolean">true</returnvalue>
</condition>
Run Code Online (Sandbox Code Playgroud)
但是,是否可以<java>从<condition>标签以外的地方打电话?我希望能够从<variable>标签中调用它.
此外,是否可以从Java类调用方法而不是读取字段的值?我希望能够将参数传递给我的班级.
我正在尝试为IzPack安装程序创建自定义面板.这意味着我必须扩展IzPanel.然而,似乎如果我这样做,扩展面板需要在该com.izforge.izpack.panels包.
然后我找到了这篇文章,其中规定:
我对第1和第4点提出异议.他们暗示我必须为我创建的每个自定义IzPanel 创建一个额外的JAR文件.此外,我必须通过将这些JAR添加到其子目录之一来修改IzPack安装.
这篇文章是否已经过时(2008年)并且可以被安全地忽略,或者这仍然是正确的吗?
如果不是,我怎么能避免这种情况,而只是在类路径上使用扩展的IzPanel?
谢谢!
我正在尝试使用IzPack来安装我的程序,我想向安装程序添加桌面快捷方式,这里是来自IzPack网站的文档/说明.
http://izpack.org/documentation/desktop-shortcuts.html
但是,下面的XML文件在编译时,只会在安装程序中创建一个空白屏幕,当您尝试单击"下一步"以通过它时,该屏幕会挂起.这是在Windows 7 - 64位上运行时屏幕的样子.

这是我的install.xml和shortcutSpec.xml文件.
INSTALL.XML
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<installation version="1.0">
<!-- The info section. -->
<info>
<appname>Application Name</appname>
<appversion>1.0</appversion>
<url>http://www.example.com/</url>
<javaversion>1.6</javaversion>
<run-privileged condition="izpack.macinstall|izpack.windowsinstall.vista|izpack.windowsinstall.7"/>
</info>
<!-- The gui preferences indication. -->
<guiprefs width="640" height="480" resizable="yes"/>
<!-- The locale section. -->
<locale>
<langpack iso3="eng"/>
</locale>
<!-- The resources section. -->
<resources>
<res id="LicencePanel.licence" src="licence.txt"/>
<res id="InfoPanel.info" src="readme.txt"/>
<res id="shortcutSpec.xml" src="shortcutSpec.xml"/>
</resources>
<native type="izpack" name="ShellLink.dll"/>
<!-- The panels section. -->
<panels>
<panel classname="HelloPanel"/>
<panel classname="InfoPanel"/>
<panel classname="LicencePanel"/>
<panel …Run Code Online (Sandbox Code Playgroud) 我有一个使用maven设置的工作IzPack安装程序项目,并将我的安装脚本install.xml添加到[ installation] [ listeners]:
<listener classname="(company-name).listener.InstallerListener" stage="install"/>
遗憾的是,该行似乎被忽略,调试器不会在InstallListener类中的设置断点处停止.我已阅读的文档为InstallListenerS,但因为我有与Maven集成构建过程中它是没有用的; 这是项目对象模型pom.xml的相关部分:
<properties>
<izpack-standalone.version>4.3.1</izpack-standalone.version>
</properties>
<dependencies>
<!-- izpack -->
<dependency>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-standalone-compiler</artifactId>
<version>${izpack-standalone.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
<plugins>
<!-- IzPack compiler -->
<plugin>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-maven-plugin</artifactId>
<version>${org.codehaus.izpack.izpack-maven-plugin.version}</version>
<dependencies>
<dependency>
<groupId>org.codehaus.izpack</groupId>
<artifactId>izpack-standalone-compiler</artifactId>
<version>${izpack-standalone.version}</version>
</dependency>
</dependencies>
<configuration>
<izpackBasedir>${staging.dir}</izpackBasedir>
<customPanelDirectory>${staging.dir}</customPanelDirectory>
</configuration>
<executions>
<execution>
<id>standard-installer</id>
<phase>package</phase>
<goals>
<goal>izpack</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
Run Code Online (Sandbox Code Playgroud)
我在这里错过了什么?
注意:已编译的安装程序确实包含指定的InstallerListener类文件,因此它在运行时可用.
我正在尝试将使用 Izpack 创建的 Java 应用程序的 Windows 安装转换为使用 Java 14 中提供的 JPackage。安装程序构建并安装,但是当我尝试运行它创建的 exe 时它失败,但没有提供有关失败原因的信息。
是否有日志或某种方法可以找出它实际上无法启动的原因?