Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Vista: Probleme beim LESE-Zugriff auf Programmverzeichnis (https://www.delphipraxis.net/87092-vista-probleme-beim-lese-zugriff-auf-programmverzeichnis.html)

Ares 23. Feb 2007 08:23


Vista: Probleme beim LESE-Zugriff auf Programmverzeichnis
 
Hallo!

Bei der Installation meines Programmes werden sowohl die Programm EXE als auch einige Konfigurationsdateien in das Installationsverzeichnis kopiert. Die Konfigurationsdateien sind vom Benutzerunabhängig. Das Programm liest ausschließlich Informationen aus diesen Dateien und schreibt nie in diese.

Ich weiß, dass Konfigdateien in denen einen Programm seine Einstellungen speichert nicht ins Programmverzeichnis sondern nach AppData gehören. Aber in meinem Fall handelt es sich wie gesagt nicht um Konfigdateien in diesem Sinne.

Beim Start versucht das Programm nun auf die Konfigdateien in seinem Verzeichnis zuzugreifen. Des gelingt allerdings nicht, da das Programm die Dateien nicht finden kann.

FileExists(ExeVerzeichnis+KonfigdateiName) ergibt immer FALSE. Ebenso liefert der Versuch die Datei mit einem Stream zu öffnen den Fehler, dass das System die Datei nicht finden kann:
TFileStream.Create(KonfigDatei, fmOpenread or fmShareDenyNone);

Laut Explorer befindet sich die Datei aber eindeutig in diesem Verzeichnis. Das Ergebnis ist unabhägig davon, ob die EXE und die Konfigdateien durch das Setup oder manuell in das Programmverzeichnis kopiert wurden. Laut Explorer sind die Dateien an Ort und stelle und das Programm kann sie nicht finden.

Ich weiß, dass Schreibzugriffe auf das Programmverzeichnis von der UAC auf ein virtuelles Verzeichnis umgeleitet werden. Aber ich will ja nichts schreiben sondern nur lesen...

Wenn der Lesezugriff wegen mangelnder Rechte o.ä. verweigert würde, könnte ich das auch noch nachvollziehen. Aber warum werden die Dateien einfach nicht gefunden?

Kennt jeman das Problem? Weiß jemand was ich hier falsch mache und wie ich das ganze lösen kann?

Besten Dank
Ares

Insider2004 23. Feb 2007 08:25

Re: Vista: Probleme beim LESE-Zugriff auf Programmverzeichni
 
Du kannst die Rechte Deines Verzeichnisses so einstellen, dass es sich verhält wie z.B. XP oder Windows 2000. Genaueres weiss ich nicht, ich hab kein Vista.

Ares 23. Feb 2007 08:35

Re: Vista: Probleme beim LESE-Zugriff auf Programmverzeichni
 
Zitat:

Zitat von Insider2004
Du kannst die Rechte Deines Verzeichnisses so einstellen, dass es sich verhält wie z.B. XP oder Windows 2000. Genaueres weiss ich nicht, ich hab kein Vista.

Klar, das wäre natürlich möglich. Ich könnte auch einfach die UAC abschalten. Aber das Programm soll ja nicht nur bei mir sonder auch auf anderen Rechnern laufen. Und ich kann erwarten, dass jeder nur für mein Programm die Rechte seines Programmordners ändert oder die UAC abschaltet, etc.

Außerdem würde ich gerne die Problemursache kennen und verstehen und nicht nur die Symptome bekämpfen.

Bernhard Geyer 23. Feb 2007 13:36

Re: Vista: Probleme beim LESE-Zugriff auf Programmverzeichni
 
Probier mal eine angepaßte Manifest aus welche die Virtualiserung von Verzeichnissen/Registry abschaltet.
Evtl. hat deine Anwedung schon ein virtualisiertes Verzeichis bekommen wo diese Datei nicht vorkommt.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:11 Uhr.

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