AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Speicherorte unter Windows

Ein Thema von cytrinox · begonnen am 24. Apr 2007 · letzter Beitrag vom 24. Apr 2007
Antwort Antwort
Seite 1 von 3  1 23      
cytrinox

Registriert seit: 4. Sep 2006
88 Beiträge
 
#1

Speicherorte unter Windows

  Alt 24. Apr 2007, 08:33
Hi,

ich hab da mal eine generelle Frage an alle Entwickler unter Windows.

Gibt es irgendwo eine Liste in der sich klar ablesen lässt, in welchem Verzeichnis eine bestimmte Gruppe von Daten abgespeichert werden können?

Ich hab viel unter Linux programmiert, ich weiß dass ich programmbezogene Einstellungen in /etc/ abspeichere und benutzerbezogene in ~/.prgname/. Zumindest würden mir viele zustimmen dass dieser Weg doch recht sauber ist.

Unter Windows hab ich das Problem, dass ich zum einen programmbezogene Einstellungen hab die in der Registry gespeichert werden sollen sowie programmbezogene Daten die irgendwo auf der Festplatte gespeichert sollen.

Da aber generell jeder User einer Windows Kiste lesenden und schreibenden Zugriff auf die Konfiguration sowie die Daten braucht, bin ich mittlerweile überfragt wohin damit.

Als Beispiel mal die Konfigurationen: Ich dachte HKEY_LOCAL_MACHINE\Software wäre ideal, da alles andere benutzerbezogen ist.
Jetzt merk ich dass unter Vista (UAC zeugs) der Zugriff virtualisiert und irgendo umgebogen wird.

Da fliegt mir jetzt natürlich so ziemlich jedes System um die Ohren auf dem mehrere Admins, Hauptbenutzer und Eingeschränkte Benutzer tätig sind.

Daten sind auch so eine Sache: C:\Dokumente und Einstellungen\All Users\ klingt ja genau nach dem was ich suche - dumm an der Sache ist nur dass eingeschränkte Benutzer da mal wieder keinen schreibenden Zugriff drauf haben.

Bei einer Datenbankdatei die da drin lingt und von alles Usern benutzt werden soll sind da Fehlermeldungen natürlich vorprogrammiert.


Ich würde dieses ganze Zeug gern mal richtig abspeichern...
  Mit Zitat antworten Zitat
uwewo

Registriert seit: 14. Jul 2004
Ort: Karlsruhe
479 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Speicherorte unter Windows

  Alt 24. Apr 2007, 08:48
Lies mal diesen Thread
Uwe
  Mit Zitat antworten Zitat
cytrinox

Registriert seit: 4. Sep 2006
88 Beiträge
 
#3

Re: Speicherorte unter Windows

  Alt 24. Apr 2007, 09:01
Zitat von alcaeus:
Zitat von Luckie:
Zitat von mkinzler:
oder lege die Ini unter ALLUSERS ab.
Ich weiß ja nicht, wie es unter Vista ist, aber unter Windows XP kann man las normaler Bneutzer im ALLUSERS Profil auch nicht schreiben.
Er meinte ja auch vom Installer aus - der wie erwaehnt mit Admin-Rechten laeuft

Greetz
alcaeus
Der Thread faselt über 2 Seiten genau das was ich beschrieben hab. All Users ist nur mit Adminrechten beschreibbar, Im Programm Verzeichnis darf nichts mehr abgelegt werden (find ich ok!) und das was in der Registry landet wird unter Vista virtualisiert.

Aber wo man die Daten abspeichern soll steht da nicht. Der einzige Lösungsvorschlag der kam, war den Installer mit Adminrechten starten zu lassen (mach ich übrigens auch).

Aber hinterher bringt mir das nichts mehr weil die Datenbank die bei der Installation abgelegt wird muss natürlich danach immer noch für "ALLE BENUTZER" schreibbar sein. Genauso wie die Registrierungsinfos die in der Registry abgelegt werden sollen...
Wenn sich Benutzer A anmeldet, Programm startet und die Registrierungsinfos eintippt, dann braucht die auch der Benutzer B, und C und D.

Kann nicht angehen dass ich einem Kunden mit 30 aktiven Systembenutzern beibringen muss, die Registrierungsinfo 30x einzutippen weil Vista die hintenrum tunnelt.
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#4

Re: Speicherorte unter Windows

  Alt 24. Apr 2007, 09:10
Benutzerübergreifende Einstellungen: HKLM / AllUsers
Benutzerspezifische Einstellungen: HKCU / Benutzerverzeichnis

Und wenn das Programm mit Administratorenrechten läuft, dann wird da auch nichts umgebogen. Also Programm mit Adminrechten starten und die benutzerübergreifende Konfiguration machen und dann mit dem Programm als normaler Benutzer arbeiten.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
cytrinox

Registriert seit: 4. Sep 2006
88 Beiträge
 
#5

Re: Speicherorte unter Windows

  Alt 24. Apr 2007, 09:29
Und wo sollen die ganzen Datenbankdateien hin? Formular-Dateien? Reports?

Und generell gesagt: Adminrechte kann man abhaken, z.b. kann ein Benutzer einen neuen Transferpfad angeben, der muss für alle anderen Benutzer gelten. Oder er kann sich endlich dazu entschließen die Registrierungsinfos einzutippen. Oder vielleicht den Organistaionsnamen abändern. Oder oder oder.. da werd ich erschossen wenn ich da jedesmal das Administrator-Passwort verlangen würde...

Edit: und HKLM / AllUsers gibts bei mir nicht (winXP SP2)
Darf man das anlegen? Ich denk mal nicht, denn wenn AllUsers besondere Rechte hätte wärs standardmäßig schon da. Und wenn doch, wie muss die Struktur darunter aussehen? AllUsers\Software\Hersteller\Produkt?
  Mit Zitat antworten Zitat
Robert Marquardt
(Gast)

n/a Beiträge
 
#6

Re: Speicherorte unter Windows

  Alt 24. Apr 2007, 09:39
Ich glaube jetzt verstehst du wofuer "User, Gruppe, Alle" bei den Dateirechten von Unix gedacht sind. Es geht doch nichts ueber ein sinnvolles Design.
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#7

Re: Speicherorte unter Windows

  Alt 24. Apr 2007, 10:32
Zitat von cytrinox:
Der Thread faselt über 2 Seiten genau das was ich beschrieben hab. [1.] All Users ist nur mit Adminrechten beschreibbar, [2.] Im Programm Verzeichnis darf nichts mehr abgelegt werden (find ich ok!) [3.] und das was in der Registry landet wird unter Vista virtualisiert.

Aber wo man die Daten abspeichern soll steht da nicht. Der einzige Lösungsvorschlag der kam, war den Installer mit Adminrechten starten zu lassen (mach ich übrigens auch).
1. Stimmt nicht - genau am Ende dieser zwei Seiten hab ich noch geschrieben, daß eben doch nicht nur Admins auf All Users schreibend zugreifen dürfen - der Unterordner Application Data/Anwendungsdaten ist genau eben für die genannten Datenbankdateien/Formulardateien etc. da - programminterne Anwendungsdaten.

2. Übereinstimmung.

3. Imho nur solange mein kein Manifest einbindet, danach klappt der schreibende Zugriff als Nicht-Admin einfach nicht mehr.

Wenn dann unbedingt noch ein Platz in der Registry sein muss, kann man dort auch während der Installation die Rechte an einem einzelnen Schlüssel in HKLM anpassen (RegSetKeySecurity, ConvertStringSecurityDescriptorToSecurityDescripto r, etc.).

Zitat von Robert Marquardt:
Ich glaube jetzt verstehst du wofuer "User, Gruppe, Alle" bei den Dateirechten von Unix gedacht sind. Es geht doch nichts ueber ein sinnvolles Design.
Sinnvoll? Naja, "einleuchtend" oder "simpel" mag mans nennen, aber wenn ich mir überlege, was in komplexen Situationen manchmal für zusätzliche Hilfsgruppen erfunden werden müssen, nur weil mal zwei ansonsten kaum überschneidende Gruppen gleichermassen auf Dateien zugreifen sollen, da sind die Windows-ACLs schon wesentlich sinnvoller!
Besser wars imho nur früher in Novell Netware gelöst
  Mit Zitat antworten Zitat
Chewie

Registriert seit: 10. Jun 2002
Ort: Deidesheim
2.886 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Speicherorte unter Windows

  Alt 24. Apr 2007, 10:42
Ich würde die Sachen irgendwo unter AllUsers speichern - und zwar in einem Verzeichnis, welches der Installer erstellt. Dieser gibt den Benutzern, die sie brauchen, auch entsprechende Rechte.
Bei Unix geht das ja genauso - /etc ist ja auch nicht schreibbar durch alle Benutzer, höchstens bestimmte Unterordner, die aber erstmal entsprechend "gechmoded" und "gechowned/"gechgrped" werden müssen.
Martin Leim
Egal wie dumm man selbst ist, es gibt immer andere, die noch dümmer sind
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#9

Re: Speicherorte unter Windows

  Alt 24. Apr 2007, 11:06
Zitat von cytrinox:
Oder er kann sich endlich dazu entschließen die Registrierungsinfos einzutippen.
Das sollte ja wohl die Aufgabe des Administrators sein.

Zitat:
Edit: und HKLM / AllUsers gibts bei mir nicht (winXP SP2)
Ersteres war der entsprechende Schlüssel in der Registry und zweiteres der Entsprechende Ordner im Dateisystem.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
CCRDude
(Gast)

n/a Beiträge
 
#10

Re: Speicherorte unter Windows

  Alt 24. Apr 2007, 11:25
Nochmal im Detail Zugriff auf einen Pfad, der schon von Haus aus auch für eingeschränkte Benutzer verfügbar ist (wie ich im anderen Topic erwähnte "Hans Dampf", nur in Gruppe "User", darf dort schalten und walten).

Delphi-Quellcode:
function SpecialDirectory(const iID: Integer): string;
// Needs: ShlObj on Delphi, WinExt on FPC
var aPath : array[0..MAX_PATH] of Char;
    pilTemp: PItemIDList;
begin
   try
      if SHGetSpecialFolderLocation(0, iID, pilTemp)=S_OK then begin
         if SHGetPathFromIDList(pilTemp, aPath) then begin
            Result := string(aPath);
         end else Result := '';
         CoTaskMemFree(pilTemp);
      end else Result := '';
   except
      Result := '';
   end;
end;

const CSIDL_COMMON_APPDATA = $0023;
var sPath: string;
begin
   sPath := SpecialDirectory(CSIDL_COMMON_APPDATA);
end;
Überhaupt keine Anpassung von Rechten etc. notwendig. Siehe auch MSDN: ShGetSpecialFolderLocation bzw. MSDN: Liste aller CSIDLs.
  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 17:54 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