AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi [Delphi 2007] Wo INI Dateien unter Vista speichern ?
Thema durchsuchen
Ansicht
Themen-Optionen

[Delphi 2007] Wo INI Dateien unter Vista speichern ?

Offene Frage von "winx"
Ein Thema von winx · begonnen am 24. Jan 2008 · letzter Beitrag vom 24. Jan 2008
Antwort Antwort
Seite 1 von 3  1 23      
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#1

[Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 06:45
Guten Morgen,

wir portieren gerade unsere alten Anwendung auf Windows Vista. Ich hab mal irgendwo gelesen, dass Programme
unter Vista ihre zur Laufzeit veränderbaren Daten (bei uns INI Dateien und Excel Files) nicht mehr im Programmordner
(C:\Programme\...\) ablegen dürfen.

In welchem Ordner sollte man diese dann unter Vista ablegen (Gibt es unter XP auch den entsprechenden Ordner?), gibt
es diesen Ordner irgendwie in den Systempfaden?

Danke,
winx
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.851 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: [Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 06:57
Eigentlich gilt dieser Grundsatz schon länger, nur sorgt die Virtualisierung/dateiumleitung von Vista nun zu Nebeneffekten.
Allgemeingültige Ini-dateien gehären unter ALLUSERS benutzerbezogene ins Benutzerprofil.
Diese Special Folders kannst du ermitteln.
Markus Kinzler
  Mit Zitat antworten Zitat
Benutzerbild von Phoenix
Phoenix
(Moderator)
Online

Registriert seit: 25. Jun 2002
Ort: Hausach
7.611 Beiträge
 
#3

Re: [Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 06:59
Richtige Antwort auf die Frage im Titel: Gar nicht mehr.
Man sollte keine INI-Dateien mehr benutzen. Besser sind XML-Konfigurationsdateien. Aber das ist nur ein Detail

Zur Frage:
Ich halte es folgendermassen:

Konfigurationseinstellungen, die NUR ein Admin verändern darf: In eine XML-Konfig in das Anwendungsverzeichnis. Hier kann man sich sicher sein, dass der User nicht an den wichtigen Parametern schrauben darf. Bei Dir dann halt wohl weiterhin eine .ini hierhin.

Konfigurationseinstellungen und Daten, die für alle Benutzer gelten, die aber auch von allen Benutzern geändert werden dürfen in 'Gemeinsame Dateien'.

Einstellungen und Daten die Benutzerspezifisch sind: Ab in das Benutzerprofil unter Eigene Dateien.


Wichtig zu Punkt 1 ist noch: Die Anwendung muss für Vista über ein gültiges Manifest verfügen, so dass die Dateisystemvirtualisierung definitiv nicht aktiv ist. Sonst 'darf' der User nämlich die Dateien im Programme-Ordner 'ändern', nur landet die Änderung eben nicht dort sondern in einem Virtualisierungsordner in seinem Pfil, aber dennoch wird die geänderte Datei gelesen.
Sebastian Gingter
Phoenix - 不死鳥, Microsoft MVP, Rettungshundeführer
Über mich: Sebastian Gingter @ Thinktecture Mein Blog: https://gingter.org
  Mit Zitat antworten Zitat
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#4

Re: [Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 07:16
Hallo,

danke für die Antworten.

Noch ne Frage (such aber schon selber): gibt es in XP und Vista gemeinsame Pfadvariablen?


Also welchen "Key" brauch ich um bspw den AllUsers Ordner zu finden? Ist es "CSIDL_APPDATA"?

Danke,
winx
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#5

Re: [Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 07:20
Zitat von Phoenix:
[...]Einstellungen und Daten die Benutzerspezifisch sind: Ab in das Benutzerprofil unter Eigene Dateien.[...]
MÖÖÖÖP! Einspruch

Nicht in die Eigenen Dateien! Der Ordner ist für den Benutzer und seine selber(!) erstellten Dateien gedacht und nicht für irgendwelche Programm Dateien und wenn es nur Einstellungsdateien sind. Dazu gibt es das AppData Verzeichnis!


Siehe auch: http://www.delphipraxis.net/internal_redirect.php?t=502
Zusätzliche CSIDLs: http://msdn2.microsoft.com/en-us/library/bb762494.aspx

Hier wird auch schön auf die Problematik "Programmdateien in den Eigenen Dateien" eingegangen: http://www.codinghorror.com/blog/archives/001032.html
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
winx

Registriert seit: 14. Jun 2005
265 Beiträge
 
#6

Re: [Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 07:33
Hi,

also welchen Ordner soll ich denn nun für Dateien verwenden, der unter beiden BS funzt.

"CSIDL_COMMON_DOCUMENTS" ???

gruß,
winx
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#7

Re: [Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 07:39
Zitat von hitzi:
Nicht in die Eigenen Dateien! Der Ordner ist für den Benutzer und seine selber(!) erstellten Dateien gedacht und nicht für irgendwelche Programm Dateien und wenn es nur Einstellungsdateien sind.
Ist doch mittlerweile selbst MS sch... egal. Ich habe hier z.B. die beiden Ordner "SQL Server Management Studio" und "Visual Studio 2005" sowie "Remote Assistance Logs". Wir selbst verwenden für Userspezifische Dateien auch "Eigene Dateien" da es das einzige Verzeichnis ist das seit Win9x existiert und (fast) keine Probleme bereitet. Aber die letzte Erweiterung war dies bei der Installation bzw. konfiguration der Installation freier zu gestalten.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#8

Re: [Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 07:42
Und bloß weil es MS macht müssen wir es auch machen? Aber egal ... das wird zu OT.

Ich würd CSIDL_APPDATA (Benutzerspezifisch) oder CSIDL_COMMON_APPDATA (für alle Benutzer) verwenden.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.171 Beiträge
 
Delphi 10.4 Sydney
 
#9

Re: [Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 07:45
Hat sich nicht irgendeine dieser Konstanten in der bedeutung geändert bzw. gibt es denn die u.U. nicht unter alten Windows-Versionen?

ich denke ein mehrstufiger Ansatz der Art:

- AppData-Verzeichnis vorhanden und verfügbar?
- Falls nein: Schreibbar in Anwendungsverzeichnis?
- Falls nein: Schreibbar in Windows-Verzeichnis?
- Falls nein: Unterverzeichnis in "Dokumente und Einstellungen" erstellbar und schreibbar?
- Falls nein: Programmende mit Fehlermeldung

wird u.U. nötig sein um nicht nur Vista/XP zu unterstützen.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Benutzerbild von hitzi
hitzi

Registriert seit: 2. Jan 2003
Ort: Eibau
768 Beiträge
 
Delphi 2010 Professional
 
#10

Re: [Delphi 2007] Wo INI Dateien unter Vista speichern ?

  Alt 24. Jan 2008, 08:18
CSIDL_APPDATA funktioniert ab Win98! Bei Win95 einfach über die Registry -> HKLM\Software\Microsoft\Windows\Currentversion\Pro gramFilesDir <- das Programmverzeichnis ermitteln und "Application Data" dran hängen, aber da kannst du auch gleich ins eigene Programmverzeichnis schreiben.
Thomas
Besucht doch mal http://www.hitziger.net
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 3  1 23      


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 14:52 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