Escolar Documentos
Profissional Documentos
Cultura Documentos
<No devem ser apagados os itens deste template. Informar No se aplica aos tpicos que no forem contemplados
no projeto>
(Obrigatrio)
Especificao de Requisitos
Objetivo
O IzPack utiliza arquivos de configuraes em xml para criar os scripts de instalao e definir tambm os
arquivos que faro parte do pacote de distribuio. Estes arquivos esto definidos na pasta do gerador do instalador e
devem estar dispostas em uma estrutura que ser descrita mais a frente.
Basicamente, a gerao do instalador ser copiar os arquivos na pasta correspondente aos pacotes de
distribuio, seguindo um formato pr estabelecido, e executar o script de gerao, que, ser o responsvel pela
elaborao do instalador.
Existem quatro modos de instalador que podem ser gerados. Instaladores Stand Alone Linux e Windows, e
instaladores web Linux e Windows.
Os instaladores Stand Alone possuem a caracterstica de gerar os arquivos em pacotes de instalao com
tamanho mximo de 2GB.
Verso 13.0 1
Especificao do Projeto
Regras de Integridade
Aonde:
Quando alterada esta localizao, necessrio alterar os paths absolutos dentro dos scripts ( .sh ou .bat ) de
disparo do criador da instalao, dependendo do sistema operacional.
A seguir, ser explicada a estrutura interna da pasta TOTVS12, descrevendo os pontos importantes de cada arquivo e
sub-pasta:
2 Verso 13.0
Especificao do Projeto
Arquivos:
installer.xml Este arquivo o arquivo principal do gerador de instalao. Este arquivo onde sero definidas
variveis, painis da instalao, arquivos de dados, linguagens, imagens e etc.
TOTVS12_(wraped/nwraped).xml Arquivos que possuem as configuraes para gerao dos executveis
pelo aplicativo launch4j;
TOTVS12_web_(wraped/nwraped).xml Arquivos que possuem as configuraes para gerao dos
executveis pelo aplicativo launch4j verso web;
(arquivos wraped geram os executveis com o installer.jar j embutido no .exe, nwraped apenas geram um executvel
que faz a chamada do installer.jar, sendo necessrio ser distribudo tanto o .exe quanto o .rar juntos)
config esta pasta possui alguns arquivos de configurao que so utilizados para definir algumas variveis
internas do IzPack;
Verso 13.0 3
Especificao do Projeto
eula Esta pasta possui o Contrato de Licensa, separados pela lingua (e devem estar no formato iso-8859-1
de encoding para preservar os assentos e caracteres especiais caso existam), e so escolhidos pelo instalador
de acordo com a linguagem escolhida no momento do incio da instalao;
4 Verso 13.0
Especificao do Projeto
files Nesta pasta sero colocados todos os arquivos que sero adicionados, de modo individual ao pacote de
instalao. Estes arquivos compreendem os scripts de instalao,arquivos de ini que sero parseados
individualmente para substituio de variveis e, sero adicionados ao arquivo refpack/data.xml (que ser
explicado mais a frente) pela tag <file> e/ou <executable> e ser utilizado de acordo com o sistema
operacional da instalao.
i18n Esta pasta contm os arquivos de definio de strings de linguagens de ttulos de janelas, campos de
parmetros e janelas de mensagens (arquivos que possuem caracteres especiais e acentos devem ser salvos
no formato iso-8859-1 de encoding). Estes arquivos possuem tags xml que ligam o atributo txt de um objeto
atravs do id definido para o objeto, substituindo o contedo de acordo com a linguagem escolhida no incio da
instalao. Estes arquivos so inclusos como resources pelo arquivo principal de configurao (install.xml).
Verso 13.0 5
Especificao do Projeto
refpack Esta pasta contm os arquivos que definem os pacotes de instalao contendo toda a hierarquia
entre os pacotes, definio de ids, tamanho, regras de seleo;
o data.xml este o arquivo que define o que ser possvel instalar. Este arquivo o responsvel em
definir o que ser copiado para a mquina de instalao quando cada pacote for instalado, quais
pacotes podero ser instalados, quando necessrio define o tamanho em Bytes de cada pacote e
define tambm quando e como os scripts de instalao sero copiados.
6 Verso 13.0
Especificao do Projeto
Verso 13.0 7
Especificao do Projeto
packs Nesta pasta esto localizados os arquivos de instalao. Eles seguem quase a mesma estrutura da
planilha de arquivos de TFS com algumas particularidades. Para contemplar a glanularidade e diminuir o
tamanho efetivo da instalao, foi necessrio compactar alguns arquivos que na estrutura de pastas no esto
compactados. A estrutura, nomes e tipos de arquivos devem ser rigorosamente mantidos pois estes arquivos
so configurados no refpack/data.xml pelos seus endereos fsicos, se por acaso algum arquivo no for
encontrado no momento da criao do pacote, uma mensagem de erro ser mostrada.
8 Verso 13.0
Especificao do Projeto
Verso 13.0 9
Especificao do Projeto
2.1. Install.xml
Este arquivo contm a definio do instalador com as definies de linguagens, formulrios de instalao,
formulrios de parametrizao, arquivos de pacotes e etc.
Cabealho, no alterar.
<info>
<appname>TOTVS Microsiga Protheus</appname>
<appversion>12</appversion>
<authors>
<author email="http://www.totvs.com" name="TOTVS S/A" />
</authors>
<uninstaller name="uninstaller.jar" write="yes" />
<requiresjdk>no</requiresjdk>
<writeinstallationinformation>yes</writeinstallationinformation>
<run-privileged condition="izpack.windowsinstall.vista|izpack.windowsinstall.7" uninstaller="yes"/>
<webdir>http://172.16.32.200:8082/setup_files</webdir>
</info>
Informaes de instalao, um ponto importante desta tag <info> a tag <webdir> que faz referncia ao
endereo http do instalador Web, que conter os arquivos para download do instalador web.
Importante: Aps a liberao do repositrio web final, a tag webdir dever ser alterada para o endereo
definitivo e o instalador web dever ser gerado novamente.
<variables>
</variables>
<dynamicvariables>
<xi:include href="config/endmsgs.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />
</dynamicvariables>
<conditions>
</conditions>
10 Verso 13.0
Especificao do Projeto
Definio das condies que ocorrem durante a instalao. (pacotes selecionados, tipos de instalao, tipo de
base de dados, idioma dos dicionrios e etc.
<guiprefs width="1024" height="768" resizable="no">
<modifier key="useButtonIcons" value="no"/>
<modifier key="useFlags" value="no" />
<modifier key="langDisplayType" value="default" />
<modifier key="useHeadingPanel" value="yes" />
<modifier key="headingImageOnLeft" value="yes" />
<modifier key="headingFontSize" value="1.5" />
<modifier key="headingBackgroundColor" value="-1" />
<modifier key="headingForegroundColor" value="-16711423" />
<modifier key="headingLineCount" value="2" />
<modifier key="layoutFullLineStretch" value="FULL_LINE_STRETCH"/>
<modifier key="layoutFullColumnStretch" value="FULL_COLUMN_STRETCH"/>
<modifier key="headingPanelCounter" value="text"/>
<modifier key="headingPanelCounterPos" value="inHeading"/>
</guiprefs>
<listeners>
<listener installer="RegistryInstallerListener" uninstaller="RegistryUninstallerListener" />
</listeners>
Bloco que define o atualizador de registro do Windows para atualizao dos programas instalados. (no alterar).
<locale>
<langpack iso3="por" />
<langpack iso3="eng" />
<langpack iso3="spa" />
</locale>
Linguagens disponveis.
Verso 13.0 11
Especificao do Projeto
<resources>
<res id="TargetPanel.dir" src="config/installpath.txt"/>
<res id="JFrameIcon.png" src="images/icon.png"/>
<res id="installer.langsel.img" src="images/splash.png"/>
<res id="Heading.image" src="images/logo.png" />
<res id="packsLang.xml_por" src="i18n/packs.por.xml" />
<res id="packsLang.xml_eng" src="i18n/packs.eng.xml" />
<res id="packsLang.xml_spa" src="i18n/packs.spa.xml" />
<res id="customicons.xml" src="specs/customicons.xml"/>
<res id="userInputSpec.xml" src="specs/installInput.xml" parsexml="yes"/>
<res id="shortcutSpec.xml" src="specs/winShortcut.xml" parsexml="yes"/>
<res id="shortcutSpec_eng.xml" src="specs/winShortcut_eng.xml" parsexml="yes" />
<res id="shortcutSpec_por.xml" src="specs/winShortcut_por.xml" parsexml="yes" />
<res id="shortcutSpec_spa.xml" src="specs/winShortcut_spa.xml" parsexml="yes"/>
<res id="CustomLangpack.xml_por" src="i18n/custom.por.xml" parsexml="yes"/>
<res id="CustomLangpack.xlml_eng" src="i18n/custom.eng.xml" parsexml="yes"/>
<res id="CustomLangpack.xml_spa" src="i18n/custom.spa.xml" parsexml="yes"/>
<res id="LicencePanel.licence_por" src="eula/license.por.txt" />
<res id="LicencePanel.licence_eng" src="eula/license.eng.txt" />
<res id="LicencePanel.licence_spa" src="eula/license.spa.txt" />
<res id="LicencePanel.licence_ptg" src="eula/license.ptg.txt" />
<res id="userInputLang.xml_por" src="i18n/userinput.por.xml"/>
<res id="userInputLang.xml_eng" src="i18n/userinput.eng.xml"/>
<res id="userInputLang.xml_spa" src="i18n/userinput.spa.xml"/>
<res id="userInputSpec.xml" src="specs/installInput.xml" parsexml="yes"/>
<res id="ProcessPanel.Spec.xml" src="specs/process.xml" parsexml="yes"/>
</resources>
Carrega os arquivos de configurao de idioma para os paineis, configurao de painel de parmetros, painel de
processos, contrato de licena, configurao dos atalhos, nomes
<panels>
<panel classname="HelloPanel" />
<panel classname="LicencePanel"/>
<panel classname="TargetPanel"/>
<panel classname="UserInputPanel" id="langconfig"/>
<panel classname="TreePacksPanel"/>
<panel classname="UserInputPanel" id="appserver" condition="appsrvselected"/>
<panel classname="UserInputPanel" id="psearch" condition="psearchselected"/>
<panel classname="UserInputPanel" id="toolsarch"
condition="ctreeselected|dbacessselected|toiiselected"/>
<panel classname="InstallPanel"/>
<panel classname="ShortcutPanel" condition="izpack.windowsinstall"/>
<panel classname="ProcessPanel"/>
<panel classname="SimpleFinishPanel"/>
</panels>
Definio dos paineis (ordem em que aparecem, id para definio de strings de linguagem e configurao de
layout, condio a qual eles so mostrados).
12 Verso 13.0
Especificao do Projeto
<packaging>
<packager class="com.izforge.izpack.compiler.MultiVolumePackager">
<options volumesize="2048000000"/>
</packager>
<unpacker class="com.izforge.izpack.installer.MultiVolumeUnpacker" />
</packaging>
Esta tag muito importante para a definio de gerao do instalador stand alone. Esta tag responsvel pela
gerao do instalador com pacotes divididos em 2GB cada. (o tamanho de cada arquivo pode ser alterado na tag
<options> e definido em Bytes).
Importante: Para gerar o instalador WEB mandatrio remover esta tag ou comentar adicionando a tag <!
antes da tag <packaging> e adicionando a tag --> logo aps a tag </packaging>, ficando como no exemplo
abaixo:
<!--
<packaging>
<packager class="com.izforge.izpack.compiler.MultiVolumePackager">
<options volumesize="2048000000"/>
</packager>
<unpacker class="com.izforge.izpack.installer.MultiVolumeUnpacker" />
</packaging>
-->
Neste trecho definido o arquivo o qual possui os dados sobre os pacotes disponveis a instalao e suas
respectivas configuraes.
</installation>
Verso 13.0 13
Especificao do Projeto
Este arquivo possui a definio para cada pacote disponvel para a instalao.
No seguinte exemplo
<installation version="1.0">
<packs>
</packs>
A definio geral de pacotes deve iniciar com a tag <packs>, e cada pacote subsequente deve ser iniciado pela
tag <pack>.
Tag <pack> - Existem alguns atributos importantes a serem definidos nesta tag, so eles:
o name Obrigatrio, define o id do pacote, que ser utilizado em textos de tradues, condies de
selees e etc.
o parent Define o pacote superior na hierarquia (no obrigatrio);
o preselected Seleciona o pacote automaticamente na criao do painel, mas somente se a condio
no condition for verdadeira;
o required Indica se a instalao do pacote obrigatria, impedindo o usurio de remove-lo da lista,
se selecionado (preselected = yes e condition verdadeira );
o size Fora o tamanho do pacote em bytes. (no caso de um pacote compactado que ser
descompactado durante a instalao, como os sxs e help de campos. Esta funcionalidade foi
desenvolvida internamente e no existe documentao sobre este atributo no IzPack para verso
utilizada, 4.3.5);
o condition Indica um id de condio existente no installer.xml, esta condio ser testada no
momento da renderizao do painel de pacotes indicando se abre ou no a seleo deste pacote e,
se no caso ele for um pacote preselected=yes, j seleciona tambm.
14 Verso 13.0
Especificao do Projeto
Tag <description> - indica apenas a descrio do pacote, que durante o processo de criao da janela ser
substituda pela string referente ao idioma, baseado no arquivo i18n/packs.<lang>.xml e o name do <pack>;
Tag <fileset> - Define um diretrio de arquivos a copiar, contendo o diretrio de origem (atributo dir indicando
a pasta de origem) e contendo o local de destino (atributo targetdir);
Tag <file> - Define a cpia de um nico arquivo contendo origem (src) e destino (targetdir);
Tag <parsable> - Define quando um arquivo ser submetido ao parser para substituio de variveis; (as
variveis para substituio podem ser indicadas de duas maneiras $NOME_DA_VARIAVEL ou
${NOME_DA_VARIAVEL})
Tag <executable> - Seta a flag de executvel em um arquivo (til para instalaes Linux) e define o momento
em que o arquivo ser executado. ( atributo stage, postinstall | uninstall | never, depois da copia dos arquivos,
durante a desinstalai e nunca executado, somente seta o flag de execuo respectivamente)
Existe um script para chamada da criao do instalador que deve ser executado para cada gerao:
# /opt/Install/build_TOTVS12.sh
ou
# cd /opt/Install
/opt/Install# ./build_TOTVS12.sh
# /opt/Install/build_TOTVS12.sh -w
ou
# cd /opt/Install
/opt/Install# ./build_TOTVS12.sh -w
DVD
/opt/Install/Launchers/TOTVS12
WEB
/opt/Install/Launchers/TOTVS12/web
Verso 13.0 15