Alguemja esta utilizando o instalador do fernando

21/08/2004

Bem estava vendo aquele isntalador e achei muito bom. Estava mesmo precisando de uma dica sobre isto.
Ma ficou umas duvidas e gostaria que alguem desse uma ajuda sobre:
1 - Aquela chave de registro como faço para gerar.
2 - onde coloco uma rotina pra acrescentar no registro do windows.
3 - como faço para instalar o firebird/Interbase cliente.
4 - como faço para instalar o firebird/interbase servidor
Gostaria de indentificar se a instalação sera no servidor ou no cliente, tenho que mandar arquivos .inc diferenciados para o servidor e o cliente.
gostaria de gerar uma chave de instalação para versão demo e depois enviar a chave para liberação.


Dpinho

Respostas

23/08/2004

Bico

Bom dia.

1 - Aquela chave de registro como faço para gerar.

Na verdade a chave de registro não é gerada, você mesmo especifica a chave que quiser. A rotina para verificação da chave está no FormPrincipal e é esta:

function TFormPrincipal.Registrou: boolean;
begin
  //Verificar se a chave de instalação informada é válida
  Result := ((FormRegistro.Edit1.Text = ´01234´) and
             (FormRegistro.Edit2.Text = ´56789´) and
             (FormRegistro.Edit3.Text = ´01234´));
end;



2 - onde coloco uma rotina pra acrescentar no registro do windows.

Não sei como funciona e nem o que a rotina para inserir no registro do windows precisa mas, acredito que a rotina possa ser posta no final da rotina Instalar no FormPrincipal:

function TFormPrincipal.Instalar: boolean;
var
  i: integer;
  Fres: TResourceStream;
  fFile: TFileStream;
  ResPath1, ResPath2, Progr: string;
begin
  if VerificaDir then
  begin
    //Setar Path e nome dos arquivos de destino
    SetPathFiles;
    //Trocar cursor
    Screen.Cursor := crHourGlass;
    //Habilitar label de progressão da instalação
    FormInstal.Label2.Visible := True;
    //Configurar ProgressBar
    FormInstal.ProgressBar1.Position := 0;
    FormInstal.ProgressBar1.Step := 1;
    try
      //Setar o tamanho máximo da ProgressBar
      FormInstal.ProgressBar1.Max := Files.Count;
      //Varrer todos arquivos copiando-os para o local indicado
      for i := 0 to Files.Count - 1 do
      begin
        //Extrair arquivo do Resource
        Fres := TResourceStream.Create(0, ´RECURSO´ + IntToStr(i + 1), RT_RCDATA);
        fFile := TFileStream.Create(Paths[i&93; + Files&91;i&93;, fmCreate);
        try
          //Atualizar label de progressão da instalação
          FormInstal.Label2.Caption := ´Extraindo:   ´ + Files[i&93; + ´...´;
          Application.ProcessMessages;
          //Copiar arquivo para o local indicado
          Ffile.CopyFrom(Fres, Fres.Size);
          //Estou pausando o sistema por 1 segundo para visualizar melhor a progressão
          //da instalação. Caso deseje que o processo seja mais rápido, retirar a linha
          //abaixo.
          Sleep(1000);
          //Atualizar ProgressBar
          FormInstal.ProgressBar1.StepIt;
          Application.ProcessMessages;
        finally
          //Destruir objetos
          Fres.Free;
          Ffile.Free;
        end;
      end;
    finally
      //Ocultar label de progressão de instalação
      FormInstal.Label2.Visible := False;
      //Setar a posição da ProgressBar para o início
      FormInstal.ProgressBar1.Position := 0;
      //Voltar cursor default
      Screen.Cursor := crDefault;
    end;
    //Criação de atalhos
    Progr :=  Paths[0&93; + Files&91;0&93;;
    if FormInstal.CheckBox1.Checked then
    begin
      //Criar atalho para o sistema no Desktop
      resPath1 := CreateShortcut(PROGR, _DESKTOP, ´´,´´,´´,´Sistema´, ´Sistema´);
    end;
    if FormInstal.CheckBox2.Checked then
    begin
      //Verificar e caso necessário criar diretório
      if not(DirectoryExists(GetProgramDir + ´\Nome da empresa´)) then
        ForceDirectories(GetProgramDir + ´\Nome da empresa´);
      //Criar atalho para o sistema no menu Iniciar
      resPath2 := CreateShortcut(PROGR, _OTHERFOLDER, GetProgramDir + ´\Nome da Empresa´,´´,´´,´Sistema´, ´Sistema´);
    end;
    Result := True;



[b:82c1c98b4a] //ROTINA PARA INCLUIR NO REGISTRO DO WINDOWS AQUI.[/b:82c1c98b4a]

  end
  else
    Result := False;
end;



3 - como faço para instalar o firebird/Interbase cliente. 4 - como faço para instalar o firebird/interbase servidor.

Também gostaria de instalar diretamente o Firebird mas, dei uma pesquisada na net e não encontrei nenhuma forma para implementar esta funcionalidade. A solução que encontrei foi inserir o instalador do Firebird no meu instalador, extraindo-o para um diretório na máquina do cliente. Se necessário, executa-se o instalador do Firebird após a instalação do sistema.

A respeito de diferenciar a instalação cliente da instalação no servidor, até já fiz algo do gênero. Deve-se criar mais uma tela para a identificação do tipo de instalação e implementar a funcionalidade no sistema.

Atenciosamente,
Fernando.


Responder Citar

19/02/2006

Oicram

Boa tarde, se vc possui o instalador gostaria se possível que me informa-se como psso adquirir uma cópia do projeto.


Grato

Marcio
camposmc@ig.com.br
suporte@nefrologica.com.br


Responder Citar