Environment.SpecialFolder.CommonApplicationData gibt den Ordner „Programme/App“ zurückC#

Ein Treffpunkt für C#-Programmierer
Guest
 Environment.SpecialFolder.CommonApplicationData gibt den Ordner „Programme/App“ zurück

Post by Guest »

Ich habe eine WPF-Anwendung (.NET 4.5) entwickelt, die einige Konfigurationsdateien im Ordner CommonApplicationData speichert.
Zu diesem Zweck verwende ich Folgendes:

Code: Select all

string AppDataFolder = Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData);
Außerdem hänge ich Firmenname / Produktordner an diesen Pfad an und in 99,9 % funktioniert alles. Die Anwendung kann dort Konfigurationen schreiben und lesen. Die App wird hauptsächlich auf Win7- und Win8-Rechnern verwendet, aber ich habe vom Kunden die Meldung erhalten, dass auf einem Rechner einige Fehler auftreten (Windows 7 Pro, .NET 4.5).
Als ich versuchte, das zu debuggen Problem, ich habe Folgendes im Protokoll gefunden:

System.IO.DirectoryNotFoundException: Konnte einen Teil des Pfads „C:\Programme“ nicht finden (x86)\CompanyName\App\X\Y\Z\settings.config'.

Wo:

X\Y\Z\settings.config

sollte Teil von C:\ProgramData sein, aber irgendwie Die Anwendung gibt den Ordner zurück, in dem die App installiert ist (Programme). Ich habe versucht, dies auf mehreren Maschinen und Umgebungen zu replizieren, aber ohne Erfolg.
Meine Fragen:
Ist das möglich? ändern

Code: Select all

Environment.SpecialFolder.CommonApplicationData
[/b] Speicherort in Windows? Handelt es sich hierbei um ein Sicherheitsproblem (Gruppenrichtlinie)? Vielleicht hat jemand den Pfad irgendwie geändert.
Ich weiß nicht, warum die App in diesem einen Fall einen anderen Ordner als C:\ProgramData zurückgibt.
Wenn es möglich ist, wo ich den Wert von Environment.SpecialFolder.CommonApplicationData überprüfen kann, außer programmgesteuert?
Irgendwelche Ratschläge oder Lösungen?
Ich kann immer ein paar Überprüfungen durchführen und versuchen, es zu sehen Wenn der Pfad falsch ist, korrigieren Sie ihn manuell, aber das hört sich nicht gut an!
Ich habe immer gedacht, dass die Verwendung von Environment.GetFolderPath(Environment.SpecialFolder.CommonApplicationData) gibt mir unabhängig von der Betriebssystemversion den richtigen Ordner.
Ich habe versucht, die App mit vollständigen Administratorrechten auszuführen (plus als Administrator auszuführen), das Problem ist das gleiche. Die Anwendung erhält einen falschen Pfad von Environment.SpecialFolder.CommonApplicationData.
Vielen Dank im Voraus!

Quick Reply

Change Text Case: 
   
  • Similar Topics
    Replies
    Views
    Last post