Gerar instalador de aplicação Delphi com Banco de Dados MySQL
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
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
Curtidas 0
Respostas
Herivelton Pires
30/09/2015
Alguém poderia me ajudar?
GOSTEI 0
Rodrigo Oliveira
30/09/2015
Eu tenho quase certeza de que é necessario ter o banco instalado.
GOSTEI 0
Herivelton Pires
30/09/2015
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.
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.
GOSTEI 0
Cauê Nishijima
30/09/2015
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
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
GOSTEI 0
Rodrigo Oliveira
30/09/2015
No programa, adiciona o instalador do SGBD junto com o banco criado?
GOSTEI 0
Cauê Nishijima
30/09/2015
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
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
GOSTEI 0
Rodrigo Oliveira
30/09/2015
Obrigado, conhece algum tutorial?
GOSTEI 0
Herivelton Pires
30/09/2015
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
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
GOSTEI 0
Cauê Nishijima
30/09/2015
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.
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.
GOSTEI 0