![]() |
Datei nicht gefunden Meldung
...diesmal steh ich auf dem Schlauch. :(
- in meiner Software habe ich ein Onlineupdate integriert. - das Programm incl. Update ist auf mehreren verschiedenen Rechnern (incl. Vista) getestet und funktioniert problemlos. :gruebel: einer macht eine Ausnahme ! der Ablauf des Update: 1. update.ini wird downgeloadet 2. Versionsüberprüfung 3. bei neuer Version Download update.exe 4. update.exe wird gestartet - Hauptprogramm wird beendet - nach dem Start der update.exe (auf dem Ausnahmerechner) erscheint ein Fenster mit schlicht "Datei nicht gefunden". :shock: :gruebel: - nach dem Programmstart wird nur die Quelle und das Ziel der zu erneuernden Datei aus der update.ini gelesen und der Dowload beginnt. - ansonsten gibt es vor dem Download keine Dateioperationen. - zu Download kommt er aber gar nicht. - die update.ini ist auf der Platte wo sie hingehört :gruebel: - die Versionsinformationen liest er aus der update.ini aus :gruebel: Meine Frage: - da der Rechner (wo es ausnahmsweise nicht läuft) 400 km weit weg ist, kann ich schlecht dort was machen. - wie kann ich den Fehler in der update.exe eingrenzen, da es hier auf verschiedenen Rechnern läuft :gruebel: - hätte ich dort den Debugger wäre das ein Leichtes :( :?: wie würdet Ihr so etwas angehen Danke für Infos... |
Re: Datei nicht gefunden Meldung
Hi,
loggst Du mit? Wenn nicht, bei einen kleinen simplen Log ein und schaue, auf welche Datei die update.exe zugreifen will. |
Re: Datei nicht gefunden Meldung
Der Fehler dürfte bei 1. liegen, da Dein Update-Programm vermutlich keine Schreibrechte im Ordner hat. Die UAC von Vista macht mir auch viel Spaß...
|
Re: Datei nicht gefunden Meldung
Hallo,
ich vermute, dass die Datei zwar herunter geladen, aber nicht an der Stelle abgelegt wird, an der du denkst. Beim späteren Lesezugriff findet allerdings keine Umleitung durch das OS statt und deshalb die Fehlermeldung. Grüße vom marabu |
Re: Datei nicht gefunden Meldung
Zitat:
- ich bräuchte aber die Datei nur im Fehlerfall auf meinem FTP. - :gruebel: wie werte ich die Exception aus, wenn ich nicht weiß, wo sie auftritt, damit die Datei dann übertragen wird. Zitat:
|
Re: Datei nicht gefunden Meldung
Zitat:
( zu diesem Zeitpunkt gibt es nur 2 Dateien, welche downgeloadet wurden update.exe, update.ini und beide liegen im richtigen Ordner ) INI laden für Versionsüberprüfung
Delphi-Quellcode:
... Versionsüberprüfung im Hauptprogramm funktioniert
Ini:= TIniFile.Create (InstallPfad + '\update.ini');
INI laden für Quelle / Ziel auslesen in update.exe
Delphi-Quellcode:
... die einzige Dateioperation vor dem Download.
Ini:= TIniFile.Create (InstallPfad + '\update.ini');
... update.ini liegt im InstallPfad Danke für Euer Interresse... :thumb: |
Re: Datei nicht gefunden Meldung
Wie sieht "Installpfad" denn aus?
|
Re: Datei nicht gefunden Meldung
Hi,
Du kannst z.B. ein TApplicationEvents auf die Form setzen. Diese hat ein Ereignis "OnException". Das wird bei jeder Exception ausgelöst. Du könntest z.B. die Exceptionnachricht abspeicheren und hinterher auswerten. |
Re: Datei nicht gefunden Meldung
Delphi-Quellcode:
im OnCreate des Hauptformulars sowohl Hauptprogramm als auch update.exe
InstallPfad:= GetCurrentDir;
Zitat:
Danke... |
Re: Datei nicht gefunden Meldung
Zitat:
Überprüf doch mal. welche Rechte Dein Programm braucht und welche Rechte Dein User hat. |
Re: Datei nicht gefunden Meldung
Zitat:
|
Re: Datei nicht gefunden Meldung
GetCurrentDir ist IMHO nicht die sauberste Lösung. Nimm doch stattdessen mal
Delphi-Quellcode:
ExtractFilePath(ParamStr(0));
|
Re: Datei nicht gefunden Meldung
...wenn ich richtig verstehe, könnte es mit
GetCurrentDir statt ExtractFilePath(ParamStr(0)) auf verschiedenen Systemen Probleme geben. Dann würde der INI Pfad logischerweise nicht stimmen. Probiere ich auch mal aus. Dumm ist nur, das ich bei mir nie Fehler hatte und somit den Unterschied nicht erkenne :( Trotzdem Danke |
Re: Datei nicht gefunden Meldung
Nur, dass ich das richtig verstanden habe: der Code steht in der Update.exe und diese sucht die Ini in ihrem eigenen Verzeichnis?
[edit] Schlechtschreibung [/edit] |
Re: Datei nicht gefunden Meldung
Zitat:
Lass die Manifest-Datei weg. |
Re: Datei nicht gefunden Meldung
Zitat:
|
Re: Datei nicht gefunden Meldung
Dann versuch mal meine Variante mit ExtractFilePath.
|
Re: Datei nicht gefunden Meldung
habe ich in der update.exe schon umgestellt. Bei mir funktioniert es wie gewohnt :-D
... mal sehen, wo der Rauch bei meinem Kollegen aufsteigt :-D Danke erst mal |
Re: Datei nicht gefunden Meldung
Guten Abend alle miteinander... :hi:
Update: - nachdem mein Kollege es endlich mal geschaft hat das Update zu testen... ...alles wie gewoht ohne Probleme mit ExtractFilePath(ParamStr(0)) :cheer: Danke noch mal...man lernt nie aus :-D |
Re: Datei nicht gefunden Meldung
Ich dachte eigentlich, dass es sich langsam rumgesprochen hat, dass GetCurrentDirectory nicht den Anwendungspfad, sondern das aktuelle Verzeichnis lioefert. Wenn es auch das Anwendungsverzeichnis ist, dann ist das reiner Zufall.
Den Verdacht hatte ich übrigens schon beim Lesen der Fehlermeldung. |
Re: Datei nicht gefunden Meldung
Hallo Luckie...
Zitat:
- die .exe und die .ini liegen im selben Verzeichnis beim Update. bis bald... |
Re: Datei nicht gefunden Meldung
Zitat:
|
Re: Datei nicht gefunden Meldung
Zitat:
...wir sind da einer Meinung. :gruebel: jetzt habe ich verstanden, wie du das meinst. In seltenen Fällen kann es vorkommen, daß das aktuelle Verzeichnis nicht dem des gestarteten Programmes entspricht. ...und wie (fast) immer hast du Recht... :-D |
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:17 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