2016-05-26 12 views
0

Я работал над установщиком, используя Izpack 5.0 и Maven. Он создан и работает, и я могу создать ярлык для деинсталлятора в каталоге программы, но я не могу получить ярлык на рабочем столе.Izpack 5.0 & Maven - Создайте успешный, но ярлык, не появляющийся на рабочем столе

Вот мой shortcutSpec.xml (с реальным именем приложения заменены Название программы на частную жизнь):

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

<izpack:shortcuts version="5.0" 
       xmlns:izpack="http://izpack.org/schema/shortcuts" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://izpack.org/schema/shortcuts   
       http://izpack.org/schema/5.0/izpack-shortcuts-5.0.xsd"> 

<programGroup defaultName="Program Name" location="applications"/> 

<shortcut 
     name="Uninstaller" 
     programGroup="yes" 
     desktop="yes" 
     applications="no" 
     startMenu="no" 
     startup="no" 
     target="$INSTALL_PATH\Uninstaller\uninstaller.jar" 
     commandLine="" 
     iconFile="%SystemRoot%\system32\SHELL32.dll" 
     iconIndex="31" 
     description="This uninstalls the test"> 

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

</izpack:shortcuts> 

А вот мой install.xml:

<izpack:installation version="5.0" 
       xmlns:izpack="http://izpack.org/schema/installation" 
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
       xsi:schemaLocation="http://izpack.org/schema/installation  
       http://izpack.org/schema/5.0/izpack-installation-5.0.xsd"> 

<info> 
    <appname>Program Name </appname> 
    <appversion>1.0</appversion> 
    <javaversion>1.8</javaversion> 
</info> 

<locale> 
    <langpack iso3="eng"/> 
</locale> 

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

<res src="shortcutSpec.xml" id="shortcutSpec.xml"/> 

<guiprefs height="400" resizable="no" width="640"> 
    <modifier key="useButtonIcons" value="yes"/> 
    <modifier key="useLabelIcons" value="no"/> 
    <modifier key="labelGap" value="2"/> 
    <modifier key="layoutAnchor" value="NORTHWEST"/> 
    <modifier key="useHeadingPanel" value="no"/> 
    <modifier key="headingImageOnLeft" value="yes"/> 
    <modifier key="headingLineCount" value="1"/> 
    <modifier key="headingFontSize" value="1.5"/> 
    <modifier key="headingBackgroundColor" value="0x00ffffff"/> 
    <modifier key="headingPanelCounter" value="progressbar"/> 
    <modifier key="headingPanelCounterPos" value="inNavigationPanel"/> 
</guiprefs> 

<panels> 
    <panel classname="TargetPanel"/> 
    <panel classname="PacksPanel"/> 
    <panel classname="InstallPanel"/> 
    <panel classname="FinishPanel"/> 
</panels> 

<packs> 
    <pack name="Core" required="yes"> 
     <description>Core installation files</description> 
     <file src="..\ProgramName.jar" targetdir="$INSTALL_PATH" unpack="false" /> 
    </pack> 
</packs> 

</izpack:installation> 

Любая помощь в значительной степени оценили!

ответ

0
  1. Удалить IzPack: элемент ярлыки из shortcutSpec XML. Вот что я имею в моем shortcutSpec xml, и он отлично работает. Я попробовал обертывание ярлыки элемент внутри izpack: ярлыки и он никогда не работал.
  2. Wrap ярлык внутри ярлыки

    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?> 
     
        <shortcuts> 
     
        \t <shortcut 
     
           name="Falcon" 
     
           target="$INSTALL_PATH/falcon.exe" 
     
           description="Falcon" 
     
           programGroup="false" 
     
           desktop="true" 
     
           startMenu="true" 
     
           runAsAdministrator="true" 
     
          /> 
     
        </shortcuts>

0

Вам необходимо добавить следующие собственные библиотеки вашего install.xml:

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

Они отвечают за создание ярлыков во время установки.

Это также подробно объясняется в IzPack Shortcut Panel Documentation.

+0

Спасибо за ваш ответ, но это уже в моей install.xml – InsertDisplayName

+0

Извините, должно быть, это не учли. – Torsten