Ver Mensaje Individual
  #4  
Antiguo 05-07-2007
Deiv Deiv is offline
Miembro
 
Registrado: jul 2005
Ubicación: La Paz - Bolivia
Posts: 364
Reputación: 21
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