AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Firemonkey-Anwedung aktualisieren?

Ein Thema von JensM · begonnen am 5. Feb 2020 · letzter Beitrag vom 5. Feb 2020
Antwort Antwort
JensM

Registriert seit: 26. Jan 2020
21 Beiträge
 
Delphi 10.4 Sydney
 
#1

Firemonkey-Anwedung aktualisieren?

  Alt 5. Feb 2020, 13:03
Hallo,
ich hätte da mal ne Frage. Ist es in Delphi(10.3) möglich eine Firemonkey Anwendung zu aktualisieren. Also die App soll beim öffnen nachgucken ob eine neue Version verfügbar ist .(beispielweise: Kommunikation mit einem Server). Wie könnte sowas umgesetzt werden, hätte da jemand eine Idee.

Vielen Dank im voraus
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu
Online

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.062 Beiträge
 
Delphi 12 Athens
 
#2

AW: Firemonkey-Anwedung aktualisieren?

  Alt 5. Feb 2020, 13:26
Ob FMX, VCL oder Sonstwas ist egal.

Hier in der DP hatte auch mal jemand eine Updater-Komponente bereitgestellt, welche soeine Funktion bietet.


Im Grunde:
  • gucken ob Update vorhanden
  • runterladen
  • im TempVerzeichnis eine Updater-EXE oder Batch (BAT/CMD oder Dergleichen) starten
  • das wartet nun etwas (bis siehe nachfolgend)
  • dein Programm beenden (danach kann deine EXE nun ersetzt werden)
  • Updaten
  • das Programm wieder starten
  • Updater beenden
  • eine Batch kann nicht selbst löschen (als letzen Befehl "del %0")
  • eine EXE kann sich nicht selber löschen
    • entweder bleibt die drin, bis jemand TEMP aufräumt
    • das neu gestartete Programm löscht den Updater
    • oder beim nächsten Rechnerstart löschen
      • MSDN-Library durchsuchenMoveFileEx mit MOVEFILE_DELAY_UNTIL_REBOOT
      • eine der kleinen Apps ala "delete file on boot"
      • HKLM\System\CurrentControlSet\Control\Session Manager\PendingFileRenameOperations (das nutzt MoveFileEx und hoffentlich auch die komischen kleinen Apps)
      • HKLM\SOFTWARE\Microsoft\Windows\Currentversion\Run Once (cmd del)
      • eine Batch, die die EXE löscht und dann sich selbst
      • oder oder oder

In Android und dergleichen gibt es den AppStore, welchem man auch sagen kann, dass er deine App jetzt updaten soll
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.

Geändert von himitsu ( 5. Feb 2020 um 13:31 Uhr)
  Mit Zitat antworten Zitat
philipp.hofmann

Registriert seit: 21. Mär 2012
Ort: Hannover
890 Beiträge
 
Delphi 10.4 Sydney
 
#3

AW: Firemonkey-Anwedung aktualisieren?

  Alt 5. Feb 2020, 13:31
Wichtig ist dabei noch die Verteilungsart. Je nach OS (Android/FireOS/Windows/iOS/MacOS) kannst du die Verteilung ja über die jeweiligen App-Stores machen und dann passiert dies ganz von alleine. Dies geht nur bei Linux nicht ganz so einfach.

Ich mache es daher so, dass ich die Versionsnummern (eine für die App-Version und eine für die Dokumentation) in einer kleinen XML-Datei per https herunterlade und dann mit den aktuell installierten Versionen vergleiche und dann bei neueren App-Versionen auf den jeweiligen App-Store verlinke (und im Windows-Fall die Installer-Datei herunterladen lasse, da ich dort nicht über den AppStore gehe und dann läuft es genauso wie von himitsu beschrieben). Dies dient aber nur der Sicherheit, damit ich nicht davon abhängig bin, ob der Anwender alles über den AppStore automatisch aktualisieren lässt oder nicht.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 19:11 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz