Desenvolvimento - Mobile

Instalando arquivos PRC/PDB via linha de comando

Um dos problemas mais comuns entre os desenvolvedores de aplicações para Palm OS é a automatização da instalação de aplicações no PDA.

por Caio Proiete



Instalando arquivos PRC/PDB via linha de comando

Introdução

Um dos problemas mais comuns entre os desenvolvedores de aplicações para Palm OS é a automatização da instalação de aplicações no PDA. O PalmDesktop fornece formas de instalar aplicações e bancos de dados no PDA, mas todas elas requerem intervenção do usuário, e assim, impossibilitam a criação de scripts de instalação automática.

Conceito

A forma mais comum para instalação de arquivos em PDAs Palm OS, é utilizar a ferramenta QuickInstall, que faz parte do PalmDesktop. Com o QuickInstall, podemos selecionar as aplicações que serão instaladas no próximo sincronismo utilizando o recurso de drag-and-drop, arrastando arquivos para a janela do QuickInstall, ou ainda executá-lo via linha de comando, como por exemplo:

"C:\Arquivos de Programas\PalmOne\QuickInstall.exe" C:\Empresa\minhaAplicacao.prc

Exemplo utilizando o QuickInstall

Outra forma de atingir o mesmo resultado, é utilizar a ferramenta InstApp, também incluída na instalação do PalmDesktop, e que também pode ser executada via linha de comando, por exemplo:

"C:\Arquivos de Programas\PalmOne\InstApp.exe" C:\Empresa\minhaAplicacao.prc

Exemplo utilizando o InstApp

Como podemos observar, as duas ferramentas, QuickInstall e InstApp, exigem interação do usuário para confirmar a instalação, para selecionar o destino da aplicação (memória interna ou cartão de expansão) e também para selecionar o usuário de HotSync. Para tentar resolver essa deficiência, desenvolvi um utilitário simples chamado Send2Palm, que permite instalar aplicações e bancos de dados em PDAs Palm OS, de forma automática e parametrizada.

Utilitário Send2Palm

Exemplo utilizando o Send2Palm

O Send2Palm utiliza a API padrão de instalação do HotSync, disponibilizada no arquivo Instaide.dll, e envia arquivos para a "HotSync Queue", que corresponde à lista de aplicações que serão instaladas no próximo HotSync, para determinados usuários.

Este utilitário permite instalar aplicações e bancos de dados para usuários específicos ou para todos os usuários, permite definir se a aplicação será instalada na memória interna do PDA ou no cartão de expansão e ainda permite efetuar a instalação em modo silencioso (quiet mode), se desejar suprimir os detalhes da instalação. O Send2Palm permite também visualizar a lista de usuários de HotSync existentes no computador.

Sintaxe para utilização do Send2Palm:

Send2Palm NomeArquivo NomeUsuario [/AllUsers] [/InstallToCard] [/Quiet]

Os parâmetros /AllUsers, /InstallToCard e /Quiet são opcionais e significam respectivamente:

  • /AllUsers - Instala o arquivo para todos os usuários existentes;
  • /InstallToCard - Instala o arquivo no cartão de expansão (o padrão é instalar na memória interna do PDA);
  • /Quiet - Efetua a instalação do arquivo suprimindo os detalhes da instalação e mensagens de erro.

É importante lembrar que uma das regras de passagem de parâmetros em linha de comando é colocar entre aspas os parâmetros que contenham espaço. Assim, se o nome do arquivo e/ou do usuário possuirem espaço, devem estar entre aspas, como no exemplo:

Send2Palm "Meu Banco de Dados.pdb" "Carlos Alberto"

Utilizando Send2Palm em Arquivos de Lote

Assim como a maioria das ferramentas de linha de comando, o Send2Palm retorna 0 (zero) se conseguir efetuar a instalação com sucesso e 1 (um) em caso de erro. Dessa forma, podemos capturar este código de retorno para controlar o fluxo do script de instalação. Em arquivos de lote (batch files) este erro é capturado através da variável ErrorLevel, como no exemplo:

Instalar.bat

@Echo Off
Send2Palm C:\Empresa\Aplicacao.prc "Carolina Machado" /quiet
If ErrorLevel 1 GoTo Erro

Send2Palm C:\Empresa\Dados.pdb "Carolina Machado" /quiet
If ErrorLevel 1 GoTo Erro

Echo OK. A aplicação será instalada no próximo sincronismo.
Exit

:Erro
Echo Ocorreu um erro durante a instalação.

Licença de Uso

O Send2Palm é um software gratuito e pode ser distribuído livremente, não sendo permitido a comercialização, direta ou indireta desta ferramenta.

A PDAExpert e o autor não oferecem qualquer garantia ou assistência à ferramenta, não se responsabilizando igualmente por possíveis danos causados pela utilização da mesma.

Histórico

  • 08/06/2007 - Primeira versão deste artigo.
Caio Proiete

Caio Proiete - Diretor Técnico da PDAExpert Tecnologia, empresa especializada no desenvolvimento de softwares para PDAs e telefones celulares nas plataformas Palm OS, Windows Mobile, Symbian OS e J2ME.
http://www.pdaexpert.net