Gerar instalador de aplicação Delphi com Banco de Dados MySQL

30/09/2015

0

Prezados, boa tarde!

Por favor, poderiam me auxiliar nesta questão??

Desenvolvi uma pequena aplicação em Delphi 7 e Banco de Dados MySQL 5.6, funciona tudo perfeito na máquina onde foi desenvolvido;
Agora irei gerar o instalador da aplicação utilizando para isso o "Inno Setup Compiler" - até este ponto, está tudo tranquilo;

A DÚVIDA CRUEL é:

Como faço para agrupar no Instalador que será gerado pelo Inno, o "Executável de minha aplicação" + "Banco de Dados" e tudo funcionar quando for instalado em algum computador que não possui o MySQL instalado?

Quais arquivos tem de ser incorporados à instalação?
Aliás, em qual arquivo fica o meu BD e as tabelas e/ou funções/procedimentos armazenados (Triggers/Procedures) e os indices?

Desde já, muito obrigado a todos que puderem me auxiliar!

Abs,

HFP
Herivelton Pires

Herivelton Pires

Responder

Posts

30/09/2015

Herivelton Pires

Alguém poderia me ajudar?
Responder

30/09/2015

Rodrigo Oliveira

Eu tenho quase certeza de que é necessario ter o banco instalado.
Responder

30/09/2015

Herivelton Pires

Já vi alguns aplicativos da Receita Federal que usam o MySQL e o BD é instalado junto com o aplicativo... Mas não sei como isso é feito.

No caso da Receita Federal, o usuário insere todas as informações, o sistema grava no BD local (MySQL) e depois outro aplicativo faz a transmissão para o BD Central nos servidores da Receita.

Por isso que acredito ser possível...

A única diferença é que no caso dos aplicativos da Receita Federal, o App é desenvolvido em Java, mas de qualquer forma o BD utilizado é o MySQL.
Responder

02/10/2015

Cauê Nishijima

Sim é possível, vi alguns exemplos na internet que o cara faz um executavel no Delphi e coloca junto com o InnoSetup para se executado e instalar o MySql, mas testei e pra mim não funcionou corretamente.

O meu instalador eu faço tudo através do InnoSetup, todo o script de instalação, que basicamente consiste em:

- copiar os executavels e as dependencias do meu sistema,
- copiar a pasta MySql (já configurado numa porta diferente da padrão que é a 3306),
- verifica se o .Net Framework esta instalado, caso contrario instalar (necessário pro MySql funcionar),
- criar o servico do MySql e Starta-lo,
- liberar no firewall do windows a porta que seu MySql utiliza.

Cada um dos passos você consegue encontrar na internet.
Testei o meu instalador nos Windows XP, 7, 8, 8.1 e 10 e aparentemente funcionou tranquilamente em todos.

Att. Cauê Nishijima
Responder

02/10/2015

Rodrigo Oliveira

No programa, adiciona o instalador do SGBD junto com o banco criado?
Responder

02/10/2015

Cauê Nishijima

Você configura o MySql no seu PC normalmente, e de preferencia numa porta diferente da padrão, porque a porta que vc configurar vai ser a mesma que sera instalada, e como nunca se sabe se a porta já vai estar sendo utilizada.
Após instalar e configurar tudo certinho, vai ser criada a pasta do mysql la em arquivo de programas, ai no InnoSetup vc vai incluir essa pasta pra ser instalada.
E vc tem que escolher outro diretorio onde ele vai ser instalado, pois assim como no caso da porta, o diretorio já pode existir, e pode sobrepor alguma coisa, no meu caso eu coloquei a pasta MySql no mesmo diretorio do sistema : <DIRETORIO ESCOLHIDO NA HORA DA INSTALAÇÃO>\NomeDoPrograma\MySql
Então no script de instalação na sessão pós-instação vc coloca os comandos para configurar o serviço do mysql na porta certa, a exceção no firewall, e outras verificações que vc quiser

Att.Cauê Nishijima
Responder

02/10/2015

Rodrigo Oliveira

Obrigado, conhece algum tutorial?
Responder

05/10/2015

Herivelton Pires

Olá Cauê, tudo bem?!

Você já deu uma luz no fim do túnel... rs

Por favor:
+ Seria possível, você nos informar a porta que geralmente vc configura para o MySQL, já que sugeriu ser diferente da porta padrão?
+ Poderia também, informar como deve ser o comando para configurar o serviço do MySQL na porta certa e também para a exceção do firewall? (Você cria um .BAT pra isso?)

Muito obrigado!

Att.
Herivelton
Responder

05/10/2015

Cauê Nishijima

Oi Herivelton,

Pode ser qualquer porta que não seja usada por nenhum programa conhecido, eu utilizo a 3313, mas vc poderia usar a 3308, 3131, 3440, ai vai da sua escolha, escolha uma porta e faça uma pesquisa pra saber se algum programa conhecido a utiliza. (Ou se descobrir como dar a opção do usuário escolher a porta no momento da instalação vc me avisa, kkkkk).

E com relação ao serviço e ao firewall, eu não utilizei BAT, faço tudo pelo InnoSetup utilizando os comandos do prompt de comando que fazem isso, faça uma pesquisa com criar serviço via linha de comando, e exceção do firewall via linha de comando.

Mas só pra te dar um adianto, se não me engano os comandos são o sc.exe e o netsh.exe

Lembrando que vc tem que verificar se a maquina possui o .Net Framework v4 se não tiver o mysql não vai funcionar.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar