Delphi-PRAXiS
Seite 2 von 4     12 34      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Probleme: TInifile und Vista (https://www.delphipraxis.net/90240-probleme-tinifile-und-vista.html)

Hansa 14. Apr 2007 12:01

Re: Probleme: TInifile und Vista
 
Zitat:

Zitat von alcaeus
Hansa, koenntest du deine Vista-Probleme dort lassen, wo sie hingehoeren? Danke.

Soll der Thread von Mod-Seite abgewürgt werden oder was ? :shock: Habe vorhin genau dasselbe gemacht, wie der Fragesteller. Ini-Datein gelöscht im Programmverzeichnis usw. und zwar als Nicht-Admin. Anscheinend liegt die genaue Beantwortung der Frage allerdings nicht im Sinne der DP. :???:

mkinzler 14. Apr 2007 12:03

Re: Probleme: TInifile und Vista
 
@Hansa mache dich mal mit dem Visualisierungskonzept des Dateisystems unter Vista schlau

alcaeus 14. Apr 2007 12:38

Re: Probleme: TInifile und Vista
 
Zitat:

Zitat von mkinzler
Schreibzugriffe werden virtualisiert, d.h auf ein Verzeichnis in seinem Userverzeichnis umgelenkt.

Ist das immer der Fall? Ich dachte der Virtual File Store wird nur benutzt, wenn die Anwendung in den Legacy-Mode geschaltet wird? :gruebel:

Greetz
alcaeus

Bernhard Geyer 14. Apr 2007 16:33

Re: Probleme: TInifile und Vista
 
Zitat:

Zitat von alcaeus
Ist das immer der Fall? Ich dachte der Virtual File Store wird nur benutzt, wenn die Anwendung in den Legacy-Mode geschaltet wird? :gruebel:

Legacy-Modus und Vista? :gruebel:
Eine Anwendung wird unter Vista bei aktiven UAC immer virtualisiert außer es wird per erweiterten Manifest deaktiviert.

alcaeus 14. Apr 2007 16:40

Re: Probleme: TInifile und Vista
 
Zitat:

Zitat von Bernhard Geyer
Legacy-Modus und Vista? :gruebel:
Eine Anwendung wird unter Vista bei aktiven UAC immer virtualisiert außer es wird per erweiterten Manifest deaktiviert.

Ich meinte den Compatibility-Mode, bzw. Kompatibilitaets-Modus. Ich dachte der VFS waere nur dann aktiv, sonst nicht.

Greetz
alcaeus

PeterPanino 14. Apr 2007 18:20

Re: Probleme: TInifile und Vista
 
Zitat:

Zitat von mkinzler
Wo hast du die Programme abgelegt? Im Standardpfad c:\Program Files hat ein Standardbenutzer kein Schreibrechte. Schreibzugriffe werden virtualisiert, d.h auf ein Verzeichnis in seinem Userverzeichnis umgelenkt.

Ich habe (als Administrator) in Vista eben ein von mir geschriebenes Programm im Programmverzeichnis (in C:\Program Files\MeinProgramm\) gestartet. Dieses Programm speichert eine Konfigurationsdatei im eigenen Programmverzeichnis (C:\Program Files\MeinProgramm\) und lädt diese Datei beim nächsten Programmstart dann automatisch wieder.

Jetzt kommt das Rätselhafte: Diese Datei wird nachweislich gespeichert und geladen, ist aber NIRGENDS auffindbar!! Ich habe das ganze C-Laufwerk durchsucht! (Natürlich sind die Ordneroptionen so eingestellt, dass versteckte und Systemdateien angezeigt werden).

Ich habe dann das Programm so angepasst, dass im Programm der Speicherpfad der Datei angezeigt wird, und es ist natürlich das obige Programmverzeichnis (C:\Program Files\MeinProgramm\), aber dort ist die Datei nicht und auch sonst nirgends!

Es ist mir natürlich klar, dass das das obige Programmverzeichnis von Windows Vista ofrfensichtlich irgendwie umgebogen wird, aber WOHIN???

Christian Seehase 14. Apr 2007 18:25

Re: Probleme: TInifile und Vista
 
Moin Peter,

das muss jetzt kein Vista-Phänomen sein.
Manche ini-Dateien werden nicht als Datei gespeichert, sondern in die Registry geschrieben, dass hängt vom Namen ab.
Für TIniFile ist dieser Vorgang vollständig transparent.

Ich habe allerdings auch schon die Erfahrung gemacht (unter XP!), dass Dateien über die Suche nicht gefunden werden, wenn sie sich im Windows-Verzeichnis oder darunter befinden, und man die Suche in C:\-Root starten lässt.
Schau mal direkt im Windows-Verzeichnis nach.

PeterPanino 14. Apr 2007 18:36

Re: Probleme: TInifile und Vista
 
Zitat:

Zitat von Christian Seehase
Moin Peter,

das muss jetzt kein Vista-Phänomen sein.
Manche ini-Dateien werden nicht als Datei gespeichert, sondern in die Registry geschrieben, dass hängt vom Namen ab.
Für TIniFile ist dieser Vorgang vollständig transparent.

Ich habe allerdings auch schon die Erfahrung gemacht (unter XP!), dass Dateien über die Suche nicht gefunden werden, wenn sie sich im Windows-Verzeichnis oder darunter befinden, und man die Suche in C:\-Root starten lässt.
Schau mal direkt im Windows-Verzeichnis nach.

Die besagte Konfigurationsdatei ist keine INI-Datei, sondern hat eine andere Endung (.sch). Ich habe auch im Windows-Verzeichnis nachgesehen, und dort ist sie auch nicht! Aber sie wird gespeichert und geladen! :wall:

Könnte es sein, dass Windows Vista in Wirklichkeit ein Rootkit ist? :pale:

Bearbeitet 1: Habe soeben die gesamte Registry sowohl nach dem Namen der Datei als auch nach einer sehr eindeutigen Zeichenfolge durchsucht, die in der Datei gespeichert wird: Nichts gefunden, das heißt, dass das Speichern der Datei keinesfalls auf die Registry umgebogen wird.

Bearbeitet 2: Es wird immer seltsamer: Ich habe jetzt ohne UAC (Benutzerkontensteuerung) gebootet, und da waren im Programmverzeichnis immer noch keine der gesuchten Konfigurationendateien. Beim Start des Programmes wurde die Meldung angezeigt, dass die Konfigurationsdateien nun erzeugt werden und wurden auch erzeugt. Da aber mein Programm die Programmstarts zählt und dabei jedesmal eine Variable erhöht und diese dann in eine der Konfigurationsdateien schreibt, weiß ich von der angezeigten Zahl der Programmstarts, dass diese Konfigurationsdatei auch schon vorher dagewesen sein muss! Dann nochmals mit eingeschaltetem UAC gebootet und siehe da: Die gesuchten Dateien waren jetzt im Programmverzeichnis immer noch da, inklusive der richtig angezeigten Programmstart-Zählervariable. Ich weiß nicht, was ich davon halten soll.

alcaeus 14. Apr 2007 19:41

Re: Probleme: TInifile und Vista
 
@Peter:

informieren hilft: http://en.wikipedia.org/wiki/Securit...ccount_Control
Ich zitiere:
Aus dem Wikipedia-Artikel:
Many applications break for standard users (non-admins) today because they attempt to write to protected areas that the standard user does not have access to. UAC will improve application compatibility for these users by redirecting writes (and subsequent reads) to a per-user location within the user’s profile. For example, if an application attempts to write to “C:\program files\appname\settings.ini” and the user doesn’t have permissions to write to that directory, the write will get redirected to “C:\Users\username\AppData\Local\VirtualStore\Prog ram Files\appname\.” To make it easier to find these redirected files has been added a new button to Windows Explorer. If there is a virtualized version of a file related to the current directory, a Compatibility Files button appears that will take you to the virtual location to view that file.

Natuerlich funktioniert das nur bei aktiviertem UAC; bei deaktiviertem UAC hast du auf den Programm-Ordner den gewohnten Schreibzugriff wenn du Admin bist.

Wird dadurch einiges klarer? ;)

Greetz
alcaeus

PeterPanino 14. Apr 2007 20:10

Re: Probleme: TInifile und Vista
 
Zitat:

Zitat von alcaeus
@Peter:
Natuerlich funktioniert das nur bei aktiviertem UAC; bei deaktiviertem UAC hast du auf den Programm-Ordner den gewohnten Schreibzugriff wenn du Admin bist.
Greetz
alcaeus

Vielleicht hast du meine Nachricht nicht genau genug gelesen: Die Dateien waren offensichtlich vorher schon da aber irgendwie doch nicht da - für das Dateisystem - (hört sich blöd an, ist aber so, siehe Programmstart-Zählervariable). Deswegen meine Verwunderung.

Ich nehme an, dass Vista im Zusammenhang mit dem UAC irgendwelche "dirty tricks" im Dateisystem ausführt ...


Alle Zeitangaben in WEZ +1. Es ist jetzt 07:32 Uhr.
Seite 2 von 4     12 34      

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 by Thomas Breitkreuz