Autor Beitrag
Aragon
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 21.08.11 09:12 
Hallo,
suche jetzt schon seit einer Woche im Netz, finde aber keine passende Anwort.
Per FtpWebRequest lade ich Dateien auf einen Server hoch, ich kann die Größe,Zeit,Type auslesen mit
WebRequestMethods.Ftp.ListDirectoryDetails;
Jetzt habe ich das Problem das ich prüfen muss ob die Dateien die am Server liegen auch die gleiche Versionsnummer haben wie die Versionsnummer in meiner Datenbank.
Ich möchte aber nicht jede einzelne Datei auf den Computer downloaden um die Version festzustellen.
Kann mir einer helfen die Versionsnummer einer Datei die am Server liegt festzustellen?


Moderiert von user profile iconChristian S.: Topic aus Sonstiges (.NET) verschoben am So 21.08.2011 um 11:41
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 21.08.11 11:40 
Wie ist denn die Versionsnummer hinterlegt?

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Aragon Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 21.08.11 12:15 
Die Datei die am Server liegt hat diese Informationen normal in den Eigenschaften/Details/ in den Dateiversion und Produktversion beinhaltet.
diese Dateiversion kann ich am pc mit

FileVersionInfo Version = FileVersionInfo.GetVersionInfo(DateiPfad);
VersionNeu = Version.FileVersion;

auslesen und jetzt möchte ich gerne das mit der Datei die am Server liegt vergleichen, d.h. ich muß die Versionsnummer der Datei die am Server liegt auslesen können was mir nicht gelingt ohne die Datei zu downloaden
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 21.08.11 14:02 
Das steht ja auch nur in den Daten in der Datei drin, da geht das eben nicht anders.

Deshalb hinterlege die Version doch einfach in einer anderen Datei oder Datenbank und frage sie dort ab, z.B. auch über ein Skript auf dem Server. ;-)
Aragon Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 21.08.11 15:13 
Hallo, thx für die schnellen Antworten,
beim hochladen der Datei schreib ich die Versionsnummer in eine Datenbank, das hat ja bis jetzt immer geklappt und ich habe die Versionsnummer über DB wieder abgefragt.
Leider wenn sich ein Fehler einschleicht stimmt der ganze Ablauf nicht mehr, wenn ich falsche Informationen ablese.
Auch wenn ich die versionsnummer in eine Datei ablege hat sie mit dem Original der Versionsnummer nichts am Hut.
Wenn (ist leider schon passiert) die Datei aus einem dringenden Grund per FTP oder sonst wie ersetzt werden muss, stimmt die Versionsnummer in der DB und Datei nicht mehr.
Gibt es denn keine Möglichkeit von der Originaldatei die am Server liegt die Versionsnummer abzufragen ?
Das ist mein Problem das ich versuche zu lösen
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19272
Erhaltene Danke: 1740

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: So 21.08.11 15:46 
Dafür brauchst du aber die Daten aus der Datei, du musst diese also zumindest teilweise herunterladen...

Oder du schreibst dir eine Funktion, die die Auswertung serverseitig macht und zurückgibt.

Aber wenn die Daten eben in der Datei sind, kommst du ohne die Dateidaten auch nicht weiter. :nixweiss:
Aragon Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 21.08.11 16:16 
vielleicht drücke ich mich falsch aus, ich habe die Versionsnummer nicht in der Datei als Text stehen.
So wie in jeder anderen Datei auch, in den Eigenschaften der Datei wo auch Typ,Dateiversion,Produktname,Copyright,Größe,Sprache usw. drin steht.
Auf der Festplatte ist es ja ein einfacher Befehl die Versionsnummer auszulesen aus den Eigenschaften der Datei,
meine Frage gibt es auch eine Möglichkeit die Versionsnummer aus den Eigenschaften einer einer Datei die am Server liegt auszulesen?
Aragon Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 21.08.11 16:19 
Mein Problem wenn ich 200 Dateien auf Version prüfen will, will ich mir nicht 200 Dateien herunterladen nur um die Versionsnummer zu prüfen ob diese mit meiner DB noch übereinstimmen
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: So 21.08.11 16:22 
Eigenschaften wie Dateiversion etc. stehen aber in der Datei (IIRC im Resourcen-Abschnitt), die sind nicht Teil des Dateisystems. So hat ja z.B. eine simple Textdatei keine von diesen Eigenschaften.

Eine Möglichkeit wäre, auf dem Server einen Dienst laufen zu lassen, der diese Eigenschaften ausliest und dem Client mitteilt.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
Aragon Threadstarter
Hält's aus hier
Beiträge: 8



BeitragVerfasst: So 21.08.11 16:40 
Danke für die Antwort,
deswegen finde ich im Netz auch nichts.
Ich kann also nicht von einer exe Datei die am Server liegt die Versionsnummer auslesen, ohne die Datei zu downloaden und dann die Versionsnummer auszulesen.