0

我使用 izpack maven 插件 org.codehaus.izpack 版本 1.0-alpha-5 创建了一个项目。

问题是我无法为我的应用程序(Windows)创建快捷方式,快捷方式面板显示为空......并且没有错误。

所有文件都存在,我试图以网络上的标准示例为基础..没有成功..

install.xml 文件:

<resources>
    <res id="shortcutSpec.xml" src="./shortcutSpec.xml" />
</resources>
<native type="izpack" name="ShellLink.dll"/> 
<variables>
    <variable name="DesktopShortcutCheckboxEnabled" value="true" />
</variables>
<panels>
    <panel classname="HelloPanel"/>
    <panel classname="InfoPanel"/>
    <panel classname="LicencePanel"/>
    <panel classname="TargetPanel"/>
    <panel classname="PacksPanel"/>
    <panel classname="InstallPanel"/>
    <panel classname="ShortcutPanel"/>
</panels>

在shortcutSpec.xml 文件中:

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

<shortcuts>
<!--skipIfNotSupported/-->
<programGroup defaultName="company\product" location="startMenu"/> 

<shortcut name="product" target="C:\Program Files\product\product.exe" description="Creating Gui Icon on the Desktop" 
workingDirectory="$INSTALL_PATH" iconFile="C:\Program Files\product\icon.ico" initialState="normal" programGroup="yes" desktop="yes" applications="yes" 
startMenu="yes" startup="no">

<createForPack name="product.exe"/>
</shortcut>

<shortcut
name="Documentation" target="C:\Program Files\product\doc\asdfsadfasf.docx" 
workingDirectory="$INSTALL_PATH" iconFile="C:\Program Files\product\icon.ico"
description="Launch documentation" initialState="normal" programGroup="yes" desktop="yes" 
applications="yes" startMenu="yes" startup="no">

<createForPack name="product.exe"/>
</shortcut>

</shortcuts>

请帮帮我.....

4

2 回答 2

1

快捷方式元素的值createForPack必须是包下指定的包名称之一。如果安装时未选择此包,则会自动省略相应的快捷方式。例如,在install.xml文件中:

...

<packs>
   <pack  name="Core" required="yes" preselected="yes">`
...

并在shortcutSpec.xml文件中:

...

<shortcut programGroup="yes"
        desktop="yes"
        applications="no"
        startMenu="yes"
        startup="no"
        iconFile="$INSTALL_PATH\Icon.ico"
        iconIndex="0"`
        ...
        initialState="noShow">

    <createForPack name="Core"/>
</shortcut>

这里Core两个文件中的名称相同。

于 2012-04-03T08:29:50.753 回答
0

您是否在 64 位 Windows 上运行?如果是这样,您将需要 64 位版本的 dll:

<native type="izpack" name="ShellLink_x64.dll">
    <os family="windows" />
</native>

这只是一个猜测,但我知道我自己在为 32 位和 64 位平台开发时遇到了这个问题。

于 2012-02-24T18:46:06.680 回答