<No devem ser apagados os itens deste template. Informar No se aplica aos tpicos que no forem
contemplados
no projeto>
(Obrigatrio)
Especificao de Requisitos
Projeto/Verso: M_FRM003
Requisito/Mdulo: 002284
Tarefa/Chamado: 02.0T.01
Pas: All
Instalador Protheus 12
12.1
Possui Rplica?
( )Sim ( x )No
Qual a verso?
Objetivo
Migrar o instalador da Verso 12 do Microsiga Protheus do Install Shield para o IzPack.
Verso 13.0
Especificao do Projeto
Ttulo do documento
Regras de Integridade
A estrutura de diretrio do instalador deve ser mantida a seguinte:
Verso 13.0
Especificao do Projeto
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:
Arquivos:
Verso 13.0
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;
Especificao do Projeto
Ttulo do documento
(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)
Verso 13.0
Especificao do Projeto
config esta pasta possui alguns arquivos de configurao que so utilizados para definir algumas variveis
internas do IzPack;
o
o
o
Verso 13.0
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;
Especificao do Projeto
Ttulo do documento
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).
o
o
Verso 13.0
Especificao do Projeto
Ttulo do documento
Verso 13.0
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
Verso 13.0
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.
Especificao do Projeto
Ttulo do documento
10
Verso 13.0
Especificao do Projeto
Verso 13.0
11
Especificao do Projeto
Ttulo do documento
12
Verso 13.0
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.
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
o
Verso 13.0
13
Especificao do Projeto
Ttulo do documento
o
o
Verso 13.0
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.
Abaixo sero descritas algumas partes importantes sobre este arquivo:
<?xml version="1.0" encoding="iso-8859-1" standalone="yes"?>
<installation version="1.0">
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>
</conditions>
Verso 13.0
15
Especificao do Projeto
Ttulo do documento
Definio das condies que ocorrem durante a instalao. (pacotes selecionados, tipos de instalao, tipo de
base de dados, idioma dos dicionrios e etc.
16
Verso 13.0
Especificao do Projeto
Verso 13.0
17
Especificao do Projeto
Ttulo do documento
<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" />
18
Verso 13.0
Especificao do Projeto
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).
<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>
-->
Verso 13.0
19
Especificao do Projeto
Ttulo do documento
20
Verso 13.0
Especificao do Projeto
Verso 13.0
21
Especificao do Projeto
Ttulo do documento
2.2.
Arquivo data.xml
Este arquivo possui a definio para cada pacote disponvel para a instalao.
Ser explicado alguns dados importantes sobre a definio dos pacotes:
No seguinte exemplo
22
Verso 13.0
Especificao do Projeto
<installation version="1.0">
<packs>
<pack name="appserver" parent="" preselected="no" required="no" condition="izpack.linuxinstall">
<description></description>
</pack>
<pack name="appserverlinux" parent="appserver" preselected="yes" required="no" size="93696000"
condition="izpack.linuxinstall">
<description></description>
<fileset
dir="packs/protheus
12/bin/appserver_linux"
targetdir="$INSTALL_PATH/bin/appserver_linux" />
<file src="files/appserver_lnx.sh" targetdir="$INSTALL_PATH" />
<file src="files/appserver_lnx.ini" targetdir="$INSTALL_PATH/bin/appserver_linux" />
<file src="files/appserver.sh" targetdir="$INSTALL_PATH/bin/appserver_linux" />
<parsable targetfile="$INSTALL_PATH/bin/appserver_linux/appserver.ini" />
<parsable targetfile="$INSTALL_PATH/bin/appserver_linux/appserver.sh" />
<executable
targetfile="$INSTALL_PATH/bin/appserver_linux/appserver.sh"
stage="never"
keep="true"/>
<parsable targetfile="$INSTALL_PATH/appserver_lnx.sh" />
<executable targetfile="$INSTALL_PATH/appserver_lnx.sh" stage="never" keep="true"/>
</pack>
</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:
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.
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>;
o
Verso 13.0
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);
23
Especificao do Projeto
Ttulo do documento
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)
24
Verso 13.0
Especificao do Projeto
Verso 13.0
25