Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Mas funcionalidad con Inno Setup (https://www.clubdelphi.com/foros/showthread.php?t=16728)

alt126 09-12-2004 13:15:25

Mas funcionalidad con Inno Setup
 
Hola, estoy haciendo una instalacion de un programa hecho con builder c++ que maneja Bases de datos access...todo me funciona estupendamente pero quisiera que el programa de instalacion pudiera hacer las siguientes cosas, y no se si es posible o hay que hacer algun script en pascal o algo asi...

- Solicitar una opcion de instalacion en red o local, y segun sea la respuesta crear unas entradas en el registro u otras.

- Comprobar que el access esta instalado a partir de la version 2000.

Si alguien sabe como hacer esto o tiene alguna idea, pos muchas gracias...

Adios,

Antonio

Neftali [Germán.Estévez] 09-12-2004 13:39:52

Revisa ISFD (Inno Setup Form Designer).
No he llegado a probarlo, pero es para crear nuevas páginas en los instaladores hechos con Inno Setup, que creo que es lo que tú necesitas;
Supongo aque además de crear nuevas páginas te permitirá programar la lógica que deba haber en ellas; Se puede hacer con Inno utilizando Scripts como tú muy bien dices, pero ésta herramienta te facilitará el trabajo.

Héctor Randolph 19-12-2004 22:32:08

Cita:

Empezado por alt126
- Comprobar que el access esta instalado a partir de la version 2000.

Hola Antonio!

Aquí tienes un script para Inno Setup que detecta cuál versión de MS Access está instalada, si es que existe alguna

Espero que te sea útil.

Script tomado de la página

Inno Setup Extensions Knowledge Base/How to detect if and wich version of MSAccess is installed

[code]
;
; ISX 3.0.2
;
;
[Setup]
AppName=MSAccessVersion
AppVerName=MSAccessVersion
DefaultDirName={pf}\MSAccessVersion
DisableStartupPrompt=true
Uninstallable=false
DisableDirPage=true
OutputBaseFilename=MSAccessVersion

Código:


// Legenda
// 8.00.00.3512  Access 97
// 8.00.00.4122  Access 97 SR1
// 8.00.00.5903  Access 97 SR2
// 9.00.00.2719  Access 2000
// 9.00.00.3822  Access 2000 SR1
// 9.00.00.4506  Access 2000 SR2
// 10.00.2627.1  Access XP

function AccessVersion(): String;
var accversion, accpath: String;
begin
  accversion := '';

  if RegQueryStringValue(HKEY_LOCAL_MACHINE,
          'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE',
          '', accpath) then
  begin
        // in varResult there is path of msaccess.exe
        GetVersionNumbersString( accpath, accversion );
  end;

  Result := accversion;
end;



function InitializeSetup(): Boolean;
var accver: String;
begin
  accver := AccessVersion();
  if Length( accver ) > 0 then
  begin

          MsgBox( 'Version ('+ accver +') of MS Access is installed.',
            mbInformation, MB_OK );

        // go on with setup
        Result := true;

  end
  else begin
          MsgBox( 'MS Access is not installed.', mbInformation, MB_OK );

          // cannot go with setup anyway
          Result := false;
  end;

end;


alt126 20-12-2004 12:58:03

Muchas gracias por vuestras respuestas...
 
Lo he consegido de esta forma: :eek:

Para la version:

if(RegQueryStringValue(HKEY_LOCAL_MACHINE,'SOFTWARE\Microsoft\Office\8.0','', Acc97Path)) then
begin
Result := False;
MsgBox('Se requiere una version de Microsoft Access 2000 o superior' #13#13 'La instalación no puede continuar', mbError, MB_OK);
end;

Para saber si existe:

if(not RegKeyExists(HKLM,'SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\MSACCESS.EXE')) then
begin
Result := False;
MsgBox('Se requiere que Microsoft Access este instalado' #13#13 'La instalación no puede continuar', mbError, MB_OK);
end;

Muchas gracias...;)

Antonio


La franja horaria es GMT +2. Ahora son las 01:32:12.

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