Verificar se tem um programa instalado atraves do mep installer

ola pessoal,

estou criando o instalador do meu programa java, jah tah praticamente pronto, soh q queria saber se com o mep installer tem como eu verificar se determinado programa estah instalado, no meu caso ver se o banco de dados(firebird) estah instalado na maquina, e se nao tiver intalar ele.

jah agradeço quem puder me ajudar

abraçu

Sim, mas vc teria que procurar por algum arquivo referente a instalação do FireBird.

Por exemplo, se for no windows, vc pode colocar no mep installer o caminho onde se encontra o .exe do firebird, se ele encontrar, não irá instalar, caso não encontre, instala.

A instrução é essa:

Source: "CTL3DV2.DLL"; DestDir: "{sys}"; Flags: onlyifdoesntexist uninsneveruninstall

opaa
romarcio

com esse codigo eu consigo verificar se tem determinado arquivo na maquina, mas como q eu faço pra, s no caso d nao ter o arquivo, ele executar o instalador do firebird?

Vou te dar uma dica.

Faz um pequeno programa em java e gera um .jar dele. Esse programa teria como função, testar se um ou mais diretorios ou arquivos já existem instalados no PC ou não. Caso não, então vc executa o instalador do Firebird.

Por exemplo:

public class Testing {

    private static final String DIR_AND_FILE = "C:\Arquivos de programas\WampServer2.0c.exe";

    public static void main(String[] args) {
        new Testing().test();
    }

    private void test() {
        File file = new File("C:\wamp\wampmanager.exe");
        if (!file.exists()) {
            String dllWindows = "rundll32 SHELL32.DLL,ShellExec_RunDLL";
            try {
                Runtime.getRuntime().exec(dllWindows + " " + DIR_AND_FILE);
            } catch (IOException ex) {
                ex.printStackTrace();
            }
        }
    }
}

Fiz um, testando se existe na minha maquina o WampServer2 instalado. Caso não exista, ele vai executar o instalador.

Então os passos seriam esses:
1° Gera um arquivo . jar desse pequeno programa que sugeri. A vantagem, é que vc pode testar varios diretórios(com SO em ingles ou portugues por exemplo).
2° No map installer:
Na tag [Files] eu coloquei para ser copiado para o PC o arquivo de instalação do WampServer2 e o jar que gerei

    Source: "C:\WampServer2.0c.exe"; DestDir: "{app}"; Flags: ignoreversion
    Source: "C:\Testing.jar"; DestDir: "{app}"; Flags: ignoreversion  

3° Na tag [Run] eu mando executar o arquivo .jar gerado

    Filename: {app}\Testing.jar; WorkingDir: {app}; Flags: shellexec

Assim, depois de copiados os arquivos para o PC, o RUN vai executar o .jar. O .jar vai rodar e testar nos diretórios que vc setou, se existe o arquivo que está procurando, se não existir ele executa o instalador.

Espero que ajude.