如何让IzPack将我的应用程序添加到“开始”菜单?

时间:2014-06-27 17:40:16

标签: windows-7 izpack

我现在已经阅读了整本手册两次并设置了我的XML构建文件,以便它可以执行所有操作,除了将程序插入Windows的“开始”菜单(我的测试机器恰好是Windows 7,但我想这个问题也会发生在Vista)机器上。我可以选择什么选择?

shortcutSpec.xml

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

<shortcuts>
<skipIfNotSupported/>
    <programGroup defaultName="myapp" location="applications"/>
    <shortcut
        name="myapp"
        programGroup="yes"
        desktop="no"
        applications="yes"
        startMenu="yes"
        startup="no"
        target="$INSTALL_PATH\myapp.jar"
        commandLine=""
        description="myapp"
        iconFile="%SystemRoot%\system32\SHELL32.dll"
        iconIndex="3">
        <createForPack name="Base"/>
    </shortcut>
    <shortcut
        name="myapp Documentation"
        programGroup="yes"
        desktop="no"
        applications="yes"
        startMenu="yes"
        startup="no"
        target="$INSTALL_PATH\myappMan.pdf"
        commandLine=""
        iconFile="%SystemRoot%\system32\SHELL32.dll"
        iconIndex="30"
        description="myapp docs">
        <createForPack name="Manual"/>
    </shortcut>                
    <shortcut
        name="myapp Uninstaller"
        programGroup="yes"
        desktop="no"
        applications="yes"
        startMenu="yes"
        startup="no"
        target="$INSTALL_PATH\Uninstaller\uninstaller.jar"
        commandLine=""
        iconFile="%SystemRoot%\system32\SHELL32.dll"
        iconIndex="31"
        description="Uninstall myapp">
        <createForPack name="Base"/>
    </shortcut>
</shortcuts>

1 个答案:

答案 0 :(得分:4)

来自IzPack doc:HERE

<programGroup>是shortcutSpec.xml

中的标记

<programGroup>标记允许您指定菜单的名称,或更精确地指定将快捷方式分组到的文件夹。程序组的确切位置和外观取决于将安装应用程序的特定目标系统,但您可以部分控制它。请注意,<programGroup>只能在规范中出现一次。如果出现多个实例,则仅使用第一个实例 此标记需要两个属性:defaultNamelocationdefaultName指定组菜单在目标系统上应具有的名称。您应该知道ShortcutPanel会将此名称作为选项提供给用户。然后,用户可以编辑此名称或选择已存在的组。因此,无法保证目标系统上程序组的实际名称与您的规范相同。 location指定组菜单应显示的位置。有两种选择:applicationsstartMenu。如果使用applications,则菜单将放置在通常用于应用程序快捷方式的菜单中。 Unix快捷方式推荐使用应用程序 如果您使用startMenu,则组菜单将放置在目标系统上可用的最顶层菜单级别。根据目标系统的不同,可能无法完全遵守此规范。在这种情况下,ShortcutPanel会将选项映射到最接近您选择的位置。 Unix快捷方式不需要支持startMenu,因为应用程序菜单已经处于最高级别。这意味着这对thess平台没有任何影响。

检查accepted answer here以获取shortcutSpec.xml

的工作示例