Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Wie zusätzliche Dateien (Bilder, Dokumente..) für die App ausliefern? (https://www.delphipraxis.net/187034-wie-zusaetzliche-dateien-bilder-dokumente-fuer-die-app-ausliefern.html)

bra 22. Okt 2015 09:36

Wie zusätzliche Dateien (Bilder, Dokumente..) für die App ausliefern?
 
Ich habe gerade eine Diskussion mit den Embarcadero-Leuten im QC (https://quality.embarcadero.com/browse/RSP-12630) und frage mich, ob hier ein Verständnis-Fehler bei mir oder bei denen vorliegt.

Wir liefern in unserer App zusätzlich ein paar Bilder und Dokumente (Hilfe- und Fehlerdateien) mit aus. Die Dateien sind im Deployment Manager hinterlegt. Soweit so gut, das funktioniert erstmal.

Jetzt ist aber das Problem, dass diese Dateien bei einem Update nicht überschrieben werden, obwohl im Deployment Manager "overwrite" gesetzt ist (Standard). Laut EMB ist das wohl "by Design", meiner Meinung nach ist es ein Bug. Ich habe jetzt die System.StartUpCopy.pas so angepasst, dass bei Bedarf die Dateien auch überschrieben werden, aber das kann ja nicht der Weisheit letzter Schuss sein.

Jetzt die Frage: Wie liefert ihr zusätzliche Dateien in einer App aus, also z.B. Bilder oder Hilfe-Dateien, die bei Bedarf in einer neuen Version auch aktualisiert werden sollen?

Sir Rufo 22. Okt 2015 13:42

AW: Wie zusätzliche Dateien (Bilder, Dokumente..) für die App ausliefern?
 
Problematisch an der Emba-Umsetzung ist ja, dass diese Kopieraktion bei jedem Start der Anwendung erfolgt.

Genau das sollte aber auch nicht passieren, bzw. ist auch nicht im Sinne der Programmierer: Ein ständiges Umkopieren von großen Dateien würde den Start der Anwendung nämlich noch langsamer machen.

Richtiger wäre eine Unterscheidung nach einer Installation/Update und dem normalen Anwendungsstart. Das könnte man z.B. durch die Übertragung einer Dummy-Datei erreichen. Ist diese vorhanden, dann wird ohne wenn und aber kopiert (und danach diese Dummy-Datei gelöscht), ansonsten wird eben nicht kopiert ... bzw. der Vorgang könnte komplett übergangen werden.

Sir Rufo 22. Okt 2015 14:44

AW: Wie zusätzliche Dateien (Bilder, Dokumente..) für die App ausliefern?
 
Andererseits landen die Dateien definitiv auf dem Device, so dass man sich die immer holen und kopieren kann, sonst würde StartUpCopy überhaupt nicht funktionieren ;)

bra 22. Okt 2015 15:34

AW: Wie zusätzliche Dateien (Bilder, Dokumente..) für die App ausliefern?
 
Ich mache es jetzt halt so wie in http://qc.embarcadero.com/wc/qcmain.aspx?d=125481 von Xavier Dufaure de Citres vorgeschlagen, dass ich in unsere DB die Version speichere und beim Starten prüfe, ob sich die Version geändert hat. Wenn ja, wird unser modifiziertes StartupCopy aufgerufen und die Dateien umkopiert. Wenn sich die Version nicht geändert hat, wird nix umkopiert.
Das führt bei der Installation zwar dazu, dass die Dateien zweimal kopiert werden, aber damit kann ich leben, mir gefällt halt nur nicht das Überschreiben der System-Datei, zumal das aufgrund diverser Bugs im Delphi auch immer mehr werden :roll:

Unter Android holt er sich die Dateien ja scheinbar aus der APK, die in einem Extra Verzeichnis rumfliegt, ich vermute bei iOS ist das ähnlich.


Alle Zeitangaben in WEZ +1. Es ist jetzt 23:42 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