AGB  ·  Datenschutz  ·  Impressum  







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

Programm-Update: Dateien löschen

Ein Thema von Gausi · begonnen am 21. Jan 2023 · letzter Beitrag vom 10. Apr 2023
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#1

Programm-Update: Dateien löschen

  Alt 21. Jan 2023, 10:00
Ich stehe vor der etwas blöden Situation, dass beim nächsten Update meines Players (ist noch ne ganze Weile hin, aber der problematische Teil in dem Kontext ist fast fertig) ein paar Dateien überflüssig werden. Die sollen dann weg. Problem ist, dass ich einerseits eine Setup.exe habe (da kann ich ja bei InnoSetup beim Installieren eine Liste von Dateien angeben, die ggf. vorher gelöscht werden sollen), aber auch ein einfaches Zip-Archiv zum entpacken und loslegen (portable Software, ohne Installation). Wenn der User da einfach das neue Archiv in das vorhandene entpackt, bleiben die alten Dateien natürlich erhalten.

Ich sehe da irgendwie keine wirklich schöne Lösung.
  • Vorhandene Dateien durch Dummy-Dateien überschreiben (z.B. Bilder mit 1x1 Pixel, PDF mit "Outdated" als Inhalt) ist blöd - dann schleppe ich ständig Datenmüll auch im Zip/Setup mit.
  • Vorhandene Dateien im Setup löschen lassen (und in der Zip-variante einfach beibehalten), ist blöd, weil einige Infos dann veraltet und verwirrend sind (z.B. eine überflüssig gewordene veraltete PDF)
  • Oder ist hier das "Best practice", dem Zip-Anwender auf die Komplikationen hinzuweisen und ihm erklären, dass er einen bestimmten Ordner im Programm-Verzeichnis vor dem Upgrade löschen sollte? Und im Code die Verwendung der Dateien so anpassen, dass die alten Dateien den Programmablauf nicht stören können, falls sie doch da sind? Aber liest der normale Anwender sowas?
Wie macht ihr das?
The angels have the phone box.
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.434 Beiträge
 
Delphi 7 Professional
 
#2

AW: Programm-Update: Dateien löschen

  Alt 21. Jan 2023, 11:13
Du könntest eventuell eine Batchdatei mit ins ZIP packen, die alle Aufräumarbeiten durchführt und sich dann am Ende selbst löscht. Dein Programm müsste dann prüfen, ob die Batchdatei vorhanden ist. Wenn ja, wird sie ausgeführt. Dies führt dazu, dass beim ersten Programmstart einmal aufgeräumt wird.

Nachteil: Es wird quasi auf Ewig (bei jedem Programmstart) geprüft, ob die Batchdatei vorhanden ist.
  Mit Zitat antworten Zitat
H.Bothur

Registriert seit: 25. Jun 2012
Ort: Seevetal & Lagos
252 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: Programm-Update: Dateien löschen

  Alt 21. Jan 2023, 12:27
Du könntest eventuell eine Batchdatei mit ins ZIP packen, die alle Aufräumarbeiten durchführt und sich dann am Ende selbst löscht. Dein Programm müsste dann prüfen, ob die Batchdatei vorhanden ist. Wenn ja, wird sie ausgeführt. Dies führt dazu, dass beim ersten Programmstart einmal aufgeräumt wird.

Nachteil: Es wird quasi auf Ewig (bei jedem Programmstart) geprüft, ob die Batchdatei vorhanden ist.
Wobei man den Nachteil ja beseitigen kann wenn er in der Ini-Datei / Registry ein "Dateien bereits gelöscht" führt.

Hans
Hans-Georg Bothur
www.hermann-juergensen.de
  Mit Zitat antworten Zitat
Delphi.Narium

Registriert seit: 27. Nov 2017
2.434 Beiträge
 
Delphi 7 Professional
 
#4

AW: Programm-Update: Dateien löschen

  Alt 21. Jan 2023, 12:47
Du könntest eventuell eine Batchdatei mit ins ZIP packen, die alle Aufräumarbeiten durchführt und sich dann am Ende selbst löscht. Dein Programm müsste dann prüfen, ob die Batchdatei vorhanden ist. Wenn ja, wird sie ausgeführt. Dies führt dazu, dass beim ersten Programmstart einmal aufgeräumt wird.

Nachteil: Es wird quasi auf Ewig (bei jedem Programmstart) geprüft, ob die Batchdatei vorhanden ist.
Wobei man den Nachteil ja beseitigen kann wenn er in der Ini-Datei / Registry ein "Dateien bereits gelöscht" führt.

Hans
Ja, das schon, aber es bleibt für eine einmalige Aufgabe eine dauerhafte Prüfung erforderlich, ob die einmalige Aufgabe erledigt wurde.

Sinnvoller wäre eine Lösung, die automatisch einmalig ausgeführt wird und anschließend auch keine Prüfung mehr erfordert, ob sie nun ausgeführt wurde oder nicht.
  Mit Zitat antworten Zitat
TUhr

Registriert seit: 25. Sep 2021
17 Beiträge
 
#5

AW: Programm-Update: Dateien löschen

  Alt 21. Jan 2023, 15:57
Hallo,

warum löschst Du die nicht beim Starten der neuen Software ?

MfG
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: Programm-Update: Dateien löschen

  Alt 21. Jan 2023, 16:44
warum löschst Du die nicht beim Starten der neuen Software ?
Das ist ja auch der Vorschlag von Delphi.Narium. Um ehrlich zu sein: auf diesen offensichtlichen Ansatz bin ich nicht gekommen, um dieses Problem für die Zip-Variante zu lösen.
Beim Installer fällt das jedoch auch wieder raus - denn wenn der Player nach c:\Programme\ installiert wird, dann kann man da nachträglich nichts mehr löschen (zumindest nicht ohne weiteres). Und natürlich hat man dann dauerhaft die Abfrage drin, ob das noch getan werden muss - aber ein Value aus der Ini-Datei zusätzlich auswerten sollte den Start nicht verzögern.

D.h. es wird wohl eine Kombination aus "Installer räumt beim Installieren auf" und "exe aus der Zip räumt beim ersten Start auf". Ob letzteres ne Batchdatei wird, oder eine kleine eincompilierte Stringlist, deren Einträge in einer Schleife gelöscht werden, muss ich nochmal schauen.

Falls noch jemand andere Vorschläge hat - immer her damit.
The angels have the phone box.
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.690 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: Programm-Update: Dateien löschen

  Alt 22. Jan 2023, 22:43
Ich stehe vor der etwas blöden Situation, dass beim nächsten Update meines Players (ist noch ne ganze Weile hin, aber der problematische Teil in dem Kontext ist fast fertig) ein paar Dateien überflüssig werden. Die sollen dann weg. Problem ist, dass ich einerseits eine Setup.exe habe (da kann ich ja bei InnoSetup beim Installieren eine Liste von Dateien angeben, die ggf. vorher gelöscht werden sollen), aber auch ein einfaches Zip-Archiv zum entpacken und loslegen (portable Software, ohne Installation). Wenn der User da einfach das neue Archiv in das vorhandene entpackt, bleiben die alten Dateien natürlich erhalten.

Ich sehe da irgendwie keine wirklich schöne Lösung.
  • Vorhandene Dateien durch Dummy-Dateien überschreiben (z.B. Bilder mit 1x1 Pixel, PDF mit "Outdated" als Inhalt) ist blöd - dann schleppe ich ständig Datenmüll auch im Zip/Setup mit.
  • Vorhandene Dateien im Setup löschen lassen (und in der Zip-variante einfach beibehalten), ist blöd, weil einige Infos dann veraltet und verwirrend sind (z.B. eine überflüssig gewordene veraltete PDF)
  • Oder ist hier das "Best practice", dem Zip-Anwender auf die Komplikationen hinzuweisen und ihm erklären, dass er einen bestimmten Ordner im Programm-Verzeichnis vor dem Upgrade löschen sollte? Und im Code die Verwendung der Dateien so anpassen, dass die alten Dateien den Programmablauf nicht stören können, falls sie doch da sind? Aber liest der normale Anwender sowas?
Wie macht ihr das?
1.
RarSfx Technik o.ä. zum Einsatz kommen lassen. (da kannst du befehle integrieren, ähnlich einem Setup.exe Programm)
Also RarSfx entpackt nach \xyz\ dein(e) archiv(e), auch eine "cleanup.bat", die .bat über RarSfx ausführen lassen, die .bat löscht alles was Du angibst, RarSfx löscht nach Abschluss die .bat.

oder

2.
Normales Archivformat (.zip/.7z/.rar/whatever) anbieten und User mitteilen das sie im Vorfeld den Verzeichniss Inhalt manuell löschen müssen.
(ich bin kein "Nemp" user, von daher weiß ich nicht ob du Konfigurations Dateien erstellst oder andere arten von Dateien... eventuell für so etwas ein backup&restore tool mit anbieten, du solltest dich ja in deiner Verzeichnis Struktur gut auskennen und wissen was von dir kommt und was user selbst erstellt haben...)

Wäre das eine Möglichkeit?
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von Jasocul
Jasocul

Registriert seit: 22. Sep 2004
Ort: Delmenhorst
1.343 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Programm-Update: Dateien löschen

  Alt 23. Jan 2023, 06:21
Für die Version mit dem regulärem Setup hast du bereits eine Lösung. Es geht also nur noch um die zip-Variante.
Anwendern, die diese verwenden, kann man eine gewisse Verantwortung übertragen. Mache eine passende Readme-Datei und ein Batchprogramm. Dann können die Anwender selbst entscheiden, wann aufgeräumt wird.
Peter
  Mit Zitat antworten Zitat
Benutzerbild von Sinspin
Sinspin

Registriert seit: 15. Sep 2008
Ort: Dubai
627 Beiträge
 
Delphi 10.3 Rio
 
#9

AW: Programm-Update: Dateien löschen

  Alt 23. Jan 2023, 08:20
Es geht also nur noch um die zip-Variante.
Anwendern, die diese verwenden, kann man eine gewisse Verantwortung übertragen. Mache eine passende Readme-Datei und ein Batchprogramm. Dann können die Anwender selbst entscheiden, wann aufgeräumt wird.
Was anderes würde ich für eine portable Version auch nicht haben wollen. Deswegen verwende ich ja nicht das Setup was sich erlaubt irgendwelche geheimen Sachen auf meiner Platte anzustellen.
Stefan
Nur die Besten sterben jung
A constant is a constant until it change.

Geändert von Sinspin (23. Jan 2023 um 08:22 Uhr) Grund: zuviel schnipp-schnapp
  Mit Zitat antworten Zitat
Benutzerbild von Gausi
Gausi

Registriert seit: 17. Jul 2005
847 Beiträge
 
Delphi 11 Alexandria
 
#10

AW: Programm-Update: Dateien löschen

  Alt 23. Jan 2023, 10:09
Was anderes würde ich für eine portable Version auch nicht haben wollen. Deswegen verwende ich ja nicht das Setup was sich erlaubt irgendwelche geheimen Sachen auf meiner Platte anzustellen.
Da geht es mir ähnlich, deswegen stehe ich Vorschlägen wie der RarSfx-Idee auch eher kritisch gegenüber, auch wenn so ein "Setup light" durchaus interessant klingt.

So ganz ohne Automatismus möchte ich das aber auch nicht machen. Neulich hatte ich z.B. den Fall, dass jemand das Zipfile (das auch eine Datei enthält, die dafür sorgt, dass Einstellungen im Programmverzeichnis gespeichert werden sollen) unter c:\Programme entpackt hat, was dann dazu führte, dass keine Einstellungen und Daten gespeichert werden. Man sollte also nie die Fähigkeiten der User unterschätzen, etwas Unerwartetes zu tun.

Ich denke, ein Hinweis-Fenster beim ersten Start der neuen Version, das auf das Problem hinweist, ist ein guter Kompromiss zwischen "Kontrolle über die portable Version" und "Komfort". Wenn der User die Meldung wegklickt, bleibt der Hinweis ggf. an entsprechender Stelle im Einstellungsdialog erhalten, verbunden mit einem Button "Jetzt aufräumen", um das nachzuholen.

Ich bin nebenbei gesagt positiv überrascht über die zahlreichen Antworten. Hätte nicht gedacht, dass es dazu so viele Meldungen gibt.
The angels have the phone box.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 16:15 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