Sei sulla pagina 1di 25

Especificao do Projeto

<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

Sub-Requisito/Funo: Microsiga Protheus

Tarefa/Chamado: 02.0T.01

Pas: All

Data Especificao: 24/11/2014

Estratgia de Desenvolvimento e Liberao


Produto

Instalador Protheus 12

Release que est sendo desenvolvido

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.

Definio da Regra de Negcio


O IzPack um programa desenvolvido em Java, capaz de gerar scripts de instalao. Na instalao da
verso, estaremos utilizando o IzPack verso 4.3.5 (http://izpack.org/). Ser utilizado tambm o aplicativo Launch4j
(http://launch4j.sourceforge.net/), tambm desenvolvido em Java, para a gerao do executvel de setup (Windows),
baseado no installer.jar gerado pelo IzPack.
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

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:

TOTVS12 Arquivos de dados e configurao da Verso do Protheus 12;


Launchers Aonde sero gerados os arquivos finais de instalao;
launch4j Aplicativo de criao de executveis baseado em arquivos .jar;
IzPack Aplicativo responsvel pela criao dos pacotes de instalao;
build_TOTVS12.sh Script de criao do instalador para Linux;
build_TOTVS12.bat Script de criao do instalador para Windows.

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

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)

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

endmsgs.xml - Arquivo contendo as strings da mensagem de finalizao de processamento (varivel


ENDMSG), indicando a mensagem que o usurio pode prosseguir com a instalao no ProcessPanel
(a ser descrito mais adiante), de acordo com a linguagem de instalao escolhida;
installpath.txt - Arquivo contendo o caminho padro de instalao (Ex. C:\TOTVS\Protheus12) para
instalaes Windows;
installpath_lnx.txt - Arquivo contendo o caminho padro de instalao (Ex. /totvs/protheus12) para
instalaes Linux;

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

Arquivos custom.<lang>.xml Estes arquivos definem ttulos de janelas e mensagens;


Arquivos packs.<lang>.xml Estes arquivos definem o Nome e a descrio dos Pacotes que foram
definidos no arquivo refpack/data.xml (sempre utilizando o id definido na origem);

Especificao do Projeto

Ttulo do documento

Arquivos userinput.<lang>.xml Estes arquivos definem as descries e mensagens dos campos


de dos formulrios de parmetrizao que so solicitados durante a instalao.

Verso 13.0

Especificao do Projeto

images Possui todas as imagens utilizadas no instalador (splash, logos, cabealhos);

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

specs Este diretrio contm os arquivos de configurao de diversos recursos da instalao.


o
o
o

installinput.xml Define as configuraes de campos, ids, validaes e disposio dos formulrios de


solicitao de valores;
process.xml Define a regra de execuo dos scripts de processamento ps cpia de arquivos.
Neste arquivo so definidos os scripts que sero executados de acordo com os pacotes selecionados
na janela de Seleo de Programas;
winshortcut.xml e winshortcut_<lang>.xml Neste arquivo so definidos os atalhos a serem criados
em ambientes Windows. necessrio existir um arquivo padro (winshortcut.xml) e os arquivos que
definem os cones para cada linguagem. (o arquivo padro servir caso no seja possvel utilizar os
arquivos com a linguagem e exigido pelo IzPack, portanto, sempre siga este padro);

Formulrio de solicitao de valores (installinput.xml)

Formulrio processamento (process.xml)

Formulrio de criao de atalhos (winshortcut.xml)

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

dados Possui os arquivos apo, apo-ptg, arquivos de help e dicionrios de dados;


- apo Possui os arquivos de repositrio, para todos os bancos e lnguas disponveis;
- apo-ptg Possui os arquivos repositrio, para todos os bancos e lnguas disponveis com
localizao Portugal;
- help Possui os arquivos de help e devem ser compactados separadamente com o formato zip;
- systemload Possui os arquivos de dicionrio de dados (sxs) e devem ser compactados
separadamente com o formato zip;
- web-files Arquivos web (arquivos .mzp) compactados;
help on-line Arquivos de help online compactados;
protheus 12 Possui os arquivos binrios e alguns arquivos que vo na raiz da pasta Protheus12
na instalao final;
- apo Diretrio vazio;
- bin Arquivos binrios, devem seguir o mesmo padro de estrutura e compactao (atentar-se aos
nomes de pastas e arquivos compactados, se alterados, deve ser alterado tambm no arquivo
refpack/data.xml para evitar o erro descrito na figura anterior);
- handheld.zip Diretrio handheld;
- include.zip Diretrio e arquivos include;
- my projects.zip Diretrio e arquivos my projects;
protheus_data Arquivos e diretrios da pasta Protheus_data;
- neogrid Instalador do TSA neogrid;
- comex.zip, crystal.zip, esb.zip, ireport.zip, samples.zip, sara.zip, sigapls.zip, system.zip,
xmlnfe.zip Diretrios e arquivos que sero descompactados ba pasta Protheus_data;
protheus_search Contm os arquivos de instalao do Protheus_search (inclusive RPOs);
tools Possui os instaladores dos Tools (dbaccess, ctree, toii e etc, deve ser mantido rigorosamente
os nomes dos arquivos, inclusive compactados, ou se alterados, devem ser compatibilizados os
arquivos refpack/data.xml e os scripts de descompresso e instalao na pasta files, com os nomes
run_XXX.bat ou run_XXX.sh conforme o sistema operacional);
sigaadv_pss.zip Arquivo sigaadv.pss a ser copiado para a pasta system (manter nomenclatura sem
espaos e compactao zip);

13

Especificao do Projeto

Ttulo do documento

o
o

sigaloja.zip Dlls de instalao do sigaloja, que sero descompactadas na pasta do smartclient


conforme seleo do pacote;
srvwizard.zip Diretrio do srvwizard;

Pontos importantes do install.xml e refpack/data.xml


14

Verso 13.0

Especificao do Projeto

Estes dois arquivos so cruciais para a instalao.

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>

<xi:include href="config/endmsgs.xml" xmlns:xi="http://www.w3.org/2001/XInclude" />


</dynamicvariables>
Definio das variveis que sero utilizadas durante a instalao
<conditions>

</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

<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>
Definio do Layout da janela de instalao.
<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.
<native type="3rdparty" name="COIOSHelper.dll" stage="both" />
<native type="3rdparty" name="COIOSHelper_x64.dll" stage="both" />
<native type="izpack" name="ShellLink.dll" />
<native type="izpack" name="ShellLink_x64.dll" />
Carrega as dlls de criao de Links para Windows e outras utilidades.

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

<!-- Pacotes de dados -->


<packs>
<refpack file="refpack/data.xml"/>
</packs>
Neste trecho definido o arquivo o qual possui os dados sobre os pacotes disponveis a instalao e suas
respectivas configuraes.
</installation>

20

Verso 13.0

Especificao do Projeto

Tag de encerramento do arquivo.

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

Chamada de criao do instalador


Existe um script para chamada da criao do instalador que deve ser executado para cada gerao:
Para gerao do Instalador Stand Alone (DVD)
# /opt/Install/build_TOTVS12.sh
ou
# cd /opt/Install
/opt/Install# ./build_TOTVS12.sh
Para gerao do instalador Web
# /opt/Install/build_TOTVS12.sh -w
ou
# cd /opt/Install
/opt/Install# ./build_TOTVS12.sh -w
Importante: Antes de construir o instalador web, comentar a tag <packaging> no installer.xml.
Os arquivos sero gerados na pasta:
DVD
/opt/Install/Launchers/TOTVS12
WEB
/opt/Install/Launchers/TOTVS12/web

Verso 13.0

25

Potrebbero piacerti anche