AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi GetFileVersionInfoSize und Netzwerk

GetFileVersionInfoSize und Netzwerk

Ein Thema von haentschman · begonnen am 22. Jan 2014 · letzter Beitrag vom 22. Jan 2014
Antwort Antwort
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.038 Beiträge
 
Delphi 11 Alexandria
 
#1

GetFileVersionInfoSize und Netzwerk

  Alt 22. Jan 2014, 12:01
Hallo alle miteinander...

Kostellation:
EXE wird vom Client vom Netzlaufwerk gestartet. Pfad ist UNC Name. Rechte vorhanden.

Problem:
GetFileVersionInfoSize liefert 0 zurück obwohl Versionsinformationen in der EXE vorhanden sind.

Tests haben ergeben, daß GetFileVersionInfoSize hier in der Testumgebung bis ca. 3 Sek. (und das ziemlich gleichmäßig) nach dem Start der EXE benötigt um das richtige Result zu liefern. Dabei reichte schon das Programm vor den Aufruf mit einem Breakpoint für diese Zeit anzuhalten.
Auch konnte das nicht auf allen Netzlaufwerken reproduziert werden. Bei manchen ging alles wie gehabt.

Gelöst habe ich das erstmal mit einer Schleife über GetFileVersionInfoSize bis zu einem Ergebnis. Die Schleifendurchläufe habe ich mal mitgezählt. Bei Sleep(10) hatte ich immer zwischen 280 - 295 Durchläufen.

Mich würde aber mal die Ursache interessieren.
  Mit Zitat antworten Zitat
Benutzerbild von Dalai
Dalai
Online

Registriert seit: 9. Apr 2006
1.635 Beiträge
 
Delphi 5 Professional
 
#2

AW: GetFileVersionInfoSize und Netzwerk

  Alt 22. Jan 2014, 12:31
Virenscanner?

MfG Dalai
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
40.107 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: GetFileVersionInfoSize und Netzwerk

  Alt 22. Jan 2014, 12:50
Man könnte mal versuchen zu debuggen, wie diese API auf die Datei zugreift.
Und es kann auch sein, daß diese API Funktionen verwendet, welche nicht mit allen Möglichkeiten/Protokollen des UNC klar kommt.

Alternativ, könnte man die Datei auch lokal ins Tempverzeichnis kopieren und dort auslesen?

[edit]
Ordentliche Virenscanner sollten die Zugriffe entsprechend verzögern/anhalten, solange sie Diese noch abarbeiten,
und nicht "leere" Dateienzurückgeben-
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
Delphi-Tage 2005-2014
  Mit Zitat antworten Zitat
Benutzerbild von haentschman
haentschman

Registriert seit: 24. Okt 2006
Ort: Seifhennersdorf / Sachsen
5.038 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: GetFileVersionInfoSize und Netzwerk

  Alt 22. Jan 2014, 13:19
Danke für deine Antwort.

Eher nicht. Es war schon schwierig genug das Kundenproblem nachzuvollziehen. Wir konnten nur einen internen Computer finden auf dem das reproduzierbar war. Überall laufen die gleichen Scanner.

Bsp Name: \\ws100\testordner ... von Client1 Fehler, von Client2 gut
Auf einem anderen Computer z.B. \\ws200\testordner von allen Clienten gut.

Zitat:
Alternativ, könnte man die Datei auch lokal ins Tempverzeichnis kopieren und dort auslesen?
... die gestartete EXE soll ihre eigene Version lesen.

Geändert von haentschman (22. Jan 2014 um 13:39 Uhr)
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 19:42 Uhr.
Powered by vBulletin® Copyright ©2000 - 2022, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf