Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 17-06-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Wink MDAC Instalar por Código

Hola,
No se si existe forma con Delphi7 por código:
1ro.- averiguar si está instalado el programa MDAC en una máquina?
2do.- Si está instalado, ¿cómo comparar (saber) a través de código la versión instalada con la que tengo?
3ro.- De darse las posibilidades anteriores ¿cómo instalar el MDAC que poseo por código en una máquina?
Saludos

Última edición por Deiv fecha: 17-06-2007 a las 23:49:05.
Responder Con Cita
  #2  
Antiguo 18-06-2007
Avatar de Wonni
Wonni Wonni is offline
Miembro
 
Registrado: abr 2006
Posts: 261
Poder: 19
Wonni Va por buen camino
hola;

Yo tambien he estado buscando informacion acerca de este tema, ya que me he iniciado hace poco en MDB-ADO.

Cita:
Empezado por jachguate
Microsoft no te autoriza a instalar "por tu cuenta" una nueva versión de MDAC, lo que debes hacer es informar a tus usuarios que no está actualizada la versión de los mismos y solicitarles que lo hagan, enviándolos, por ejemplo, a la página de descarga de MDAC, que va por la 2.8
Esta cita forma parte de este hilo, al cual podrias hechar un vistazo a ver si te ayuda.

La versión 2.8 de MDAC puedes descargarla aqui:

http://www.microsoft.com/downloads/d...DisplayLang=es

Pero he seguido investigando y he encontrado mucha información, ademas de (creo, no lo he probado aun) la solución:

Informacion:

http://support.microsoft.com/kb/301202/es#appliesto

Fijaros bien donde dice: "Esta versión no incluye Microsoft Jet, el proveedor Microsoft Jet OLE DB, el controlador ODBC para Desktop Database Drivers ni el controlador ODBC para Visual FoxPro."



http://www.myitforum.com/downloads/d...=Scripting&p=4

Aqui se puede encontrar un Script para checkear la version del MDAC. Lo he probado y funciona. Hay que ejecutarlo por linea de comandos.


En estos dos siguientes enlaces se pueden descargar los MergeModule para InstallShield del MDAC 2.8 y el Jet 4.0 SP7:

http://support.installshield.com/kb/...icleid=q109806

http://support.installshield.com/kb/...icleid=q109889


Todavia no los he probado(Los MergeModule). En cuanto los pruebe lo posteo. Creo que es la mejor solución. Recuerdo cuando instalaba el BDE a mano, hasta que me hice un instalador con InstallShield.
Responder Con Cita
  #3  
Antiguo 19-06-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Cool

Gracias por las indicaciones, leeré las páginas y luego os comento, pero para hacer funcionar un Programa externo me parece que es con ShellExecute, verdad? y eso de la comprobación, me parece que se debe realizar desde el InstallShield, segun entiendo......
Responder Con Cita
  #4  
Antiguo 05-07-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Poder: 19
Deiv Va por buen camino
Wink

Gracias Wonni,
Y de tanto consultar, me orientaron: ¿que les parece el siguiente código que comprueba la versión de MDAC y manda a instalar la nueva versión?
Código Delphi [-]
program TestMdac;
{$APPTYPE CONSOLE}
uses SysUtils, Windows, ShellAPI, Registry;
var
  Mdac_typ, MDACVersion: string;
begin
  with TRegistry.Create(KEY_READ) do
  try
    RootKey := HKEY_LOCAL_MACHINE;
    if OpenKey('SOFTWARE\Microsoft\DataAccess', false) then
      MDACVersion := Copy(ReadString('FullInstallVer'), 1, 3)
    else
      MDACVersion := '';
  finally
    Free;
  end;
  if MDACVersion >= '2.8' then
    exit;
  Mdac_typ := ExtractFilePath(ParamStr(0)) + 'Mdac_typ.exe';
  if FileExists(Mdac_typ) then
    ShellExecute(0, 'open', PChar(Mdac_typ), nil, nil, 0)
  else begin
    writeln(Mdac_typ + ' - MDAC 2.8  No encontrado');
    readln;
  end;
end.

No sé, al código habrá que adapatarlo en algún momento donde muestre una ventana y diga que existe una versión mucho mas actualizada (adjunta en mi Aplicación) para sugerirle la instalación (o hacerlo algo obligatorio y necesario, digamos), lo que no me agrada DE TODO ESTO en el caso de que el Usuario tuviera una versión menor, es que arrancará el programa de MDAC y nos preguntará si aceptamos los términos de licencia y el mensaje de que se va a instalar el Programa. Me pregunto dos situaciones:

1.- ¿No existirá alguna forma que, por ejemplo he podido observar que cuando instalo Delphi 7, en un momento me presenta un CheckBox donde me da a elegir si deseamos instalar componentes o DLL de Access (No recuerdo bien en este momento, disculpen si estoy equivocado), no habrá misma forma de poder INSTALAR INTERNAMENTE la actualización del MDAC? sin que muestre sus ventanas del MDAC propio?

2.- ¿Necesariamente el MDAC tendré que adecuarlo dentro del InstallShield (o InnoSetup) para que en un inicio salga esta opción de comprobación de versiones e instalar el MDAC verdad? ¿Cómo se realizaría este paso con el InstallShield?
Saludos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Instalar Dbe... Rogersito Plus Tablas planas 5 06-09-2006 19:06:27
Problema con MDAC 2.7 DarkSide Conexión con bases de datos 3 23-11-2005 16:29:59
contraer por codigo, cxGrid (+) los nodos abiertos cerrarlos por codigo sakuragi OOP 6 27-07-2005 18:23:07
de codigo VB a codigo Delphi ingel Impresión 2 20-07-2004 14:15:44
No puedo instalar bien un componente de codigo de barrar? danytorres Varios 2 13-09-2003 19:58:55


La franja horaria es GMT +2. Ahora son las 18:22:04.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi