Delphi-PRAXiS
Seite 3 von 3     123   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Programm-Update: Dateien löschen (https://www.delphipraxis.net/212293-programm-update-dateien-loeschen.html)

himitsu 23. Jan 2023 15:28

AW: Programm-Update: Dateien löschen
 
Der billige Weg, (einfache) User vom Entpacken irgendwelcher ZIPs abzuhalten, ist

nenn sie nicht ZIP :stupid:

Delphi.Narium 23. Jan 2023 16:08

AW: Programm-Update: Dateien löschen
 
Sinn einer portablen Version ist aber doch eigentlich, dass der User selbst entscheidet, wo er die Software "hinhabenwill", also eben, die Software nicht zu installieren, sondern "manuell irgendwo unterzubringen". Dazu ist halt die ZIP da, wenn man eben nicht per Setup installieren möchte.

Da hilft dann das Umbenennen der ZIP auch nicht, um das Problem mit dem Entfernen obsolet gewordenen Dateien zu lösen.

generic 23. Jan 2023 21:11

AW: Programm-Update: Dateien löschen
 
Generell würde ich Software IMMER als MSI verteilen.

Unabhängig davon, kannst du CreateFile auch Parameter mitgeben, welche eine Datei automatisch löschen, wenn alle Dateizeiger drauf geschlossen wurden.
"FILE_FLAG_DELETE_ON_CLOSE"

Also Ausführungsprogramm ins %temp% kopieren mit CreateFile(mit FILE_FLAG_DELETE_ON_CLOSE), dann Starten und dann ursprüngliches Programm beenden.

haentschman 24. Jan 2023 06:02

AW: Programm-Update: Dateien löschen
 
Moin...8-)
Zitat:

Sinn einer portablen Version ist aber doch eigentlich, dass der User selbst entscheidet, wo er die Software "hinhabenwill", also eben, die Software nicht zu installieren, sondern "manuell irgendwo unterzubringen". Dazu ist halt die ZIP da, wenn man eben nicht per Setup installieren möchte.
:gruebel: Bei welchem (normalem) Setup kann man nicht den Pfad festlegen? Setup ist doch kopieren + die Deinstallieren / Setup Einträge erstellen...Kann man dem Innosetup beibringen, das er nicht die Einträge für das Deinstallieren etc. erzeugen soll sondern nur kopieren?

Sinspin 24. Jan 2023 06:54

AW: Programm-Update: Dateien löschen
 
Zitat:

Zitat von generic (Beitrag 1517766)
Generell würde ich Software IMMER als MSI verteilen.

Zitat:

Zitat von haentschman (Beitrag 1517769)
:gruebel: Bei welchem (normalem) Setup kann man nicht den Pfad festlegen? Setup ist doch kopieren + die Deinstallieren / Setup Einträge erstellen...Kann man dem Innosetup beibringen, das er nicht die Einträge für das Deinstallieren etc. erzeugen soll sondern nur kopieren?

Der MSI Installer schreibt Müll ins System. Andere Installer vermutlich auch. Zudem braucht man Admin Rechte um was zu installieren.

Portable Versionen brauchen keine Admin Rechte und schreiben auch nichts einfach irgendwo ungefragt hin.
Die Leben in ihrem Verzeichnis, zum Beispiel auf einem externen Datenträger. Und laufen auf jedem Rechner wo man sie haben will.

Außerdem, es ist oft hilfreich wenn man einen Thread vom Anfang ließt. Es geht hier nicht ansatzweise Sinnfälligkeit / -losigkeit von Installern. Sondern nur um die Lösung des im ersten Post beschriebenen Problems!

KodeZwerg 24. Jan 2023 10:02

AW: Programm-Update: Dateien löschen
 
Na dann Entwickle doch ein kleines Tools was durch deine Verzeichnis-Struktur wandert, jede Datei in einer Liste aufnimmt und mit einer internen Liste abgleicht, alles was nicht reingehört zur jetzigen Version Liste auf (vielleicht mit einer CheckBox pro Eintrag) und habe einen "Entfernen" Button der ggf sich Admin-Rechte einholt um diese Dateien zu löschen. Innerhalb Nemp kannst Du das ja ggf. als Menu Punkt integrieren, sowas wie "Integritätscheck" o.ä....
Somit liegt es beim User, ob oder ob nicht... das sollte dann nicht mehr Deine Sorge sein.
(und dein eigentliches Nemp braucht nicht stets und ständig nach irgendwas suchen...)

CCRDude 24. Jan 2023 13:47

AW: Programm-Update: Dateien löschen
 
Zitat:

Zitat von haentschman (Beitrag 1517769)
Kann man dem Innosetup beibringen, das er nicht die Einträge für das Deinstallieren etc. erzeugen soll sondern nur kopieren?

Logo, verwende ich regelmässig für kleine nachgeladene Updates.

Code:
[Setup]
Uninstallable=false

Gausi 10. Apr 2023 10:25

AW: Programm-Update: Dateien löschen
 
Liste der Anhänge anzeigen (Anzahl: 1)
Um das Thema nicht so in der Luft hängen zu lassen: Nach einigem hin und her (und einer längeren Programmier-Pause) habe ich nun einen Dialog halbwegs fertig, der bei Bedarf beim ersten Start angezeigt wird und über das Problem informiert. Bei der Anzeige des Dialogs wird ein Ini-Eintrag "LastUpdateCleaningCheck" passend gesetzt, der dann als einziger bei den folgenden Programmstarts getestet wird, damit der Dialog nicht jedes Mal angezeigt wird.
Nach erfolgreichem Löschen aller Dateien und Verzeichnisse (bzw. wenn keine da sind) wird zusätzlich ein Eintrag "LastUpdateCleaningSuccess" gesetzt. Über diesen wird gesteuert, ob im Menü ein Eintrag zum Aufräumen des letzten Updates angezeigt wird oder nicht.

Das sollte so passen. Falls das automatische löschen nicht klappt, soll der User in die Hilfe gucken. Da steht dann u.a. was von Admin-Rechten und nicht-leeren Verzeichnissen.


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:50 Uhr.
Seite 3 von 3     123   

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