Hallo Leute,
ich schreib gerade ein kleines Tool, das aus einer ZIP-Datei mehrere Schriftarten in den Ordner C:\Windows\Fonts entpacken und überschreiben soll. Nun bekomme ich leider immer den Fehler, dass ich keine Berechtigung habe auf diesen Systemordner zuzugreifen, auch wenn ich das Programm als Administrator starte (+ passender Manifesteintrag). Woran liegt das, und wie kann ich das lösen? Ich hab jetzt ne ganze Zeit im Netz gesucht und nicht brauchbares (mit Beispiel) gefunden, außer die DirectoryObjectSecurity-Klasse, die ich aber Aufgrund des fehlenden Beispiels nicht verstehe.Hoffentlich könnt ihr mir weiter helfen. Danke
Hier ist der Code, der den Fehler verursacht:
Die ua_ex Exeption gibt mir diese Message aus: "Access to the path 'C:\Windows\Fonts\timesbi.ttf' is denied."
Ich benutze DotNetZip für das entpacken der ZIP-Datei, das sollte doch kein problem sein?
Nun mein Frage ist jetzt, wie ich die ensprechenden Rechte bekomme ohne sie für immer fest zu setzen? Ich will ja nicht nicht das AccessManagement ausschalten, sondern nur kurz "umgehen".
Danke für eure Hilfe!
ich schreib gerade ein kleines Tool, das aus einer ZIP-Datei mehrere Schriftarten in den Ordner C:\Windows\Fonts entpacken und überschreiben soll. Nun bekomme ich leider immer den Fehler, dass ich keine Berechtigung habe auf diesen Systemordner zuzugreifen, auch wenn ich das Programm als Administrator starte (+ passender Manifesteintrag). Woran liegt das, und wie kann ich das lösen? Ich hab jetzt ne ganze Zeit im Netz gesucht und nicht brauchbares (mit Beispiel) gefunden, außer die DirectoryObjectSecurity-Klasse, die ich aber Aufgrund des fehlenden Beispiels nicht verstehe.Hoffentlich könnt ihr mir weiter helfen. Danke
Hier ist der Code, der den Fehler verursacht:
VB.NET-Quellcode
- Using zip As ZipFile = ZipFile.Read(fontszippath)
- For Each a As ZipEntry In zip
- Try
- logbox.AppendText("Extracting: " & a.FileName & vbCrLf)
- a.Extract("C:\Windows\Fonts\", ExtractExistingFileAction.OverwriteSilently)
- Catch ua_ex As UnauthorizedAccessException
- logbox.AppendText(ua_ex.Message & vbCrLf)
- GoTo fail
- Catch ex As Exception
- logbox.AppendText("Extracting: " & a.FileName & "FAILED" & vbCrLf)
- GoTo fail
- End Try
- Next
- End Using
Die ua_ex Exeption gibt mir diese Message aus: "Access to the path 'C:\Windows\Fonts\timesbi.ttf' is denied."
Ich benutze DotNetZip für das entpacken der ZIP-Datei, das sollte doch kein problem sein?
Nun mein Frage ist jetzt, wie ich die ensprechenden Rechte bekomme ohne sie für immer fest zu setzen? Ich will ja nicht nicht das AccessManagement ausschalten, sondern nur kurz "umgehen".
Danke für eure Hilfe!