AUTOMATIZAR INSTALACION DE ODBC y MySQL

1,005 views
Skip to first unread message

Riago

unread,
May 3, 2012, 1:09:57 PM5/3/12
to Comunidad de Visual Foxpro en Español
Hola colegas del foro, quisiera saber si alguien tiene conocimiento de
como se puede realizar una instalación de ODBC y MySQL pero que el
usuario tenga que intervenir lo menos posible.
La empresa con la que trabajo tiene un proyecto que utilizará MySQL,
pero desea que la instalación no tenga participación el usuario, sino
que en el instalador se puedan dar todos los parametros para su
instalación y al finalizar, crear la base de datos y posteriormente
las tablas.
Espero contar la ayuda de uds. pues estoy corriendo contra el tiempo.
Desde ya gracias a todos.

Gorka

unread,
May 4, 2012, 2:41:51 AM5/4/12
to publice...@googlegroups.com
Hola
Quizás esto te sirva:
Saludos
Gorka

Julio Cesar Vente Ruiz

unread,
May 4, 2012, 10:55:14 AM5/4/12
to publice...@googlegroups.com
Hola yo tengo esta rutina que me funciona bastante bien...
Primero debes hacer que tu instalador ponga en el system de Windows los archivos myodbc5.dll, myodbc5.lib, myodbc5S.dll, myodbc5S.lib que son de la version 5.1 del odbc MySQL.
Y luego en tu aplicaciones por ejemplo cuando inicie por primera vez que ejecute la rutina..


*** REGISTRAR MYSQL DRIVER CONECTOR
    PUBLIC RESULT
    RESULT=0
    DISPLAY=0
    #DEFINE HKEY_LOCAL_MACHINE 2147483650
    #DEFINE SECURITY_ACCESS_MASK 983103
    DECLARE RegCreateKeyEx IN ADVAPI32.DLL INTEGER,STRING,INTEGER,STRING,INTEGER,INTEGER,INTEGER,INTEGER @, INTEGER @
    DECLARE RegSetValueEx IN ADVAPI32.DLL INTEGER,STRING,INTEGER,INTEGER,STRING,INTEGER
    RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver",0,"REG_SZ", 0,SECURITY_ACCESS_MASK,0,@RESULT,@DISPLAY)

    RegSetValueEx(RESULT,"Driver",0,1,"myodbc5.dll",13)

    RegSetValueEx(RESULT,"Setup",0,1,"myodbc5.dll",13)
    RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver",0,"REG_SZ", 0,SECURITY_ACCESS_MASK,0,@RESULT,@DISPLAY)
    RegSetValueEx(RESULT,"Driver",0,1,"myodbc5.dll",13)
    RegSetValueEx(RESULT,"Setup",0,1,"myodbc5.dll",13)
    RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers",0,"REG_SZ", 0,SECURITY_ACCESS_MASK,0,@RESULT,@DISPLAY)
    RegSetValueEx(RESULT,"MySQL ODBC 5.1 Driver",0,1,"Installed",13)
    RegSetValueEx(RESULT,"MySQL ODBC 5.1 Driver",0,1,"Installed",13)


Saludos espero te sea de utilidad...
--


Julio Cesar Vente Ruiz

Riago

unread,
May 5, 2012, 6:16:05 PM5/5/12
to publice...@googlegroups.com
Gracias Gorka y Julio Cesar
Con las indicaciones que dejaron se ha resuelto todo mi problema.
encontré un .BAT para una automatización perfecta para  la instalación
de MySQL más la rutinas de activación de ODBC, tengo una instalación
transparente para el usuario, como era mi deseo.
Nuevamente mil gracias.

  Ricardo González
Asunción - Paraguay

sergio garcia

unread,
May 5, 2012, 6:17:42 PM5/5/12
to publice...@googlegroups.com

Seria interesante la compartas.

 

 

______________________________________

Sergio A. García
Jefe de Proyectos
Cel. 5527-4094 · in...@magicsoft.com.gt

Magicsoft de Guatemala
30 Avenida A 17-80 Zona 7 Villa Linda I, Guatemala
in...@magicsoft.com.gt · www.magicsoft.com.gt  skype    

magicblancopecoNo me imprimas si no es necesario. Protejamos el medio ambiente

image001.png
image002.png
image003.gif

Riago

unread,
May 5, 2012, 6:26:50 PM5/5/12
to publice...@googlegroups.com
Claro Sergio,
Por supuesto, encantado....
Lo depuro más y lo subo para compartirlo, mis pruebas hasta ahora son muy independientes, estoy intentando integrarlo en un solo proceso.

Un abrazo.

Riago

unread,
May 6, 2012, 10:20:16 PM5/6/12
to publice...@googlegroups.com
Bueno, como dije el otro día, está bien probado y me funcionó perfectamente
por ello comparto con uds. lo que me facilitó esta implementación

Copio al \WINDOWS\SYSTEM32 los siguientes archivos;
myodbc5.dll
myodbc5.lib
myodbc5S.dll
myodbc5S.lib 
- corresponden al ODBC de mysql-connector-odbc-5.1.11-win32.msi
-OBS.**********************************************************************
- lo instalé en otra máquina, y luego copie solamente estos archivos 
- al directorio.
*****************************************************************************
- Creo .PRG para instalación   installODBC.prg
- con las siguientes lineas

*** REGISTRAR MYSQL DRIVER CONECTOR
    PUBLIC RESULT
    RESULT=0
    DISPLAY=0
    #DEFINE HKEY_LOCAL_MACHINE 2147483650
    #DEFINE SECURITY_ACCESS_MASK 983103
    DECLARE RegCreateKeyEx IN ADVAPI32.DLL INTEGER,STRING,INTEGER,STRING,INTEGER,INTEGER,INTEGER,INTEGER @, INTEGER @
    DECLARE RegSetValueEx IN ADVAPI32.DLL INTEGER,STRING,INTEGER,INTEGER,STRING,INTEGER
    RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver",0,"REG_SZ", 0,SECURITY_ACCESS_MASK,0,@RESULT,@DISPLAY)

    RegSetValueEx(RESULT,"Driver",0,1,"myodbc5.dll",13)

    RegSetValueEx(RESULT,"Setup",0,1,"myodbc5.dll",13)
    RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBCINST.INI\MySQL ODBC 5.1 Driver",0,"REG_SZ", 0,SECURITY_ACCESS_MASK,0,@RESULT,@DISPLAY)
    RegSetValueEx(RESULT,"Driver",0,1,"myodbc5.dll",13)
    RegSetValueEx(RESULT,"Setup",0,1,"myodbc5.dll",13)
    RegCreateKeyEx(HKEY_LOCAL_MACHINE,"SOFTWARE\ODBC\ODBCINST.INI\ODBC Drivers",0,"REG_SZ", 0,SECURITY_ACCESS_MASK,0,@RESULT,@DISPLAY) 
    RegSetValueEx(RESULT,"MySQL ODBC 5.1 Driver",0,1,"Installed",13)
    RegSetValueEx(RESULT,"MySQL ODBC 5.1 Driver",0,1,"Installed",13)


- creo un directorio c:\MySQL
- Me posiciono dentro del directorio
- copio el archivo  mysql-essential-51win32.msi

* y creo 2 archivos .BAT
SQL.BAT
 echo Iniciando mysql
 msiexec /i "mysql-essential-51win32.msi" /qn INSTALLDIR="C:\MySQL" DATADIR="C:\Mysql" /L* "C:\MySQL\mysql-log.txt"
 echo MySQL fué instalado con éxito
 
* y el otro
MySQL.BAT
echo configurando instancia...
"C:\MySQL\bin\mysqlinstanceconfig.exe" -i -q "-lC:\mysql_install_log.txt" "-nMySQL Server" "-pC:\MySQL" "-tc:\mysql\my-template.ini" "-cC:\mysql\my.ini" ServerType=DEVELOPMENT DatabaseType=MIXED ConnectionUsage=DSS Port=3306 ServiceName=MySQL RootPassword=1234
echo instancia configurada exitosamente

Desde alli solamente pasé a crear la BASE DE DATOS
y posteriormente las tablas

OBS.: Hasta el momento solo lo probé como SERVER 
espero les sirva
Reply all
Reply to author
Forward
0 new messages