Kopia wikimirror

To jest mirror wiki z pascal.chat. Edycja, historia i logowanie są tam.

LazAutoUpdater/pl

English · Polski · Русский

Streszczenie


Pobieranie


Instalacja


Przykładowa aplikacja


Umiędzynarodowienie


Użycie

(Uwaga! Jeśli tego nie zrobisz komponent może wygenerować błąd)

pascal
LazAutoUpdate1.AutoUpdate;
pascal
If LazAutoUpdate1.DownloadInProgress Then
  Begin
  CanClose := False;
  ShowMessage('Proszę czekać. Pobieranie aktualizacji nadal jest w toku.');
  End;
pascal
LazAutoUpdate1.ShowWhatsNewIfAvailable;

Większa kontrola

pascal
If LazAutoUpdate1.NewVersionAvailable Then
      MessageDlg(Application.Title, 'Dostępna jest nowa wersja ' + Application.Title + LineEnding +
        'Kliknij ''Sprawdź nową wersję'' w menu Pomoc aby ją zaktualizować', mtConfirmation,
        [mbOK], 0);
pascal
If LazAutoUpdate1.NewVersionAvailable then ..... else ...
pascal
If LazAutoUpdate1.DownloadNewVersion then ..... else ...
pascal
If LazAutoUpdate1.UpdateToNewVersion then ..... else ...

Debugowanie

pascal
LazAutoUpdate1.DebugMode:=TRUE;

wówczas możesz użyć wbudowanej metody OnDebugEvent do rejestrowania aktywności:

pascal
procedure TForm1.LazAutoUpdate1DebugEvent(Sender: TObject; lauMethodName,
      lauMessage: string);
begin
// Użyj TEventLog
   Logger.Info('('+lauMethodName+') - ' + lauMessage);
end;

Są tu też dostępne zdarzenia: OnDownloaded i OnNewVersionAvailable oraz właściwość LastError z informacjami, które można wykorzystać do debugowania.


Wsparcie


Licencja


Wdrażanie aplikacji za pomocą LazAutoUpdate


Korzystanie z auOtherSourceFilename i auOtherSourceURL


Aplikacja LazAutoUpdate w zasobniku systemowym tray


Tworzenie ogólnego instalatora/aktualizatora online

pascal
procedure TForm1.Button1Click(Sender: TObject);
// Uses SysUtils,LazFileUtils,ulazautoupdate itp.
Var sDirectoryToInstallTo: string;
begin
sDirectoryToInstallTo := ProgramDirectory + 'installed';
Application.Title:='My whizzy app'
LazAutoUpdate1.WorkingMode := lauInstall;
LazAutoUpdate1.ProjectType := auSourceForge;
LazAutoUpdate1.SFProjectname:='mywizzy';
LazAutoUpdate1.VersionsININame:='mywizzyapp.ini';
LazAutoUpdate1.ZipfileName:='mywizzyapp.zip';
LazAutoUpdate1.AppFileWithPath := sDirectoryToInstallTo + DirectorySeparator + 'mywizzyapp.exe';
// Odpowiada za stworzenie folderu
if not DirectoryExistsUTF8(sDirectoryToInstallTo) then ForceDirectoriesUTF8(sDirectoryToInstallTo);
LazAutoUpdate1.Appversion:='0.0.0.0';
If LazAutoUpdate1.DownloadNewVersion then
  begin
    If LazAutoUpdate1.UpdateToNewVersion then
    begin
      LazAutoUpdate1.ShortCut.Category := scUtility;
      LazAutoUpdate1.ShortCut.Target := LazAutoUpdate1.AppFileWithPath;
      LazAutoUpdate1.ShortCut.ShortcutName := Application.Title;
      LazAutoUpdate1.MakeShortCut; // tworzy skrót na pulpicie i wpis w menu Start w systemie Windows
    end;
  end;
end;
pascal
// Uses asyncprocess
procedure TForm1.RunInstalledApp;
var
  AProcess: TAsyncProcess;
begin
  if not FileExistsUTF8(LazAutoUpdate1.AppFileWithPath) then
  begin
    ShowMessageFmt('Aplikacja %s nie istnieje! Najpierw ją zainstaluj.',
      [LazAutoUpdate1.AppFileWithPath]);
    Exit;
  end;
  AProcess := TAsyncProcess.Create(nil);
  try
    AProcess.Executable := LazAutoUpdate1.AppFileWithPath;
    AProcess.Execute;
  finally
    Aprocess.Free;
  end;
end;

Lista metod publicznych


Lista właściwości niepublikowanych


Wdrażanie wielu aktualizacji w jednym projekcie


W przypadku, gdy pobieranie trwa zbyt długo


Versions.ini

Format jest następujący:

text
;LazAutoUpdate versions file
[versions]
GUI=0.0.2

Kod źródłowy i najnowsze wersje


Bezpieczeństwo

Windows 10

Linux


Przepływ pracy

(Wyjaśnienia techniczne)

Przepływ pracy Lazarus Auto-Updater do aktualizacji uruchomionej aplikacji wygląda następująco:

To co widzi użytkownik:


Minesadorada


From the Free Pascal wiki, page "LazAutoUpdater/pl", as it stood on 2022-01-07 after a change by Slawek, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's Licensing page. If you have concerns about this material, message the admin.

Wersja 3, ostatnia zmiana: WikiArchive, .