Bom dia a todos.
Ontem a noite estive estudando o IzPack e achei muito simples e interessante, porem, nao estou conseguindo faze-lo criar os icones corretamente no Debian Lenny (stable)
Meus arquivos estao assim:
Arquivo: install.xml
<?xml version="1.0" encoding="iso-8859-1" standalone="yes" ?>
<installation version="1.0">
<info>
<appname>UltraClient</appname>
<appversion>0.0.1</appversion>
<uninstaller name="remove.task" write="yes"/>
<authors>
<author email="kemper@omegacodigos.com.br" name="Kemper Carlos"/>
</authors>
<url>http://www.omegacodigos.com.br/</url>
<javaversion>1.6</javaversion>
<requiresjdk>no</requiresjdk>
<!--><pack200/>-->
<run-privileged condition="izpack.windowsinstall.vista|izpack.windowsinstall.7"/>
<summarylogfilepath>$INSTALL_PATH/installinfo/Summary.htm</summarylogfilepath>
</info>
<variables>
<variable name="DesktopShortcutCheckboxEnabled" value="true"/>
<variable name="ApplicationShortcutPath" value="ApplicationShortcuts"/>
</variables>
<guiprefs width="600" height="400" resizable="no">
<modifier key="useHeadingPanel" value="yes"/>
<modifier key="useHeadingForSummary" value="yes"/>
<modifier key="headingImageOnLeft" value="yes"/>
<modifier key="headingLineCount" value="2"/>
<modifier key="headingFontSize" value="1.5"/>
<modifier key="headingBackgroundColor" value="0x00ffffff"/>
<modifier key="headingPanelCounter" value="text"/>
<modifier key="headingPanelCounterPos" value="inHeading"/>
</guiprefs>
<locale>
<langpack iso3="por"/>
</locale>
<resources>
<res src="ultraClient/extras/Unix_shortcutSpec.xml" id="Unix_shortcutSpec.xml "/>
<res src="ultraClient/extras/shortcutSpec.xml" id="shortcutSpec.xml"/>
</resources>
<panels>
<panel classname="HelloPanel"/>
<panel classname="TargetPanel"/>
<panel classname="InstallPanel"/>
<panel classname="ShortcutPanel"/>
<panel classname="SimpleFinishPanel"/>
</panels>
<listeners>
<listener installer="SummaryLoggerInstallerListener">
<os family="windows"/>
</listener>
</listeners>
<packs>
<pack name="Ultra Client" required="yes" installGroups="Ultra Client" >
<description>Utilitario para conexao com o sistema Ultra.</description>
<file src="ultraClient/dist/ultraClient.jar" targetdir="$INSTALL_PATH"/>
<file src="ultraClient/dist/lib/ultraBase.jar" targetdir="$INSTALL_PATH/lib"/>
<file src="ultraClient/extras/ultraClientIcon.ico" targetdir="$INSTALL_PATH/icons"/>
</pack>
</packs>
<!-- The native libraries to add. This is required for creating shortcuts on Windows -->
<native type="izpack" name="ShellLink.dll"/>
</installation>
Arquivo: shortcutSpec.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<shortcuts>
<skipIfNotSupported/>
<programGroup defaultName="Omega Codigos"
location="applications"/>
<shortcut
name="Ultra Client"
target="$INSTALL_PATH\ultraClient.jar"
description="Inicia o Ultra Client"
workingDirectory="$INSTALL_PATH"
iconFile="$INSTALL_PATH\icons\ultraClientIcon.ico"
initialState="normal"
programGroup="yes"
desktop="yes"
applications="no"
startMenu="no"
startup="no">
<createForPack name="Ultra Client"/>
</shortcut>
</shortcuts>
Arquivo: Unix_shortcutSpec.xml
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<shortcuts>
<programGroup defaultName="Omega Codigos" location="applications"/>
<shortcut
name="Ultra Client"
type="Application"
encoding="UTF-8"
programGroup="yes"
desktop="yes"
applications="no"
startMenu="no"
startup="no"
target="java -jar "$INSTALL_PATH/ultraClient.jar""
commandLine=""
initialState="noShow"
iconFile="$INSTALL_PATH/icons/ultraClientIcon.png"
iconIndex="0"
workingDirectory="$INSTALL_PATH"
KdeSubstUID="true"
KdeUsername="root"
createForAll="false"
Categories="Application;Internet"
description="Executar o Ultra Client">
<createForPack name="Ultra Client"/>
</shortcut>
</shortcuts>
Testei no Windows XP e o icone foi criado normalmente, e esta funcionando.
No linux que esta ocorrendo uma coisa muito estranha, ele esta criando as entradas .desktop normalmente no meu home (pois estou instalando como usuario normal) em
~/.local/share/applications
Mas esta muito estranho o arquivo gerado. Vejam:
[Desktop Entry]
Categories=
Comment=Inicia o Ultra Client
Comment[pt]=Inicia o Ultra Client
Encoding=
Exec=/home/kemper/UltraClient/ultraClient.jar
GenericName=
GenericName[pt]=
Icon=/home/kemper/UltraClient/icons/ultraClientIcon.ico
MimeType=
Name=Ultra Client
Name[pt]=Ultra Client
Path=/home/kemper/UltraClient
ServiceTypes=
SwallowExec=
SwallowTitle=
Terminal=
TerminalOptions=
Type=
URL=
X-KDE-SubstituteUID=false
X-KDE-Username=root
# created by com.izforge.izpack.util.os.Unix_Shortcut $Revision: 2452 $
# $Id: Unix_Shortcut.java 2452 2008-12-16 10:08:10Z eppelman $
Vejam que os campos Encoding e Type estao em branco, se eu abro o arquivo no vi e arrumo Encoding=UTF-8 e Type=Application o icone ja aparece imediatamente no menu. Mesma coisa occorre com o icone colocado no desktop, fica faltando estes dois campos.
Alem disso, vejam que ele colocou: Icon=/home/kemper/UltraClient/icons/ultraClientIcon.ico e no meu arquivo Unix_ShortcutSpec.xml eu usei um arquivo .png.
Sera que isso é um bug por ser debian 5 e ele nao esta conseguindo detectar corretamente a versao do sistema operacional?
Se alguem que esteja utilizando um linux que nao seja o debian 5 quiser testar, por favor baixe o instalador e veja se ele cria corretamente os icones:
http://hudson.omegacodigos.com.br/ultraClientInstall.jar
Obrigado a todos.