AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Textdatei-Aktualisierungen über HTTP
Thema durchsuchen
Ansicht
Themen-Optionen

Textdatei-Aktualisierungen über HTTP

Ein Thema von JDommi · begonnen am 12. Mai 2012 · letzter Beitrag vom 13. Mai 2012
Antwort Antwort
JDommi

Registriert seit: 20. Sep 2007
9 Beiträge
 
Delphi 7 Enterprise
 
#1

AW: Textdatei-Aktualisierungen über HTTP

  Alt 13. Mai 2012, 07:35
Hi Jaenicke!

Mit Hash-Werten kenne ich mich leider nicht aus. Null Ahnung. Wie funktioniert das denn? Okay, kann ich natürlich auch erstmal nachlesen
Aber bekomme ich damit nicht nur einen generellen Unterschied angezeigt? Da ich ca. 100 Texte mit jeweils unterschiedlichen Last-Modified Zeiten habe, muß ich sicherstellen, daß auch immer die aktuellste Version herauskommt.

Mit den Adminrechten unter XP hast du natürlich Recht. Aber unter Win 7 finde ich das mit diesem UAC einfach nur sch... Ich habe bei mir Adminrechte und werde standardmäßig trotzdem gefragt, ob ich etwas zulassen will. Sicherheit hin oder her. Manche Sachen nerven einfach nur. Und für alles und jedes den Weg über den Taskplaner zu gehen ist auch ziemlich nervig.

Zu Indy: Ich hatte die IdHTTPGet-Komponente nur auf meine Form gezogen, da hat das kompilierte Programm schon Adminrechte gefordert! War die Indy-Version 9.0.1.8
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.978 Beiträge
 
Delphi 12 Athens
 
#2

AW: Textdatei-Aktualisierungen über HTTP

  Alt 13. Mai 2012, 08:13
Zu Indy: Ich hatte die IdHTTPGet-Komponente nur auf meine Form gezogen, da hat das kompilierte Programm schon Adminrechte gefordert! War die Indy-Version 9.0.1.8
Dann hatte das Programm vermutlich "setup", "update" oder "patch" im Namen oder in den Versionsinformationen und kein Manifest eingebunden. Daraufhin fordert Windows 7 automatisch Adminrechte an, weil das für diese Programme in aller Regel notwendig ist.

Mit Hash-Werten kenne ich mich leider nicht aus. Null Ahnung. Wie funktioniert das denn? Okay, kann ich natürlich auch erstmal nachlesen
Aber bekomme ich damit nicht nur einen generellen Unterschied angezeigt?
Ein Hash ist eine Prüfsumme. Wenn die übereinstimmt, weißt du, dass die Datei mit sehr hoher Wahrscheinlichkeit dieselbe ist und umgekehrt. Dabei prüfst du dann tatsächlich den Dateiinhalt und nicht das nicht wirklich aussagekräftige (weil durch äußere Einflüsse veränderbare) Dateidatum.

Bei Indy gibt es dafür z.B. entsprechende Klassen. Mehr dazu findest du hier:
http://delphi.about.com/od/objectpas...i-md5-hash.htm
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
JDommi

Registriert seit: 20. Sep 2007
9 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: Textdatei-Aktualisierungen über HTTP

  Alt 13. Mai 2012, 09:08
Stimmt, im Namen ist 'Update' mit drin. Ein Manifest war zwar mit eingebunden (getestet mit asInvoker bzw. requireAdmin) hat aber nichts gebracht. Entwedr musste ich wieder bestätigen oder das Programm lief erst gar nicht.

Das mit den Hash-Werten ist dann ja eigentlich unbrauchbar für mich. Da ich ja die einzelnen Dateien nicht auf Änderungen überprüfen darf, sondern auf ihr Alter. Ansonsten könnte ja eine aktuellere Textversion durch einen verspäteten Upload durch eine alte Datei ersetzt werden.

Aber ich habe bereits eine andere Lösung parat
Ich liefere einfach eine Log-Datei mit, die die aktuellen Last-Mod-Werte beinhaltet und vergleiche diese mit der php-Variante. Diese Log-Datei wird natürlich nach jedem Check überschrieben.
Da diese Daten immer die gleiche Zeitbasis haben, brauche ich mich um die lokalen Zeiten erst gar nicht zu kümmern!

Nichts desto trotz Danke für die Hilfestellungen
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: Textdatei-Aktualisierungen über HTTP

  Alt 13. Mai 2012, 11:00
Stimmt, im Namen ist 'Update' mit drin. Ein Manifest war zwar mit eingebunden (getestet mit asInvoker bzw. requireAdmin) hat aber nichts gebracht. Entwedr musste ich wieder bestätigen oder das Programm lief erst gar nicht.
Wenn du im Manifest requireAdmin angibst ist es klar das die UAC aufgeht

Aber ich habe bereits eine andere Lösung parat
Ich liefere einfach eine Log-Datei mit, die die aktuellen Last-Mod-Werte beinhaltet und vergleiche diese mit der php-Variante. Diese Log-Datei wird natürlich nach jedem Check überschrieben.
Da diese Daten immer die gleiche Zeitbasis haben, brauche ich mich um die lokalen Zeiten erst gar nicht zu kümmern!
Eine weitere Möglichkeit wäre eine einfache Textdatei mit dem Dateinamen (oder eine ID, Hash, etc.) der aktuellsten Textversion als Inhalt. Diese wird dann vom Programm geladen, ausgelesen und die Textversion nachgeladen.
Andreas Lauß
Blog
  Mit Zitat antworten Zitat
JDommi

Registriert seit: 20. Sep 2007
9 Beiträge
 
Delphi 7 Enterprise
 
#5

AW: Textdatei-Aktualisierungen über HTTP

  Alt 13. Mai 2012, 11:17
Zitat:
Wenn du im Manifest requireAdmin angibst ist es klar das die UAC aufgeht
Bei asInvoker ist das Prog erst gar nicht gestartet...


Zitat:
Eine weitere Möglichkeit wäre eine einfache Textdatei mit dem Dateinamen (oder eine ID, Hash, etc.) der aktuellsten Textversion als Inhalt. Diese wird dann vom Programm geladen, ausgelesen und die Textversion nachgeladen.
Genau so mache ich das jetzt ja auch. Nur halt mit dem Last-Mod-Wert aus php.
  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 03:34 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz