2016-08-03 8 views
0

Ich habe eine Datei mit dem Namen PolicyLookup.sql, die sich im Stammverzeichnis meiner Anwendung befindet. Meine App lädt diese Datei in ein Textfeld, sodass Benutzer sie bearbeiten und die ursprüngliche Datei durch Drücken einer Schaltfläche zum Speichern überschreiben können. Dies alles funktionierte während des Tests einwandfrei, jedoch konnten die Benutzer nach der Bereitstellung die Datei aufgrund von Schreibproblemen nicht innerhalb von C:\Program Files speichern.Probleme beim Überschreiben der Datei im Anwendungsordner

Gibt es einen Weg um diese - oder gibt es eine bessere Möglichkeit, diese Art von Ding zu implementieren? Eine Lösung, die mir in den Sinn kommt, ist, den Inhalt der PolicyLookup.sql Datei in eine Benutzereinstellung zu stellen - es fühlt sich jedoch intrinsisch falsch an, den gesamten Inhalt einer Datei in eine Einstellungsvariable zu stellen.

+0

Was ist das eigentliche Schreibproblem? Es es Benutzerberechtigungen oder etwas anderes? Der spezifische Fehler wäre hilfreich. –

+0

Spezifischer Fehler ist: "5: Zugriff auf den Pfad 'C: \ Programme \ myapps \\ myapp \ PolicyLookup.sql' wird verweigert." –

Antwort

1

Normale Benutzer haben keine Schreibberechtigungen für %ProgramFiles%. Wenn Sie eine Konfigurationsdatei speichern müssen, legen Sie sie in einen Unterordner von %APPDATA% (der für mich ist C:\Users\Gord\AppData\Roaming) oder an einem anderen Ort, an dem ein normaler Benutzer schreiben darf.

+0

Okay - das würde Sinn machen! Mir ist nicht klar, wie ich Visual Studio befehle, eines meiner Assets in% APPDATA% zu platzieren, aber ich kann sehen, wie das das Problem lösen würde. Wenn ich die Eigenschaften des Assets in Visual Studio anschaue, kann ich den Dateinamen sehen, und ich kann einen nicht editierbaren vollständigen Pfad sehen - aber ich kann nirgends sehen, dass ich einen Speicherort angeben kann. –