使用izpack maven插件创建一个快捷方式

时间:2012-01-31 20:46:40

标签: xml maven-plugin izpack

我使用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>

请帮帮我.....

2 个答案:

答案 0 :(得分: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都相同。

答案 1 :(得分:0)

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

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

这只是猜测,但我知道我自己开始研究32位和64位平台。