Autor Beitrag
OlafSt
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Do 13.03.14 23:43 
Nachdem mein app.config-Problem gelöst ist, nun das nächste. IMHO ist es gut, das es mich gleich hier zu Beginn trifft.

Mein Programm möchte eine neue Datei erstellen. Der Benutzer kann vorgeben, wo diese Datei erstellt werden soll und zum Glück meinte ich als DAU: Mach mal in C:\. Nun, seit Vista ist das ja nicht mehr so einfach, mal eben ne Datei in C:\ zu erstellen und erwartungsgemäß bekomme ich eine NotAuthorizedException um die Ohren.

Nun, wie bekomme ich denn diese Datei nun erstellt ? Vollzugriff auf C:\ einstellen ist natürlich keine Option (und hat auch nicht geholfen, just for Info). Folgender Programmcode ist nicht tauglich:
ausblenden C#-Quelltext
1:
2:
3:
   FileSecurity filesecurity=new FileSecurity(BackupFileName, AccessControlSections.All);
   fsOut=File.Create(BackupFileName,4096,FileOptions.None,filesecurity);
   zipStream = new ZipOutputStream(fsOut);


Um Security-Attributes festzulegen, muß die Datei existieren - tut sie aber nicht, weil ich sie ja erst erstellen will. Das typische Katze->Schwanz-Problem. Was muß ich tun, um meine Datei trotzdem erstellt zu bekommen - unbeachtlich der Tatsache, das C:\ wirklich kein guter Ort ist, aber nicht zu verhindern ist ?

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Do 13.03.14 23:51 
Meines Wissens musst Du Deine Anwendung mit Admin-Rechten starten. Um das schon beim Start anzufordern, musst Du eine Manifest-Datei hinzufügen (geht im Visual Studio) und dort das requestedExecutionLevel entsprechend setzen.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".
OlafSt Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 486
Erhaltene Danke: 99

Win7, Win81, Win10
Tokyo, VS2017
BeitragVerfasst: Fr 14.03.14 10:14 
Danke, das funktioniert.

Nur für die Möglichkeit, das der Benutzer eventuell vielleicht ins Root der Bootplatte schreiben will, gleich dauerhaft Admin-Rechte anzufordern (und damit auch den unbeaufsichtigten Betrieb auszuschließen) ist wohl doch mit Kanonen auf Spatzen gefeuert.

Gibt es eine Möglichkeit, diese Rechte im nachhinein anzufordern ?

_________________
Lies, was da steht. Denk dann drüber nach. Dann erst fragen.