evertonlb Posted September 11, 2013 Report Share Posted September 11, 2013 Bom dia amigos, estou terminando um software e gostaria de fazer um arquivo de instalação.. na realidade estou bem familiarizado com o Install Creator, e tenho 90% de chances de usar ele.. o que acontece é que anteriormente eu usava DBF, e meu sistema criava sozinho os DBF´s, quando não encontrava na pasta de instalação, porem agora estou usando a SQLLIB e o MySql. Como faço para incluir no meu instalador o meu banco de dados? Tem outro instalador que, de repente, seria mais aconselhável usar para mandar junto minhas tabelas?? Como os nobres colegas fazem? Att. Quote Link to comment Share on other sites More sharing options...
kleyber Posted September 11, 2013 Report Share Posted September 11, 2013 Everton bom dia, O MySQL eu creio que não tem como colocar em um instalador já que ele possui o seu próprio. Além disto, tem que configurar o servidor, forma de acesso, etc. Quanto a criação das tabelas no MySQL aí sim, daria pra você fazer no teu próprio sistema, mas isto depois do servidor MySQL ser instalado e configurado corretamente. Então basicamente você teria que ter 2 instaladores. Quote Link to comment Share on other sites More sharing options...
evertonlb Posted September 11, 2013 Author Report Share Posted September 11, 2013 Valeu Kleyber.. obrigado pelas informações. Mas posso colocar uma janela com as opções de configuração dentro do meu software, certo? crio o banco de dados e as tabelas usando o create database e o create table... normal??? att. Quote Link to comment Share on other sites More sharing options...
kleyber Posted September 11, 2013 Report Share Posted September 11, 2013 Pode sim, sem problemas. Quote Link to comment Share on other sites More sharing options...
alex2002 Posted September 11, 2013 Report Share Posted September 11, 2013 Olá Galera, Olha, tem como instalar o MySQL pelo instalador do seu programa sim. Por incrível que pareça, é até simples. No meu ERP eu instalo tudo pelo instalador. Se não me engano, o Leonardo (Sygecom) me passou no encontro em BH, ele desenvolveu e me passou, dai adaptei ao meu instalador e roda legal. Se ele autorizar eu posso disponibilizar o meu código para a galera, mas dependo da autorização dele. Quote Link to comment Share on other sites More sharing options...
evertonlb Posted September 11, 2013 Author Report Share Posted September 11, 2013 Valeu Alex... Poxa Leonardo, libera ai!!!!!! Creio que será útil pra muita gente!!! Quote Link to comment Share on other sites More sharing options...
CIACPD Posted September 13, 2013 Report Share Posted September 13, 2013 Olá Everton, Para fazer a sua própria instalação com o MySql, voce faz o download da versão que voce usa mas sem o instalador e apenas o arquivo ZIP, ai voce coloca (descompacta ele) o mysql onde quiser e vai de boa. Quando for gerar o instalador não esquecer de incluir a pasta onde voce descompactou o mysql, pode ser tipo c:\seusistema\mysql Após de instalado voce executa o c:\seusistema\mysql\mysqld.exe Daniel Segura Quote Link to comment Share on other sites More sharing options...
kleyber Posted September 14, 2013 Report Share Posted September 14, 2013 Daniel, Interessante tua sugestão... só fica a dúvida: Como faz pra configurar o servidor MySQL automáticamente, no caso da máquina onde está instalando ser servidor? Quote Link to comment Share on other sites More sharing options...
sistem Posted September 15, 2013 Report Share Posted September 15, 2013 esse video pode ajudar a criar banco de dados embarcados em seu instalador.(utilizando o inno setup) http://www.4shared.com/file/45037371/67fff949/video_innosetup_mysql_delphi.html?dirPwdVerified=ab1866fd baixar o video para ver completo e com qualidade. Quote Link to comment Share on other sites More sharing options...
evertonlb Posted September 16, 2013 Author Report Share Posted September 16, 2013 Valeu cara.. obrigado!!! Quote Link to comment Share on other sites More sharing options...
sistem Posted September 16, 2013 Report Share Posted September 16, 2013 Everton, com base no vídeo, segue o código para alterar o my.ini e startar o mysql em serviços #include "FiveWin.ch" Function Main() MsgRun( "Inicia serviço mysql...", "Aguarde!", { || FuncIniMysql() } ) Return nil //------------------------------------------------------------------------------------------// Function FuncIniMysql() Local oIni, cPath := GetCurDir()+"\" INI oIni FILE cPath+"mysql\my.ini" SET SECTION "mysqld" ENTRY "basedir" TO StrTran(cPath+"mysql\", "\", "/") OF oIni SET SECTION "mysqld" ENTRY "datadir" TO StrTran(cPath+"mysql\data\", "\", "/") OF oIni ENDINI MyRun(cPath+"mysql\bin\mysqld --install mysql_siav --defaults-file="+cPath+"mysql\my.ini") MyRun("net start mysql_siav") Return nil //------------------------------------------------------------------------------------------// Function MyRun( cComando ) Local oShell, Ret oShell := CreateObject( "WScript.Shell" ) Ret := oShell:Run( "%comspec% /c " + cComando, 0, .t. ) oShell := NIL Return Iif( Ret = 0, .t., .f. ) codigo do inno setup para add pasta e sub-pastas do mysql e executar o codigo acima [Files] Source: c:\SeuAplicativo\mysql\*; DestDir: {app}\mysql; Flags: ignoreversion recursesubdirs createallsubdirs [Run] Filename: {app}\startmysql.exe; Flags: waituntilidle amanha coloco o código do unistall. Quote Link to comment Share on other sites More sharing options...
evertonlb Posted September 19, 2013 Author Report Share Posted September 19, 2013 Poxa legal cara... Obrigado novamente... Estive meio na corrida, amanha eu vou colocar este instalador pra funcionar também... Att. Quote Link to comment Share on other sites More sharing options...
joaosolution Posted September 20, 2013 Report Share Posted September 20, 2013 Valeu Sistem? Ótimo trabalho, estava precisando também desta opção. Obrigado! João Bosco Quote Link to comment Share on other sites More sharing options...
sistem Posted September 20, 2013 Report Share Posted September 20, 2013 exemplo: startmysql.prg - endmysql.prg e um script de exemplo inno setup ex: script.iss *-------------------------------------------------------------------------------------------------------- NOTE startmysql.prg - programa q eh chamado pelo inno setup na instalacao de seu aplicativo (testado) #include "FiveWin.ch" Function Main() MsgRun( "Inicia serviço mysql...", "Aguarde!", { || FuncIniMysql() } ) Return nil *------------------- Function FuncIniMysql() Local oIni, cPath := GetCurDir()+"\" INI oIni FILE cPath+"mysql\my.ini" SET SECTION "client" ENTRY "port" TO "3308" OF oIni SET SECTION "mysqld" ENTRY "port" TO "3308" OF oIni SET SECTION "mysqld" ENTRY "basedir" TO StrTran(cPath+"mysql\", "\", "/") OF oIni SET SECTION "mysqld" ENTRY "datadir" TO StrTran(cPath+"mysql\data\", "\", "/") OF oIni ENDINI MyRun(cPath+"mysql\bin\mysqld --install NomeDoServico --defaults-file="+cPath+"mysql\my.ini") MyRun("net start NomeDoServico") Return nil *------------------- Function MyRun( cComando ) Local oShell, Ret oShell := CreateObject( "WScript.Shell" ) Ret := oShell:Run( "%comspec% /c " + cComando, 0, .t. ) oShell := NIL Return Iif( Ret = 0, .t., .f. ) *-------------------------------------------------------------------------------------------------------- NOTE endmysql.prg - programa q eh chamado pelo inno setup na desistalacao (nao testado) #include "FiveWin.ch" Function Main() MsgRun( "Removendo serviço mysql...", "Aguarde!", { || FuncIniMysql() } ) Return nil *------------------- Function FuncIniMysql() Local oIni, cPath := GetCurDir()+"\" MyRun("net stop NomeDoServico") MyRun(cPath+"mysql\bin\mysqld --remove NomeDoServico") Return nil *------------------- Function MyRun( cComando ) Local oShell, Ret oShell := CreateObject( "WScript.Shell" ) Ret := oShell:Run( "%comspec% /c " + cComando, 0, .t. ) oShell := NIL Return Iif( Ret = 0, .t., .f. ) *-------------------------------------------------------------------------------------------------------- ; EXEMPLO DE Script Inno Setup ; copie e salvar com a extensao .ISS ex: test.iss abrir/editar para suas necessidades com inno setup [Setup] AppName=TESTE-SEU APLICATIVO TESTE AppVerName=VERSAO v1.0 SET/2013 AppPublisher=SUA EMPRESA AppPublisherURL= SUA URL http://www.SEUSITE.com/ AppSupportURL=http://www.SEUSITE.com/ AppUpdatesURL=http://www.SEUSITE.com/ DefaultDirName=c:\PATH_SEU_APLICATIVO_PADRAO ;DefaultDirName={pf}\SeuAplicativo && retire o ponto e virgula para o padrao de instalacao ser a pasta arquivos de programas - PF= ARQUIVOS DE PROGRAMAS (DIRETORIO) DefaultGroupName=SeuAplicativoNome && grupo de seu aplicativo, exemplo: SIAV AllowNoIcons=yes // nao lembro uq ser LicenseFile=c:\seuaplicativo\leia-me.txt && um arquivo de lincença de uso caso tenha DiskSpanning=no // nao lembro ; uncomment the following line if you want your installation to run on NT 3.51 too. ; MinVersion=4,3.51 && algo sobre versao do windows onde o plicativo pode ser instalado, ver video [Tasks] Name: desktopicon; Description: Criar ícone no &Desktop; GroupDescription: Additional icons:; MinVersion: 4,4 Name: quicklaunchicon; Description: Criar ícone &Quick Launch; GroupDescription: Additional icons:; MinVersion: 4,4 ; as linhas abaixo eh para poder escolher na instalacao se eh servidor ou estacao, caso seja estacao nao vai instalar a pasta mysql e nao vai executar os arquivo dos prg acima (types) [Types] Name: estacao; Description: Instalar SeuAplicativoNome (estações de trabalho) Name: servidor; Description: Instalar SeuAplicativoNome e base de dados (servidor) ; as linhas abaixo eh para poder escolher na instalacao se eh servidor ou estacao, caso seja estacao nao vai instalar a pasta mysql e nao vai executa os arquivos dos prgs acima (components) [Components] Name: clientFiles; Description: Instalar SeuAplicativoNome (estações de trabalho); Types: estacao Name: serverFiles; Description: Instalar SeuAplicativoNome e base de dados (servidor); Types: servidor ; as linhas abaixo eh para adicionar arquivos na pasta de instacao de do seu aplicativo [Files] Source: c:\Pasta_origem\SeuAplicativo.exe; DestDir: {app}; Flags: ignoreversion && seu aplicativo principal Source: c:\Pasta_origem\startmysql.exe; DestDir: {app}; Flags: ignoreversion; Components: serverFiles && add o startmysql.exe (startmysql.prg) caso seja o servidor a sua escolha na instalacao Source: c:\Pasta_origem\endmysql.exe; DestDir: {app}; Flags: ignoreversion; Components: serverFiles && add o endmysql.exe (endmysql.prg) caso seja o servidor a sua escolha na instalacao Source: c:\Pasta_origem\teste.dll DestDir: {app}; Flags: ignoreversion && outros arquivos Source: c:\Pasta_origem\logo.bmp; DestDir: {app}\imagens; Flags: ignoreversion && outros exemplo, copia para subpasta de seu aplicativo, no caso imagens. ex: c:\SeuAplicativo\Imagens Source: c:\Pasta_origem\mysql\*; DestDir: {app}\mysql; Flags: ignoreversion recursesubdirs createallsubdirs; Components: serverFiles && add a pasta/sub-pastas do mysql em seu aplicativo ex: c:\SeuAplicativo\Mysql obs: ver video do post Source: c:\Pasta_origem\fontes\Code128bWin.ttf; DestDir: {fonts}; FontInstall: Code128bWin; Flags: onlyifdoesntexist && exemplo para add alguma fonte no windows Source: c:\Pasta_origem\nfe_util\*; DestDir: {app}\nfe_util; Flags: ignoreversion recursesubdirs createallsubdirs && exemplo para instalar a pasta e sub-pastas da flexdocs no seu aplicativo Source: Pasta_origem\leiame.txt; DestDir: {app}\dir9\pdf; Flags: ignoreversion ; exemplo abaixo, criar algo no registro do windows (remova se necessario) [Registry] Root: HKLM; Subkey: Software\microsoft\SeuAplicativo; ValueType: string; ValueName: InstallPath; Valuedata: {app} && guarda o valor do path onde foi instalado seu aplicativo na chave InstallPath Root: HKLM; Subkey: Software\microsoft\SeuAplicativo; ValueType: string; ValueName: Version; Valuedata: 1.0 && versao caso queria ;Root: HKCU; Subkey: "Software\Microsoft\Internet Explorer\Main"; ValueType: string; ValueName: "Start Page"; Valuedata: "http://www.SeuSite.com/" && outro exemplo [INI] Filename: "{app}\SEUsite.url"; Section: "InternetShortcut"; Key: "URL"; String: "http://www.SeuSite.com" && <= mais 1 exemplo, remova ; configura ou remova de acordo com sua necessidades [Icons] Name: {group}\TEST; Filename: {app}\SeuAplicativo.EXE; WorkingDir: {app} Name: {group}\WebSite; Filename: {app}\SeuSite.url Name: {userdesktop}\TEST; Filename: {app}\SeuAplicativo.EXE; WorkingDir: {app}; MinVersion: 4,4; Tasks: desktopicon Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\SuaEmpresa teste Informática; Filename: {app}\SeuAplicativo.EXE; WorkingDir: {app}; MinVersion: 4,4; Tasks: quicklaunchicon ; executa o startmysql.exe no final da instalacao e abre seu aplicativo logo depois [Run] Filename: {app}\startmysql.exe; Flags: waituntilidle; Components: serverFiles Filename: {app}\SeuAplicativo.EXE; Description: Executar SeuAplicativo; Flags: nowait postinstall skipifsilent ; executa o endmysql.exe na desinstalacao [UninstallRun] Filename {app}\endmysql.exe; Flags: waituntilidle ; mais exemplo, vc pode remover [UninstallDelete] Type: files; Name: {app}\SeuSite.url espero que ajude t+ Quote Link to comment Share on other sites More sharing options...
sistem Posted October 2, 2013 Report Share Posted October 2, 2013 soh para completar segue codigo inno setup para liberar a porta no firewall do windows, testado no win8 e win7 [Run] Filename: {sys}\netsh.exe; Parameters: "firewall add portopening protocol=TCP port=3308 name=""mysqlsiav"" mode=ENABLE scope=SUBNET"; Flags: nowait runhidden; MinVersion: 0,5.01.2600 Quote Link to comment Share on other sites More sharing options...
kleyber Posted October 2, 2013 Report Share Posted October 2, 2013 soh para completar segue codigo inno setup para liberar a porta no firewall do windows, testado no win8 e win7 [Run] Filename: {sys}\netsh.exe; Parameters: "firewall add portopening protocol=TCP port=3308 name=""mysqlsiav"" mode=ENABLE scope=SUBNET"; Flags: nowait runhidden; MinVersion: 0,5.01.2600 Muito bom, não sabia destes recursos. Obrigado por compartilhar. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.