Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Updater für eigenes Programm (https://www.delphipraxis.net/92705-updater-fuer-eigenes-programm.html)

napsterxx 24. Mai 2007 17:39


Updater für eigenes Programm
 
Der Titel sollte eigentlich eindeutig sein. Ich möchte einen kleinen Updater für mein eigenes Programm coden. Mein Programm soll beim start des Programms suchen ob auf dem FTP Server eine bestimmte Datei xy vorhanden ist.
Ist sie vorhanden (die Datei auf dem Server) soll sie runtergeladen werden, mein Programm öffnet ein anderes Programm, dieses ersetzt die alte mit der neuen *.exe. Kling vielleicht blöd wills aber gerne so machen.

Ist die Datei nicht vorhanden, einfach im Quelltext weitermachen.


Mein Problem:
Wie suche ich mit Indy FTP nach einer Datei auf dem Sever

scrat1979 24. Mai 2007 17:45

Re: Updater für eigenes Programm
 
Hallo Napsterxx,

mache es doch folgendermaßen: Lege auf dem Server eine Datei an, die garantiert existiert (z.B. myprog.txt). In dieser kannst Du alles mögliche speichern (z.B. auch Version, Erscheinungsdatum, Neue Features und einen Dateinamen). Lade diese DAtei mit Deinem Programm beim Updatecheck herunter und gleiche die Version mit der aktuell installierten Version ab. Hier könntest Du auch die anderen Daten aus der Textdatei wie Neuigkeiten, Releasedatum, Bugfixes etc. anzeigen, was ich ganz schön finde. Dann lese - falls eine neue Version entdeckt wurde - den Dateinamen innerhalb der Textdatei aus und lade diese dann vom Server. Der Dateiname kann ja in zukünftigen Versionen gleich bleiben, da Du den Versionscheck ja dann nicht anhand der Existenz von setup_1_04.exe o.ä. prüfst, sondern eben aus der IMMER existierenden myprog.txt...

Grüße,
SCRaT

Klaus01 24. Mai 2007 17:48

Re: Updater für eigenes Programm
 
Nun, wie jede FTP Komponetet hat auch die Indy Komponente die
Funktion list, diese gibt Dir eine Liste aller Dateien
eines Verzeichnisses aus.
Diese Liste kannst Du dann durchsuchen.
Oder Du versuchst die Datei direkt anzusprechen, mit get,
wenn sie da ist wird sie geladen, wenn nicht ist kein Update
verfügbar.

Grüße
Klaus

Andreas L. 24. Mai 2007 18:03

Re: Updater für eigenes Programm
 
Achtung: Wenn es kein öffentlicher FTP-Server ist brauchst du natürlich ein Passwort um dich einzuloggen. Dies kann man dann mit einen Hex-Editor ganz einfach aus der Exe auslesen!

EDIT: Aggressiv sollte es nicht sein... :cry:

Jelly 24. Mai 2007 18:09

Re: Updater für eigenes Programm
 
Geht das noch aufdringlicher, Andreas. Du machst ja, als ob dann um die Ecke ne Bombe hochgehen würde... Gestalte deinen Beitrag bitte etwas weniger agressiv, auch wenn Du vom Prinzip her Recht haben mögest.

napsterxx 24. Mai 2007 18:23

Re: Updater für eigenes Programm
 
Ich protecte meine EXE einfach mit Themida^^

gsh 24. Mai 2007 18:41

Re: Updater für eigenes Programm
 
Zitat:

Zitat von napsterxx
Ich protecte meine EXE einfach mit Themida^^

was immer des auch sein es bringt dir GAR NICHTS

weil sobald du eine verbindung zum ftp server aufbaust snief ich mir das passwort raus :mrgreen:
(mit einem sniffer)

Torpedo 24. Mai 2007 18:43

Re: Updater für eigenes Programm
 
Mach es doch über HTTP. Sollte genau so, wenn nicht sogar einfacher, gehen und ist sicher.

supermuckl 24. Mai 2007 18:50

Re: Updater für eigenes Programm
 
so ein update system hab ich für meinen miniAdmin2 gemacht.

auf dem webserver siehts so aus: http://www.miniadmin2.de/miniadmin2/autoupdate/

ist selbsterklärend :)

napsterxx 24. Mai 2007 18:58

Re: Updater für eigenes Programm
 
@gsh Wenn du das machst haste innerhalb von 3 Tagen eine Anzeige
Ja also ich hab aber meine Festplatte zum FTP-Server mit .htaccess gemacht. Mit IdHttp müsste ich irgendwie Login Daten angeben. Geht das denn?


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:26 Uhr.
Seite 1 von 3  1 23      

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