Aktualizacja EXE

0

Pobieram nowa wersje programu i zapisuje ja jak client.temp
potem:

Var  BAT:TextFile;
begin
 AssignFile(BAT,'aktualizacja_client.bat');
 Rewrite(BAT);
 Writeln(BAT, 'ECHO OFF');
 Writeln(BAT, 'DEL client.exe');
 Writeln(BAT, 'REN client.temp client.exe');
 Writeln(BAT, 'client.exe');
 Writeln(BAT, 'DEL aktualizacja_client.bat');
 CloseFile(BAT);
 try ShellExecute(0,'open','aktualizacja_client.bat',nil,nil,SW_HIDE);except end;
 halt;
end;

lecz BAT jest szybciej wykonany niz zamkniecie klienta, jak to powino byc rozwiazane?

0

Zrob to samo ale na osobny pliku wykonywalnym tzn. napisz sobie to samow API duzo nie masz pisania a exe malo zajmowal bedzie. Wiem ze nie jest to jakies godne rozwiazanie ale zawsze jakies.

  • Uruchamiasz prog.exe
  • zamykasz glowny program
  • prog.exe sprawdza czy dziala aplikacja jesli dziala to oczekuje lub daj oczekiwanie na klawisz ze strony usera. [green]
0

tak to ja juz zrobilem dawno temu ale chce by byl tylko jeden plik w folderq :)

a w plikach BAT nie mozna zrobic cos takiego jak Sleep() ??

0

pause

0

Tak, ale to czeka na nacisnięcie klawisza przez uzytkownika... :-/

1 użytkowników online, w tym zalogowanych: 0, gości: 1