none
Rechte für das erstellen eines Ordners geben RRS feed

  • Frage

  • Hallo,
    ich stehe mal wieder vor einem Problem, welches ich nicht alleine hinbekomme.
    Mein Problem ist wie folgt: Ich möchte einen simplen Ordner in dem Pfad C:\Programme\ erstellen. Jedoch sagt mir das Programm beim Debuggen, dass der Zugriff vom System verweigert wurde.
    Jetzt ist meine Frage: Wie gebe ich dem Programm die benötigten Rechte?
    Vielleicht liegt es ja auch an meinem Windows Vista Home Premuim.

    Mein Code:
    Imports System.IO
    
    Public Class Form1
    
        Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            Dim path As String
            Dim returnValue As DirectoryInfo
    
            returnValue = Directory.CreateDirectory("C:\Programme\ordner")
        End Sub
    End Class
    

    Vielen Dank schonmal im Voraus :)
    Donnerstag, 7. Januar 2010 15:49

Antworten

  • Hallo,

    der User unter dem das Programm ausgeführt wird, muss administrative Berechtigungen haben, um in "C:\Programme" schreiben zu dürfen. Vista und Windows 7 stufen by default jeden Benutzer auf einfache Benutzerrechte herunter, damit kannst Du also keinen Ordner und keine Datei in "C:\Programme" schreiben. Um Deinem Programm die notwendigen Rechte zu geben, führst Du es im Explorer über Rechte Maustaste => "Als Administrator ausführen" aus.

    Im Regelfall sollte Deine Anwendung aber nicht in "C:\Programme" schreiben müssen. Ordner die Du dort benötigst, sollten von Deinem Setup angelegt werden. Wenn Du Benutzerdaten/Einstellungen speichern möchtest, gibt es spezielle Ordner, wo der aktuelle User entsprechende Schreibrechte hat. Siehe Environment.GetFolderPath .
    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Donnerstag, 7. Januar 2010 20:05

Alle Antworten

  • Hi,

    hilft zwar nicht viel weiter, aber ich kann dir sagen, dass es bei win xp funktioniert...

    mfg
    Imperium_Romanum

    PS.:
    Es könnte evtl. an bestimmten Einstellungen im Framework liegen. Vielleicht lohnt sich ja ein Blick darein.
    So oder so ähnlich müsste der Pfad zu einem Konfigurierungs-Assistenten lauten:
    C:\WINDOWS\Microsoft.NET\Framework\v1.0.3705\ConfigWizards.exe
    MAY THE SOURCE BE WITH YOU!
    Donnerstag, 7. Januar 2010 16:23
  • Hallo,

    danke für deine Antwort. Dann muss ich wohl irgendwie gucken, dass ich nach ausführen des Befehls kontrolliere, ob der Ordner angelegt wurde oder nicht und wenn nicht den Benutzer bitten ihn manuell zu erstellen.

    Wer jedoch noch einen Weg weiß, bitte posten :)

    MFG Der-Fuchs10
    Donnerstag, 7. Januar 2010 16:29
  • Hallo,

    der User unter dem das Programm ausgeführt wird, muss administrative Berechtigungen haben, um in "C:\Programme" schreiben zu dürfen. Vista und Windows 7 stufen by default jeden Benutzer auf einfache Benutzerrechte herunter, damit kannst Du also keinen Ordner und keine Datei in "C:\Programme" schreiben. Um Deinem Programm die notwendigen Rechte zu geben, führst Du es im Explorer über Rechte Maustaste => "Als Administrator ausführen" aus.

    Im Regelfall sollte Deine Anwendung aber nicht in "C:\Programme" schreiben müssen. Ordner die Du dort benötigst, sollten von Deinem Setup angelegt werden. Wenn Du Benutzerdaten/Einstellungen speichern möchtest, gibt es spezielle Ordner, wo der aktuelle User entsprechende Schreibrechte hat. Siehe Environment.GetFolderPath .
    Thorsten Dörfler
    Microsoft MVP Visual Basic
    Donnerstag, 7. Januar 2010 20:05
  • Danke für deine Antwort :)
    Habe mein Problem jetzt endlich gelöst.
    Freitag, 8. Januar 2010 18:27