Problemas com IzPack

E aí pessoal, não sei se aqui é bem o lugar certo pra postar isso, mas eu já tenho pesquisado pela internet por uns 3 dias e ainda não consegui resolver esse problema, então vim ver se tem alguém que saiba um pouco desse IzPack que possa me ajudar…

Bem o problema é o seguinte: além de instalar a minha aplicação, quero que o IzPack rode um processPanel pra executar um arquivo .bat que instale o MySQL silenciosamente.
Eu criei um arquivo .bat, e se eu rodo ele manualmente (abrindo o cmd.exe e chamando ele) ele executa certinho, vai lá e chama o instalador do mysql…

Agora o problema é que quando o .bat é chamado lá pelo izpack, quando ele vai chamar o instalador com um comando do tipo (“msiexec -i mysql-essential-5.0.24a-win32.msi”) ele dá um erro (1619 This installation package could not be opened. Verify that the package exists and that you can access it, or contact the application vendor to verify that this is a valid Windows Installer package.)…

Já pesquisei por esse erro, mas aparentemente, é um erro bem genérico, que pode ser por vários motivos aleatórios do sistema operacional…

Ele só da esse erro quando o .bat é chamado lá pelo IzPack, se eu executar o .bat normalmente lá pelo DOS ele não da esse erro…

Eu imagino que seja talvez alguma coisa com permissões do windows talvez… que tipo, quando ele executa pelo IzPack ele pode ta chamando um programa com um nível de permissão menor do Windows… sei lá…

Alguem já passou por algo parecido? Idéias??

Obrigado!!

Aqui tem o meu processPanelSpec.xml, mas isso aí nem tem problema eu acho, porque ele chama o .bat direitinho…

<?xml version="1.0" encoding="UTF-8"?>

Cara, pelo pequeno trecho de código que você coloca abaixo vi que seu bat não usa caminho absoluto para o instalador do mysql e pela mensagem que você postou me parece que o erro é apenas porque ele não encontra o instalador.

.bat não é um arquivo executável. Quem é o executável que interpreta o .bat é o cmd.
Tente executar com:

E aí pessoal, valeu pela ajuda…

Marlon, acho ele ta encontrando o arquivo sim… até porque ele começa a executar o .bat (dá uns echos iniciais que eu coloquei)…

E Vini… tentei isso mas deu a mesma coisa… =/

O que eu fiquei tentando aqui foi tentar mandar executar esse .bat em modo de Administrador, mas não consegui…
Dando uma pesquisada, eu vi algumas pessoas falando que tem esse mesmo erro 1619, e que quando executam o programa com o “Executar como administrador…” dá certo…

Seguinte, o caminho a qual me referi é o caminho do instalador mysql que o bat usa e não o caminho do bat, tenta dar uma verificada.

Em meu tcc(curso técnico) fiz um instalador para meu sistema, um para módulo cliente(somente o software final) e um para o servidor(software para servidor + mysql).

No servidor o mysql era instalado silenciosamente durante o instalador do programa e após isso era importado um .sql para configurar as tabelas e dados iniciais do Banco.

Código do BAT:

@echo off
@echo Instalando MySQL Server 5.5

MySQL_5.5_x86.msi /passive /quiet
cd %ProgramFiles%\MySQL\MySQL Server 5.5\bin
mysqld.exe --install MySQL_Dobba

net start MySQL_Dobba
mysql.exe -uroot < %ProgramFiles%\Dobba\data\Script.sql

OBS: Dobba era o nome do meu sistema.

Código do Instalador(MEP Installer):

; Script generated by the Mep Installer Script Wizard.
; SEE THE DOCUMENTATION FOR DETAILS ON CREATING MEP INSTALLER PROJECT FILES!

[Setup]
; NOTE: The value of AppId uniquely identifies this application.
; Do not use the same AppId value in installers for other applications.
; (To generate a new GUID, click Tools | Generate GUID inside the IDE.)
AppId={{BB122FAD-A476-4667-BA86-4C59DCF5862A}
AppName=Dobba
AppVerName=Dobba - Gerenciador de O.S
AppPublisher=Guilherme Dio
AppPublisherURL=mailto: ggdio@hotmail.com
AppSupportURL=mailto: ggdio@hotmail.com
AppUpdatesURL=mailto: ggdio@hotmail.com
DefaultDirName={pf}\Dobba
DisableDirPage=yes
DefaultGroupName=Dobba
LicenseFile=Readme.txt
InfoBeforeFile=Readme.txt
OutputDir=Instalador\
OutputBaseFilename=Dobba Servidor(x86)
SetupIconFile=icone.ico
Password=dobba
Encryption=yes
Compression=lzma
SolidCompression=yes

[Languages]
Name: "english"; MessagesFile: "compiler:Default.isl"
Name: "portuguesebr"; MessagesFile: "compiler:Languages\PortugueseBR.isl"

[Tasks]
Name: "desktopicon"; Description: "{cm:CreateDesktopIcon}";

[Files]
Source: "Dobba.jar"; DestDir: "{app}"; Flags: ignoreversion
Source: "Configurar Servidor.jar"; DestDir: "{app}"; Flags: ignoreversion
Source: "lib\*"; DestDir: "{app}\lib"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "src\*"; DestDir: "{app}\src"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "imgs\*"; DestDir: "{app}\imgs"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "data(x86)\*"; DestDir: "{app}\data"; Flags: ignoreversion recursesubdirs createallsubdirs
Source: "servidor.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "Readme.txt"; DestDir: "{app}"; Flags: ignoreversion
Source: "icone.ico"; DestDir: "{app}"; Flags: ignoreversion
; NOTE: Don't use "Flags: ignoreversion" on any shared system files

[Icons]
Name: "{group}\Dobba"; Filename: "{app}\Dobba.jar"
Name: "{group}\{cm:UninstallProgram,Dobba}"; Filename: "{uninstallexe}"

[Run]
Filename: "{app}\data\Instalar_MySQL.bat"; Flags: shellexec

Hum… vou dar uma testada nesse mep Installer… assim que eu testar posto o resultado… valeu

Guilherme,

Acompanhando o tópico, instalei o MEP Installer 3.0.0 Beta. Rodei o programa e gerei um script para testar uma futura instalação do sistema que estou desenvolvendo, mas surgiram algumas dúvidas, acredito que bem idêntica às suas:

  1. Minha aplicação depende de uma JVM instalada. No MEP existe alguma forma de verificar se existe alguma JVM instalda na máquina do cliente?

  2. Se for constatada a falta de uma JVM, é possível instalá-la a partir do MEP? E o problema de configurar as variáveis PATH e JAVA_HOME no ambiente do cliente? Existe alguma forma de resolver isso ou somente através de um “disparador.bat”, onde eu definiria essas variáveis em tempo de execução?

Atenciosamente,

Augusto Cesar