instalação personalizada do Firebird

09/12/2008

Gostaria de criar uma instalação personalizada do Firebird 2.1 junto com a minha aplicação.

Já possuo um scpript para uso com o inno setup 5.

O que está faltando é um meio de testar se já existe alguma versão instalada do Firebird, incluindo a versão, no computador do usuário, avisando ao usuário se deseja prosseguir ou cancelar a instalação do Firebird.

Nirlan Fundao

Nirlan Fundao

Curtidas 0

Melhor post

Rodrigo Mourão

Rodrigo Mourão

11/12/2008

Olá Nirlan, você pode obter algo próximo disso fazendo o seguinte:   Ao final de cada arquivo do FireBird coloque o flag onlyifdoesntexist. Por exemplo:   Source: C:\Program Files\Firebird\bin\gbak.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\gdef.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\gfix.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\gpre.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\gsec.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\gstat.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\ibguard.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\iblockpr.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\ibserver.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\instreg.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\isql.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist
Source: C:\Program Files\Firebird\bin\qli.exe; DestDir: \Firebird\bin Flags: onlyifdoesntexist Como você menciona o FireBird 2.1 eu aconselho vc apontar o destino para o que seria o destino padrão do firebird 2.1 que seria se não me engano: \Firebird\Firebird_2_1bin   Com isso se já estiver o firebird instalado ele não irá copiar os arquivos.   Espero que isso lhe auxilie.   Estamos no aguardo para encerrar o chamado !!
GOSTEI 1

Mais Respostas

Rodrigo Mourão

Rodrigo Mourão

09/12/2008

Olá Nirlan  como vai ???   Esta dúvida foge do escopo do chamado técnico em delphi. Estaremos trabalhando para resolver seu problema porém não podemos garantir sucesso.   abs !!!   P.S.: Você trabalha com IsTool?  Poderia me passar seu script para poder analisar ? No aguardo.
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

09/12/2008

Olá Nirlan !!!   Continuo no aguardo do script para poder analisar.   abs
GOSTEI 0
Rodrigo Mourão

Rodrigo Mourão

09/12/2008

Olá Nirlan, preciso de um retorno seu devido ao tempo que o chamado está aberto. Temos um prazo para resolvê-lo.   Conto com a sua compreensão !!!   abs !!
GOSTEI 0
Nirlan Fundao

Nirlan Fundao

09/12/2008

este foi o script que eu consegui na internet.
Estaria faltando um modo verificar se já existe alguma versão instalada no computador do usuário no momento da instalação.


[_ISTool]
EnableISX=false

[Files]
Source: Exemplo\Exemplo.exe; DestDir: \Exec; Flags: confirmoverwrite
Source: Exemplo\EMPLOYEE.GDB; DestDir: \Dados
Source: C:\Program Files\Borland\Delphi6\Bin\dbexpint.dll; DestDir:


Source: C:\Program Files\Firebird\readme.txt; DestDir: \Firebird
Source: C:\Program Files\Firebird\Copy of isc4.gdb; DestDir: \Firebird; DestName: isc4.gdb; Flags: uninsneveruninstall onlyifdoesntexist
Source: C:\Program Files\Firebird\isc4.gbk; DestDir: \Firebird; Flags: uninsneveruninstall onlyifdoesntexist
Source: C:\Program Files\Firebird\ibconfig; DestDir: \Firebird; Flags: promptifolder
Source: C:\Program Files\Firebird\interbase.msg; DestDir: \Firebird; Flags: sharedfile promptifolder
Source: Exemplo\Set3050.exe; DestDir: ; Flags: deleteafterinstall
Source: C:\Program Files\Firebird\bin\gbak.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\gdef.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\gfix.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\gpre.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\gsec.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\gstat.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\ibguard.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\iblockpr.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\ibserver.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\instreg.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\isql.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\bin\qli.exe; DestDir: \Firebird\bin
Source: C:\Program Files\Firebird\intl\gdsintl.dll; DestDir: \Firebird\intl
Source: C:\Program Files\Firebird\udf\*.*; DestDir: \Firebird\udf
Source: C:\WINDOWS\system32\gds32.dll; DestDir: ; Flags: sharedfile
Source: C:\WINDOWS\system32\msvcrt.dll; DestDir: ; Flags: uninsneveruninstall sharedfile onlyifdoesntexist
; only on Win9x/Me ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Source: C:\Program Files\Firebird\bin\StopSrv.exe; DestDir: \Firebird\bin; MinVersion: 4.0,0
; only on NT/2000 ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Source: C:\Program Files\Firebird\bin\instsvc.exe; DestDir: \Firebird\bin; MinVersion: 0,4.0
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;



[Dirs]
Name: \Exec
Name: \Dados
Name: \Firebird\bin
Name: \Firebird\intl
Name: \Firebird\udf

[Setup]
AppCopyright=The Club Team
AppName=Exemplo
AppVerName=1.0.3

DefaultDirName=\Exemplo
UserInfoPage=true
AppID={A1493402-135C-48C2-B358-A945C06BE1D1}
AppPublisherURL=http://www.theclub.com.br
AppSupportURL=suporte@theclub.com.br
AppUpdatesURL=http://www.theclub.com.br
AppVersion=Exemplo 1.0.3
AppMutex=Exemplo
DefaultGroupName=Exemplo
UninstallDisplayName=The Club Team
DiskSpanning=false

[Registry]
; only on Win9x/Me ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Root: HKLM; Subkey: Software\Microsoft\Windows\CurrentVersion\Run; ValueType: string; ValueName: InterBaseGuardian; ValueData: \Firebird\bin\ibguard.exe; MinVersion: 4.0,0; Flags: uninsdeletevalue
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
Root: HKLM; Subkey: Software\Firebird Database Server\CurrentVersion; ValueType: string; ValueName: Version; ValueData: WI-V6.2.972 Firebird 1.0.3; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\Firebird Database Server\CurrentVersion; ValueType: string; ValueName: ServerDirectory; ValueData: \Firebird\bin\; Flags: uninsdeletevalue
Root: HKLM; Subkey: Software\Firebird Database Server\CurrentVersion; Flags: uninsdeletekeyifempty
Root: HKLM; Subkey: Software\Firebird Database Server; Flags: uninsdeletekeyifempty
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
; FOR BACKWARD COMPATIBILITY
Root: HKLM; Subkey: Software\Borland\InterBase\CurrentVersion; ValueType: string; ValueName: GuardianOptions; ValueData: 1
Root: HKLM; Subkey: Software\Borland\InterBase\CurrentVersion; ValueType: string; ValueName: ServerDirectory; ValueData: \Firebird\bin\
; Software\Borland\InterBase\CurrentVersion\RootDirectory
; &
; Software\Borland\InterBase\CurrentVersion\Version
; are setted by instreg.exe,
; delete of empty key Software\Borland\InterBase is work of instreg.exe too
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


[Icons]
Name: \TheClub\Exemplo; Filename: \Exec\Exemplo.exe; WorkingDir: ; IconFilename: \Exec\Exemplo.exe; Comment: Exemplo de Instalação.; Flags: createonlyiffileexists runmaximized; IconIndex: 0

[Run]
Filename: \Set3050.exe; Flags: runminimized
Filename: \Firebird\bin\instreg.exe; Parameters: "install ""\Firebird"""; Flags: nowait runminimized
Filename: \Firebird\bin\ibguard.exe; Parameters: -a; Flags: runminimized postinstall nowait

[UninstallRun]
Filename: \Firebird\bin\stopsrv.exe; Parameters: stop; Flags: runminimized
Filename: \Firebird\bin\instreg.exe; Parameters: remove; Flags: runminimized

[UninstallDelete]
Name: \Firebird\*.lck; Type: files
Name: \Firebird\*.log; Type: files

GOSTEI 0
Nirlan Fundao

Nirlan Fundao

09/12/2008

sim, podemos encerrar.
GOSTEI 0
POSTAR