izpack:在Windows 7上创建快捷方式

时间:2015-10-29 16:33:14

标签: xml windows izpack

我使用izpack为我的应用程序创建安装程序。到目前为止,我能够创建安装程序,并在我的Linux机器上一切都很好。
问题是在Windows机器上我测试了它(Win7 6bits),安装程序没有显示快捷方式面板。
我确实阅读了文档故障排除部分,并注意我在安装程序中有本机  快捷方式xml文件也是如此,它们位于资源路径中的安装程序中。我还读到,很可能是一个区分大小写的拼写错误或类似的简单但无法解决的问题。这是我的快捷方式xml:

<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>

这是我的install.xml文件:

<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<installation version="1.0">
  <info>
    <appname>Test</appname>
    <appversion>1</appversion>
  </info>
  <guiprefs width="600" height="480" resizable="no">
  </guiprefs>
  <locale>
    <langpack iso3="eng"/>
  </locale>
  <panels>
    <panel classname="ShortcutPanel"/>
  </panels>
  <packs>
    <pack name="Test" required="yes">
      <description>Description</description>
    </pack>
  </packs>
  <resources>
    <res src="shortcutSpec.xml" id="shortcutSpec.xml"/>
  </resources>
  <natives>
    <native type="izpack" name="ShellLink_x64.dll"/>
</natives>
</installation>

但我无法在安装程序中显示快捷方式面板......!

2 个答案:

答案 0 :(得分:2)

我将此与此处的工作安装程序文件进行了比较,相反,该文件包含以下<natives>设置:

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

使用32位Java Runtime时,将使用32位ShellLink.dll,这在您的设置中缺失。

答案 1 :(得分:1)

不幸的是ShortcutPanel存在一些已知问题。经过广泛的试错法测试后,我发现必须满足以下要求才能正确显示:

  • shorctuts XML文件中的<lateShortcutInstall/>标记只有在 {{1>之前显示 ShortcutPanel 时才会出现}}。如果您的InstallPanel在安装步骤之后,您的shurtcut面板将不会显示!

  • 您的ShortcutPanel代码必须包含在<native>代码中

  • <natives>标记添加到<skipIfNotSupported />元素的开头,

  • 仔细检查您的快捷方式XML文件,因为它可能包含错误的属性名称和/或缺少引号。许多用户已经报告了这样的问题,并且可能有很多人从中复制粘贴的网站不正确。可以找到快捷方式属性的规范here

  • 检查本机DLL是否已打包到安装程序JAR中。对于ShellLink DLL,请解压缩JAR并查看内部:<shortcuts>和NOT com/izforge/izpack/bin/native 1

  • 最后,这有点微不足道,但请检查您的快捷方式XML文件是否在您认为的位置,并且具有正确的名称。

<强>脚注:

  1. 我使用的是IzPack版本 5.0.6