Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Inno Setup Skripta - Nedostatak ili šta već...

[es] :: Pascal / Delphi / Kylix :: Inno Setup Skripta - Nedostatak ili šta već...

[ Pregleda: 2330 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

icobh
Igor Pejašinović
Network Admin
Navigo SC d.o.o.
Banja Luka

Član broj: 18738
Poruke: 1319
*.inecco.net.

Sajt: www.nsc.ba


+4 Profil

icon Inno Setup Skripta - Nedostatak ili šta već...27.01.2008. u 10:22 - pre 197 meseci
Trebam da napravim setup kod koga su svi fajlovi external. Nije problem ali fajlovi su veliki, pa mora ići na više dvd medija. Eh sad, ja sam iskoristio BeforeInstall da bih provjerio da li se fajl nalazi na istom mediju kao i setup. Ako ne, poslao bih poruku korisniku da promijeni dvd medij i stisne OK. Za sad je sve u redu ali ako korisnik ne ubaci taj drugi medij ili ne želi, nego želi da prekine instalaciju, e to neće moći bez Task Managera. Znači moram dodati i Cancel dugme u MsgBox...

Gledao sam ugrađene f-je ali nigdje nema nešto što bi prekinulo trenutnu instalaciju. Piše da InitializeSetup, InitializeWizard i CurStepChanged(ssInstall) mogu da izvrše prekidanje instalacije ali ne znam kako to da iskoristim, jer su error-i na sve strane kad ja pokušam nešto da napišem... Zahrđao sam sa Pascal-om totalno...

Probao sam još sa SendMessage, da emuliram pritisak na ono originalno Cancel dugme ali mi ne uspijeva...

Ima li neko ideju kako ovo premostiti. Ili još bolje, kako realizovati ovakvu instalaciju...


I ♥ ♀

Ovaj post je zlata vrijedan!
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
*.dynamic.sbb.co.yu.

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Inno Setup Skripta - Nedostatak ili šta već...27.01.2008. u 11:24 - pre 197 meseci
Igore,


Nisam siguran da sam nabolje razumeo scenario koji si zamislio. Imam utisak da nisi podesio multiple-disk podrsku, ili ti ona mozda ne odgovara s obzirom na default ponasanje.

Ipak, ako ti ovde (na ES-u) ne stigne odgovarajuce resenje, predlazem da pogledas na InnoSetup forum:

NNTP Interfejs (preporuceno)
news.jrsoftware.org

HTTP interfejs (eksperimentalno, ali radi):
http://news.jrsoftware.org/read/

Tebi trebaju grupe:

1) jrsoftware.innosetup (u vezi scenarija koji hoces da postignes)
2) jrsoftware.innosetup.code (Pascal script kod, na osnovu zeljenog scenarija)
 
Odgovor na temu

lan-mi
Lukic Milan
Zrenjanin

Član broj: 156359
Poruke: 140
*.dynamic.sbb.co.yu.

Sajt: https://lanmisoft.com


+1 Profil

icon Re: Inno Setup Skripta - Nedostatak ili šta već...27.01.2008. u 13:26 - pre 197 meseci
Bilo bi dobro kad bi postavio ono sto si do sada uradio pa da analiziramo.
Arduino Control Center
 
Odgovor na temu

icobh
Igor Pejašinović
Network Admin
Navigo SC d.o.o.
Banja Luka

Član broj: 18738
Poruke: 1319
*.inecco.net.

Sajt: www.nsc.ba


+4 Profil

icon Re: Inno Setup Skripta - Nedostatak ili šta već...27.01.2008. u 14:03 - pre 197 meseci
Uspio sam. Morao sam dodati ISPP da bih mogao pravilno da pozovem SendMessage f-ju. Evo kôda:

Code:
#define WM_COMMAND 0x111

[Code]
var
   Res, Rek: Integer;
   FFName1, FFName2: String;
   Funct: Boolean;

procedure FileCheck(tmp: String);
begin

  FFName1 := ExpandConstant('{src}') + tmp;
  FFName2 := tmp;
  
  if FileExists(FFName1) = False then
    begin
      Res:= MsgBox('Please insert other CD/DVD media and then press OK. Press Cancel to abort installation.', mbInformation, MB_OKCancel);
      if Res = IDOK then begin FileCheck(FFName2); Rek := 1 end;
      if Res = IDCancel then SendMessage(WizardForm.Handle, {#WM_COMMAND}, 0, WizardForm.CancelButton.Handle);
    end;

  if FileExists(FFName1) = True then
    begin
      Rek := 0;
      FFName2 := '';
      Funct := True;
    end;
end;

procedure FolderCheck(tmp: String);
begin

  FFName1 := ExpandConstant('{src}') + tmp;
  FFName2 := tmp;
  
  if DirExists(FFName1) = False then
    begin
      Res:= MsgBox('Please insert other CD/DVD media and then press OK. Press Cancel to abort installation.', mbInformation, MB_OKCancel);
      if Res = IDOK then begin FolderCheck(FFName2); Rek := 1 end;
      if Res = IDCancel then SendMessage(WizardForm.Handle, {#WM_COMMAND}, 0, WizardForm.CancelButton.Handle);
    end;
      
  if DirExists(FFName1) = True then
    begin
      Rek := 0;
      FFName2 := '';
      Funct := False;
    end;
end;

function InitializeSetup(): Boolean;
begin
  Rek := 0;
  Result := True;
end;

procedure CancelButtonClick(CurPageID: Integer; var Cancel, Confirm: Boolean);
var
    tmp: Integer;
begin

    Confirm := False;

    if Rek = 0 then
      tmp:= MsgBox('Do you want exit setup?', mbInformation, MB_YESNO);
    
    if tmp = IDYES then Cancel := True;
    if tmp = IDNO then
      begin
      
        if Length(FFName2) > 0 then
          begin
            Cancel := False;
            if Funct = True then FileCheck(FFName2);
            if Funct = False then FolderCheck(FFName2);
          end;
          
        if Length(FFName2) = 0 then Cancel := False;
        
      end;
end;

I ♥ ♀

Ovaj post je zlata vrijedan!
 
Odgovor na temu

icobh
Igor Pejašinović
Network Admin
Navigo SC d.o.o.
Banja Luka

Član broj: 18738
Poruke: 1319
*.inecco.net.

Sajt: www.nsc.ba


+4 Profil

icon Re: Inno Setup Skripta - Nedostatak ili šta već...27.01.2008. u 16:22 - pre 197 meseci
Sad da malo objasnim šta sam mislio i šta sam uradio. Kontao sam napraviti setup koji neće sadržati u sebi nikakve fajlove već će jednostavno samo kopirati fajlove koje mu ja kažem. U ovoj skripti to su folder Neki_Folder_DVD1 te fajlovi Neki_File_DVD1.file i Neki_File_DVD2.file. To se postiže sa zastavicom external.

Znači, svi ovi moraju biti, tako sam ja napravio, na mjestu gdje je i ovaj setup. I sad, kad dođe do fajla Neki_File_DVD2.file, a on nije u ovom direktorijumu, tačnije DVD-u, setup traži da izbaciš ovaj prvi DVD i staviš drugi. I instalacija se nastavlja.

Uspio sam napraviti da se može i prekinuti ova instalacija ako ne uspije naći odgovarajući file ili folder. To je ono što me je mučilo.

A sad me muči progressbar. Inno izgleda proračunava progessbar vrijednosti po veličini fajlova, a kako su neki fajlovi na drugom DVD-u, oni nisu uračunati. Znači, dođe progessbar do kraja a tek treba da se kopiraju podaci sa drugog DVD-a... Ali ovo je čisto kozmetički...

I ♥ ♀

Ovaj post je zlata vrijedan!
Prikačeni fajlovi
 
Odgovor na temu

[es] :: Pascal / Delphi / Kylix :: Inno Setup Skripta - Nedostatak ili šta već...

[ Pregleda: 2330 | Odgovora: 4 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.