Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

Welches Verzeichnis in Vista für Anwendungseinstellungen verwenden?
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

Themenstarter:

Welches Verzeichnis in Vista für Anwendungseinstellungen verwenden?

beantworten | zitieren | melden

Hallo,
wollt mal fragen welches Verzeichnis man für nicht benutzerspezifische Einstellungen unter Vista nimmt? Also Einstellungen die die ganze Anwendung betreffen, aber mit den angemeldeten Benutzer nichts zu tun haben. Ich würde ja einfach sgaen das man %ProgramData% hierfür nutzen kann, aber das Problem ist sobald man da als nicht-Admin versucht reinzuschreiben sich die Virtualisierung sofort einschaltet und die Einstellungen dann doch wieder nutzerspezifisch enden.

Gruß
Snowwolf
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Snowwolf3000,

um die Pfade musst du dich gar nicht kümmern, wenn du [Tutorial] Das neue Konfigurationsmodell im .NET Framework 2.0 benutzt.

herbivore
private Nachricht | Beiträge des Benutzers
DarKlajid
myCSharp.de - Member



Dabei seit:
Beiträge: 386
Herkunft: Köln

beantworten | zitieren | melden

Environment.GetFolderPath()..
Du willst "CommonApplicationData" haben.
Pound for pound, plutonium is about as toxic as caffeine when eaten.
private Nachricht | Beiträge des Benutzers
nin
myCSharp.de - Member

Avatar #avatar-2166.gif


Dabei seit:
Beiträge: 744
Herkunft: graz,AT

beantworten | zitieren | melden

oder vielleicht:

Application.UserAppDataPath;

???
private Nachricht | Beiträge des Benutzers
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

hi herbivore,
ist mir soweit bekannt. Löst aber mein Problem trotzdem nicht. Die user.config fällt schonmal raus , weil ich ja die Einstellungen anwendungsweit benötige. Bleibt nur noch die App.config und die liegt nunmal im Programmverzeichnis was ebenfalls gesperrt ist. Also hab ich immer noch kein Verzeichnis wo ich hinschreiben kann.

Gruß
Snowwolf
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Snowwolf3000,

ehrt mich ja, dass du dich auf meine Antwort konzentrierst :-) aber die anderen beiden haben doch schon geschrieben, welche Verzeichnisse du verwenden kannst.

So gut kenne ich das Konfigurationsmodell leider nicht. Ich weiß also nicht, ob es auch mit diesen beiden Verzeichnissen umgehen kann. Wenn nicht, musst du eben doch "direkt" dort hin schreiben.

herbivore
private Nachricht | Beiträge des Benutzers
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

@herbivore
Klar Ehre wenn Ehre gebührt. (sag niemanden das ich nur beim tippen der Anwort unterbrochen wurde und so die Antworten der Anderen nicht gesehen hab)

CommonApplicationData:
Führt zu %ProgramData%. Also genau das Verzeichnis wo ich nicht hinschreiben kann.

Application.UserAppDataPath:
Führt unter Vista zu "c:\users\<Benutername\AppData\Roming\<Meine Anwendung>". Also wieder zu benutzerspezifischen Einstellungen.
private Nachricht | Beiträge des Benutzers
nin
myCSharp.de - Member

Avatar #avatar-2166.gif


Dabei seit:
Beiträge: 744
Herkunft: graz,AT

beantworten | zitieren | melden

hoppla, user-übergreifend!

Application.CommonAppDataPath;
private Nachricht | Beiträge des Benutzers
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

Es ist zum heulen. Eine halbe Million Variablen und alle führen zur selben Stelle.

CommonAppDataPath endet in
%Programdata%\<meineAnwendung>\<meineAnwendung>\1.00\

Warum eigentlich zweimal der Anwendungsname? Egal.
private Nachricht | Beiträge des Benutzers
LastGentleman
myCSharp.de - Member

Avatar #avatar-1696.jpg


Dabei seit:
Beiträge: 1274
Herkunft: Österreich

beantworten | zitieren | melden

Isolated Storage, Golo hat mir bezüglicher dieser Frage den Tipp gegeben.

Denn Link hab ich auch gefunden : myCsharp
"Das Problem kennen ist wichtiger, als die Lösung zu finden, denn die genaue Darstellung des Problems führt automatisch zur richtigen Lösung." Albert Einstein
private Nachricht | Beiträge des Benutzers
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

So alles mal durchgelesen. So wie es aussieht läuft das trotzdem immer noch alles aufs gleiche drauf raus. Entweder hab ich Adminrechte dann kann ich in %ProgramData% schreiben oder ich hab keine und kann nur benutzerspezifische Einstellungen schreiben.
Das einzige Verzeichnis was ich jetzt gefunden hab, das wohl ohne Adminrechte von allen Benutzern beschrieben werden kann ist "C:\Users\Public\" (Der Ordner für die gemeinsamen Bilder, Filme usw.). Aber irgendwie geht das doch an der Sache vorbei wenn ich mir da erst extra ein eigenes Verzeichnis anlegen muss. Kann ichs ja gleich "c:\meineEinstellungen" anlegen.
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

Hallo Snowwolf3000,

es sollte mit D:\Dokumente und Einstellungen\All Users\Anwendungsdaten gehen und ich denke, dass es dafür auch eine Möglichkeit im Framework gibt, den Pfad abzufragen.

BTW: Hat eigentlich schon mal jemand versucht einen User "All Users" anzulegen? Oder geht das wegen des Leerzeichens nicht?

herbivore
private Nachricht | Beiträge des Benutzers
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

Es gibt leider kein "All Users" mehr in Vista sondern nur noch ein c:\users\public für gemeinsame Dokumente und ein c:\ProgramData (= %ProgramData% wie ich bisher immer geschrieben hab) auf gemeinsame Programmeinstellungen. Wobei der letzte ordner halt durch die doofe Virtualisierung von Vista geschützt wird, ich kann also keine Daten darin als Standardbenutzer ändern.

Um mal die Unterschiede XP/Vista ein wenig klarer zu machen:

XP: c:\Dokumente und Einstellungen\
Vista: c:\users

XP: c:\Dokumente und Einstellungen\All Users\Anwendungsdaten
Vista: c:\ProgramData
private Nachricht | Beiträge des Benutzers
DarKlajid
myCSharp.de - Member



Dabei seit:
Beiträge: 386
Herkunft: Köln

beantworten | zitieren | melden

Warum nimmst du nicht den IsolatedStorage? Der Link weiter oben ist doch wunderbar.. Oder ist auch da Vista mal wieder klueger als der User/Nutzer/Entwickler..?
Pound for pound, plutonium is about as toxic as caffeine when eaten.
private Nachricht | Beiträge des Benutzers
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

Ich möchte es ja eben nicht isoliert haben.

Also vielleicht hab ich ja nur was überlesen, aber so wie ich das sehe gibt es keinen Weg anwendungsweite Einstellungen zu ändern.

Der Designfehler ist doch aber eigentlich schon in .net 2.0 vorgezeichnet, wo es keinerlei Möglichkeit gibt die anwendungsbezogenen Einstellungen zu ändern. Der nötige Workaround über das öffnen der App.config als Xml Datei zeigt das ja schon.
private Nachricht | Beiträge des Benutzers
DarKlajid
myCSharp.de - Member



Dabei seit:
Beiträge: 386
Herkunft: Köln

beantworten | zitieren | melden

So wie ich das sehe, kannst du dort durchaus anwendungsuebergreifend Dateien ablegen/lesen. Vorausgesetzt du willst die Daten nicht zwischen Anwendungen teilen.

Was hat das jetzt bitte mit der app.config zu tun? Und die im Programm zu oeffnen und zu editieren finde ich etwas - uebel.
Pound for pound, plutonium is about as toxic as caffeine when eaten.
private Nachricht | Beiträge des Benutzers
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

Meinst du DarKlajid du könnest mir in zwei Sätzen erklären wie man anwendungsübergreifend Daten liest und schreibt? Also aus den hier genannten Links ist das meiner Meinung nach nämlich nicht zu entnehmen. Wie gesagt es geht hier um Vista, wo viele Verzeichnisse einfach gesperrt sind.
private Nachricht | Beiträge des Benutzers
TSMike
myCSharp.de - Member



Dabei seit:
Beiträge: 56
Herkunft: Schweiz

beantworten | zitieren | melden

Ich habe mich mit der Materie noch nicht alzu arg beschäftigt aber du muss glaub ein Manifest anlegen und angeben wie und wo du die config öffnen willst.
private Nachricht | Beiträge des Benutzers
DarKlajid
myCSharp.de - Member



Dabei seit:
Beiträge: 386
Herkunft: Köln

beantworten | zitieren | melden

Zitat
Original von Snowwolf3000
Meinst du DarKlajid du könnest mir in zwei Sätzen erklären wie man anwendungsübergreifend Daten liest und schreibt? Also aus den hier genannten Links ist das meiner Meinung nach nämlich nicht zu entnehmen. Wie gesagt es geht hier um Vista, wo viele Verzeichnisse einfach gesperrt sind.

Wenn man dem Forumslink weiter oben folgt, kommt man auf die Seite http://www.dotnetdevs.com/articles/IsolatedStorage.aspx ..

Den Artikel hast du ignoriert oder nur unvollstaendig gelesen. Fuer den letztgenannten Fall: Ab der Ueberschrift "Sharing Data Files Between Assemblies - or not"..
Pound for pound, plutonium is about as toxic as caffeine when eaten.
private Nachricht | Beiträge des Benutzers
Snowwolf3000
myCSharp.de - Member

Avatar #avatar-3109.jpg


Dabei seit:
Beiträge: 142
Herkunft: Süddeutschland

Themenstarter:

beantworten | zitieren | melden

Danke DarKlajid. War letzteres. Hab übersehen das man als Quelle neben User eben auch Machine einstellen kann.
private Nachricht | Beiträge des Benutzers