inno setup'ta koşula göre dosyaları belirlemek

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
Kullanıcı avatarı
comfort
Üye
Mesajlar: 214
Kayıt: 28 Ara 2004 06:37
Konum: İzmir
İletişim:

inno setup'ta koşula göre dosyaları belirlemek

Mesaj gönderen comfort »

Herkese kolay gelsin

kurulum başlangıcında kullanıcıya kurulacak tarafı soruyorum.Yani server mı client mı şeklinde. Eğer serversa firebird dosyalarını ve fdb dosyasını atmak ve birkaç işlem daha yapmak istiyorum. Client ise exe dosyasını gds32.dll vb işlemler yapıcam. internette örnek kod bulamadım. Yardımcı olursanız sevinirim
t-hex
Kıdemli Üye
Mesajlar: 531
Kayıt: 18 Mar 2005 02:45
Konum: İstanbul/Antalya
İletişim:

Mesaj gönderen t-hex »

ISS içinde Components diye bir bölüm içine server ve client yazacaksınız.

Kod: Tümünü seç

[Components]
Name: client; Description: Client
Name: server; Description: Server
daha sonra hangi dosyalar client için hangileri server için tek tek işaretliyorsunuz.
Örneğin

Kod: Tümünü seç

[Files]
Source: server.exe; DestDir: {app}; Components: server;
Source: client.exe; DestDir: {app}; Components: client;
Kullanıcı avatarı
comfort
Üye
Mesajlar: 214
Kayıt: 28 Ara 2004 06:37
Konum: İzmir
İletişim:

Mesaj gönderen comfort »

Aslında bunu önceden denedim ve işimi gördü ama ben sadece dosyaları değil kurulumun gidişatını da değiştirmek istiyorum.
mesela client seçiliyse server adını almak gibi.Sadece dosyaları kastetmiyorum yani genede ilginize teşekkür ederim
Kullanıcı avatarı
comfort
Üye
Mesajlar: 214
Kayıt: 28 Ara 2004 06:37
Konum: İzmir
İletişim:

Mesaj gönderen comfort »

Şöyle bişeyler yaptım oldu gibi ama daha tam bitmedi

Kod: Tümünü seç


var
  DataDirpage: TWizardPage;
     Edit1: TEdit;
     Edit2: TEdit;
     Edit3: TEdit;
     FinishedInstall:boolean;

procedure InitializeWizard;
var
     Label1: TLabel;
     Label2: TLabel;
     Label3: TLabel;
begin


DataDirpage := createcustompage(wpselectcomponents,
    'Veri Tabanı', 'Veritabanı dosyanız nerede kurulu?');
     Label1 := TLabel.Create(datadirpage);
     with Label1 do
     begin
       Parent := datadirpage.Surface;
       Left := ScaleX(16);
       Top := ScaleY(16);
       Width := ScaleX(100);
       Height := ScaleY(13);
       Caption := 'Server Makinanın Adı';
     end;

     { Label2 }
     Label2 := TLabel.Create(datadirpage);
     with Label2 do
     begin
       Parent := datadirpage.Surface;
       Left := ScaleX(16);
       Top := ScaleY(67);
       Width := ScaleX(100);
       Height := ScaleY(13);
       Caption := 'VT Dosyasının bulunduğu klasör';
     end;

     { Label3 }
     Label3 := TLabel.Create(datadirpage);
     with Label3 do
     begin
       Parent := datadirpage.Surface;
       Left := ScaleX(16);
       Top := ScaleY(115);
       Width := ScaleX(82);
       Height := ScaleY(13);
       Caption := 'Vt Dosyasının Adı';
     end;

     { Edit1 }
     Edit1 := TEdit.Create(datadirpage);
     with Edit1 do
     begin
       Parent := datadirpage.Surface;
       Left := ScaleX(16);
       Top := ScaleY(40);
       Width := ScaleX(313);
       Height := ScaleY(21);
       TabOrder := 0;
     end;

     { Edit2 }
     Edit2 := TEdit.Create(datadirpage);
     with Edit2 do
     begin
       Parent := datadirpage.Surface;
       Left := ScaleX(16);
       Top := ScaleY(88);
       Width := ScaleX(313);
       Height := ScaleY(21);
       TabOrder := 1;
       Text := 'c:\program files\armed';
     end;

     { Edit3 }
     Edit3 := TEdit.Create(datadirpage);
     with Edit3 do
     begin
       Parent := datadirpage.Surface;
       Left := ScaleX(16);
       Top := ScaleY(136);
       Width := ScaleX(313);
       Height := ScaleY(21);
       TabOrder := 2;
       Text := 'armed.fdb';
     end;

end;

function NextButtonClick(CurPageID: Integer): Boolean;
begin
  if curpageid=datadirpage.id then
  begin
  if edit1.text='' then
  begin
  msgbox('Server makinanın adını giriniz',mberror,mb_ok)
  result:=false;
  end
  else if edit2.text='' then
  begin
  msgbox('VT Dosyasının bulunduğu klasörü giriniz',mberror,mb_ok)
  result:=false;
  end
  else if edit3.text='' then
  begin
  msgbox('VT Dosyasının adını giriniz',mberror,mb_ok)
  result:=false;
  end
  else
  result:=true;
  end
  else result:=true;
end;

function ShouldSkippage(PageID: Integer): Boolean;
begin
  if (pageid=datadirpage.id) then
  if iscomponentselected('server') then
  result:=true
  else result:=false;
end;
Cevapla