AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Delphi-PRAXiS - Lounge Betriebssysteme Vista: Wohin mit "AllUsers"-Dateien?
Thema durchsuchen
Ansicht
Themen-Optionen

Vista: Wohin mit "AllUsers"-Dateien?

Ein Thema von Angel4585 · begonnen am 20. Aug 2009 · letzter Beitrag vom 31. Aug 2009
Antwort Antwort
Seite 1 von 2  1 2      
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#1

Vista: Wohin mit "AllUsers"-Dateien?

  Alt 20. Aug 2009, 10:49
Hallo,

unser Programm pflegt eine XML Datei in welcher Daten für alle Benutzer verwaltet werden.
Diese Datei lag bis XP in C:\Dokumente und Einstellungen\AllUsers\Anwendungsdaten.
Seit Vista ist das C:\ProgramData.
Da nun jeder User dort auch reinschreiben muss, tritt ab Vista ein Problem auf:

User A kann die Datei anlegen un hat vollen Zugriff drauf. User B hat allerdings nur Lesen&Ausführen weshalb es beim Schreiben natürlich zu Problemen kommt.

Es muss doch einen Ort geben, wo man so eine Datei abgelegt werden kann und Jeder Vollzugriff drauf hat, oder? Welcher Ordner ist das seit Vista?

Ich möchte unsere User eigentlich nicht mit Kontextmenü -> Als Admin starten nerven.
Per Manifest als Admin starten ist auch ungeschickt, da das gleiche Programm aus einem Dienst heraus parametrisiert aufgerufen wird, wenn dort die Meldung kommt und keiner die sieht hängt das Programm ewig im Nirvana rum.

Habt Ihr ne Idee wo ich die Datei am besten hinmachen kann?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#2

Re: Vista: Wohin mit "AllUsers"-Dateien?

  Alt 20. Aug 2009, 10:53
Was liefert denn GetSpecialFolder(CSIDL_COMMON_APPDATA) für einen Pfad?
Dieser ist ja angeblich genau für sowas da.

[add]
Aber eventuell/notfalls kannst du dir ja wärend des Setups (mit Adminrechten) einen Unterordner in C:\ProgramData anlegen, wo du dann allen Usern Schreibrechte einräumst?
$2B or not $2B
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#3

Re: Vista: Wohin mit "AllUsers"-Dateien?

  Alt 20. Aug 2009, 11:07
GetSpecialFolder(CSIDL_COMMON_APPDATA) liefert mir "C:\ProgramData", darüber wird auch der Pfad zur Datei generiert. Was ist wenn ein normaler User die Installation vornimmt, dann kann ich doch nich bei der Installation die Rechte für jeden setzen?
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#4

Re: Vista: Wohin mit "AllUsers"-Dateien?

  Alt 20. Aug 2009, 11:09
Es gibt keinen solchen Ordner. Jeder Benutzer hat normalerweise eine eigene Datei. Die kann ja jeder auslesen, man kann also Daten problemlos zwischen den Dateien der verschiedenen Benutzer austauschen. Aber man kann eben keinem anderen Benutzer seine Datei direkt kaputtmachen.

Eine Software kann z.B. beim Start fragen, ob Änderungen anderer Benutzer importiert werden sollen.

Ansonsten müssen tatsächlich die Ordnerrechte des Unterordners in den Anwendungsdaten aller Benutzer entsprechend verändert werden. Allerdings müsste es dafür schon gute Gründe geben. Ich persönlich hätte jetzt keinerlei Ideen für eine Software wo man das nicht auch sauber lösen könnte.
Heißt: Es müssen die Rechte für die Gruppe Benutzer entsprechend gesetzt werden.

// EDIT:
Zitat von Angel4585:
Was ist wenn ein normaler User die Installation vornimmt, dann kann ich doch nich bei der Installation die Rechte für jeden setzen?
Wie bitte? Normaler Benutzer? Installation?
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.184 Beiträge
 
Delphi 12 Athens
 
#5

Re: Vista: Wohin mit "AllUsers"-Dateien?

  Alt 20. Aug 2009, 11:10
Zitat von Angel4585:
GetSpecialFolder(CSIDL_COMMON_APPDATA) liefert mir "C:\ProgramData", darüber wird auch der Pfad zur Datei generiert.
witzig nur, daß CSIDL_COMMON_APPDATA ja angeblich genau dafür gedacht ist, da hätt ich dann auch erwartet, daß alle da zugriff haben

Zitat von Angel4585:
Was ist wenn ein normaler User die Installation vornimmt, ...
ja, dann geht das nicht so ... dann mußte das Setup mit Adminrechten versehen, welche du doch eh benötigst, um dein Programm in den Programmordner reinzubekommen.
$2B or not $2B
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.648 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: Vista: Wohin mit "AllUsers"-Dateien?

  Alt 20. Aug 2009, 11:11
Zitat von himitsu:
witzig nur, daß CSIDL_COMMON_APPDATA ja angeblich genau dafür gedacht ist, da hätt ich dann auch erwartet, daß alle da zugriff haben
Darauf haben auch alle Zugriff, aber auf fremde Dateien nur lesenden. Und das ist auch gut so...
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#7

Re: Vista: Wohin mit "AllUsers"-Dateien?

  Alt 20. Aug 2009, 11:16
Naja der Dienst braucht nunmal ne Datei die er unabhängig vom Benutzer verwalten kann, wo aber die Benutzer auch drauf zugreifen können. In der Datei werden ständig Änderungen vorgenommen und nicht einmalig Einstellungen die man importiert und ab da dann selbst weiterarbeitet.

@himi: ich guck mal ob das während dem Setup geht, guter Tipp!
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
TurboMartin

Registriert seit: 13. Feb 2006
Ort: Bad Honnef
765 Beiträge
 
Turbo Delphi für Win32
 
#8

Re: Vista: Wohin mit "AllUsers"-Dateien?

  Alt 20. Aug 2009, 14:19
Ich würde sagen, entsprechendes ist C:\Users\Default\AppData und entsprechendem Unterordner.
Tomorrow will be cancelled due to lack of interest.

  Mit Zitat antworten Zitat
Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: Vista: Wohin mit "AllUsers"-Dateien?

  Alt 20. Aug 2009, 16:04
Man braucht keine Adminrechte, um die Rechte eines selbsterstellten Ordners oder einer Datei zu ändern. Wenn einem das Objekt gehört, kann man auch anderen den Zugriff erlauben. Ob man das tun sollte, ist eine andere Frage. Man muss dann nämlich höllisch aufpassen, dass ein eingeschränkter Benutzer einem Admin keine Daten unterjubeln kann, die dein Programm Amok laufen lassen.
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat
Angel4585

Registriert seit: 4. Okt 2005
Ort: i.d.N.v. Freiburg im Breisgau
2.199 Beiträge
 
Delphi 2010 Professional
 
#10

Re: Vista: Wohin mit "AllUsers"-Dateien?

  Alt 31. Aug 2009, 12:46
Also das mit den Rechten vergeben im Setup war der richtige Tip.

Ab Vista sind die Ordner unter C:\ProgramData\
Davor unter C:\Dokumente und Einstellungen\AllUsers\Anwendungsdaten\
Martin Weber
Ich bin ein Rüsselmops
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 05:03 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