Sign in Join
Wiki copytemporary

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.

Revision 3, last changed by WikiArchive .

Edited on wiki.freepascal.org by 2 people, 2022

From the official wiki's backup of 26 May 2024: who edited this page there, and when. Edits made there after that date were not recorded, and the earlier versions are not shown here; the main page says why.

WhenWhoWhat changed
SlawekKopia wersji en
SlawekSummary: tłumaczenie na j. polski, dodana ikona
SlawekSummary: tytuł (minor)
SlawekDownload: tłumaczenie na j. polski
SlawekInstallation: tłumaczenie na j. polski
SlawekExample application: tłumaczenie na j. polski
SlawekPrzykładowa aplikacja: lepsze tłumaczenie? (minor)
SlawekInternationalisation: tłumaczenie na j. polski
SlawekUse: tłumaczenie na j. polski
SlawekWiększa kontrola: usunięcie tekstu en (minor)
FTurtleAdded page template. Deleted English category.
SlawekSupport: tłumaczenie na j. polski
SlawekLicense: tłumaczenie na j. polski
SlawekDeploying your Application with LazAutoUpdate: tłumaczenie na j. polski
SlawekUsing auOtherSourceFilename and auOtherSourceURL: tłumaczenie na j. polski
SlawekLazAutoUpdate Systray Application: tłumaczenie na j. polski
SlawekMaking a generic online installer/updater: tłumaczenie na j. polski
SlawekPublic Methods List: tłumaczenie na j. polski
SlawekNon-published Properties list: tłumaczenie na j. polski
SlawekDeploying multiple updates in a single project: tłumaczenie na j. polski
SlawekLista właściwości niepublikowanych: średnik (minor)
SlawekIn case the download takes to long: tłumaczenie na j. polski
SlawekVersions.ini: tłumaczenie na j. polski
SlawekSource Code and latest versions: tłumaczenie na j. polski
SlawekSecurity: tłumaczenie na j. polski
SlawekWorkflow: tłumaczenie na j. polski
SlawekLista metod publicznych: średnik (minor)

Talk about this page

Nobody has opened a bench for this page yet. Sign in to open one.