8

我正在尝试使用 IzPack 安装我的程序,并且我想将桌面快捷方式添加到安装程序中,这是来自 IzPack 网站的文档/说明。

http://izpack.org/documentation/desktop-shortcuts.html

但是,以下 XML 文件在编译时只会在安装程序中创建一个空白屏幕,当您尝试单击“下一步”跳过它时会挂起。这是在 Windows 7 - 64 位上运行时的屏幕外观。

在此处输入图像描述

这是我的 install.xml 和 shortcutSpec.xml 文件。

安装.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 classname="TargetPanel"/>
    <panel classname="ShortcutPanel"/>
    <panel classname="PacksPanel"/>
    <panel classname="InstallPanel"/>
    <panel classname="SimpleFinishPanel"/>
</panels>

<native type="izpack" name="ShellLink.dll"/>

<!-- The packs section. -->

<packs>
    <pack name="Program and Dependencies" required="yes">
        <description>Program, libraries and other dependencies</description>
        <file src="ExecutableJar.jar" targetdir="$INSTALL_PATH"/> 
        <file src="lib" targetdir="$INSTALL_PATH"/> 
        <file src="save" targetdir="$INSTALL_PATH"/> 
        <file src="HelpContents.chm" targetdir="$INSTALL_PATH"/>
        <file src="icon.png" targetdir="$INSTALL_PATH"/>   
        <file src="application.ini" targetdir="$INSTALL_PATH"/>     
        <file src="readme.txt" targetdir="$INSTALL_PATH"/>
        <file src="licence.txt" targetdir="$INSTALL_PATH"/>
        <file src="autorun-win.bat" targetdir="$INSTALL_PATH"/>
    </pack>
    <pack name="Samples" required="no">
        <description>Word Document Samples</description>
        <file src="samples" targetdir="$INSTALL_PATH"/>
    </pack>
    <pack name="Templates" required="no">
        <description>Word Document Templates</description>
        <file src="templates" targetdir="$INSTALL_PATH"/>
    </pack>
</packs>

和shortcutSpec.xml

<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

<shortcuts>
    <skipIfNotSupported/>
    <programGroup defaultName="AppGroupName" location="applications"/>
    <shortcut
        name="Application - Startup"
        target="$INSTALL_PATH\autorun-win.bat"
        workingDirectory="$INSTALL_PATH"
        programGroup="no"
        desktop="yes"
        applications="yes"
        startMenu="yes"
        startup="yes"/>
</shortcuts>

补充笔记:

  1. 我得到零编译错误。

  2. 如果没有添加快捷方式,安装程序可以正常工作。

  3. 我的程序是一个可执行的 jar,为了自动运行它,我在 Windows 中创建了一个名为 autorun-win.bat 的批处理脚本,这是桌面快捷方式应该链接到的。

编辑:

我已经尝试过这种导入以及 32 位风味。两者都对上述结果没有任何影响。任何更多的贡献将不胜感激。

<native type="izpack" name="ShellLink_x64.dll" />
4

4 回答 4

8

快捷方式的创建依赖于仅支持 32 位系统的原生支持库 ShellLink.dll。对于 64 位 Windows,您还必须添加以下条目以支持这两种风格:

  <native type="izpack" name="ShellLink_x64.dll" />
于 2012-07-20T13:46:08.673 回答
2

我从来没有使用过这个工具,所以这可能是一个完全的红字。在您的快捷方式文件中,您没有 CreateForPack 语句。这可能与故障有关吗?

于 2012-07-20T08:47:15.857 回答
2

虽然这个问题很老,但我今天在 IzPack 4.3.5 上遇到了这个问题。这里提供了两个观察结果。

首先, http://docs.codehaus.org/pages/viewpage.action?pageId= 230398023上的文档显示了放置在“natives”标签内的本地语句。对于 v4 版本,这似乎是不正确的。

其次,ShellLink_x64 DLL 必须对编译器可见。我必须在编译器执行行中添加“-h ${IZPACK_HOME}”才能实现这一点。遗憾的是,如果找不到此文件,似乎没有任何警告,但安装程序随后会按说明挂起。

解决这些问题为我解决了这个问题。

于 2015-04-20T10:53:18.260 回答
0

我遇到过这样一种情况,即带有快捷方式创建的有效 izPack 配置突然停止放置图标。原来linux下用convert commad创建的图标文件有问题,我恢复到旧图标

于 2012-11-06T20:17:12.190 回答