Berechtigung kriegen

  • VB.NET

Es gibt 22 Antworten in diesem Thema. Der letzte Beitrag () ist von ketzei.

    Berechtigung kriegen

    Hallo,

    ich habe folgendes Problem:

    Ich möchte eine Datei verschieben, die über einen OpenFileDialog aufgefordert wurde.

    Dabei kommt der Fehler:

    Der Zugriff auf den Pfad wurde verweigert.

    Ich brauche also Berechtigungen.
    Aber wie bekomme ich diese??

    Laurens
    Vielleicht wird ja der Zugriff absichtlich verweigert?
    Wenn die Datei in einem geschützten Bereich liegt, sollst du sie vermutlich dort liegen lassen.
    Ist der Zielbereich geschützt, solltest du dort nichts ablegen.

    Windows macht das durchaus mit gewisser Absicht

    Samus Aran schrieb:

    Warum ist hier eigentlich fast jeder Neuling nicht in der Lage zu lesen? -.-

    Ich hab das schon gelesen! Aber das Problem ist ja, dass es trotzdem nicht funktioniert!
    Der Code ist hier:

    VB.NET-Quellcode

    1. System.IO.File.Move(OpenFileDialog1.FileName, "C:\Windows\System32\oobe\info\backgrounds")


    Um die Passage geht es. Und er zeigt immer an, dass ich für diese Stelle keine Berechtigung habe. Egal welchen Pfad ich nehme.
    Doch die Berechtigungen sollte ich haben!
    Also jetzt habe ich es herausgefunden:

    Das Problem lag doch bei dem System32 Pfad!
    Hier nochmal der Quellcode:

    VB.NET-Quellcode

    1. System.IO.File.Move("C:\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg", "C:\EYE\EYE StartscreenChanger\backgroundDefault.jpg")
    2. System.IO.File.Copy(OpenFileDialog1.FileName, "C:\EYE\EYE StartscreenChanger\backup\backgroundDefault.jpg")
    3. System.IO.File.Move("C:\EYE\EYE StartscreenChanger\backup\backgroundDefault.jpg", "C:\Windows\System32\oobe\info\backgrounds")

    Beim ersten und dritten schlägt er an!

    Aber wie kriege ich das wieder hin, sodass ich die Berechtigung habe?

    Laurens

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „lauwag“ ()

    lauwag schrieb:

    Das Problem ist nur das das Verzeichnis der Desktop oder der "Eigene Bilder" ist.

    Ich weiß ja nicht, aber Desktop und eigene Bilder sind für mich nicht: "C:\Windows\System32\oobe\info\backgrounds\backgroundDefault.jpg"!

    Da kannst du es sogar gut haben, dass es dort eine zusätzliche Schutzfunktion gibt. Windows 7 hat einen weiteren unsichtbaren Update-Account welchem alle Systemordner gehören. Da hat ein normaler Admin keinen Zugriff drauf.
    Wenn du das Hintergrundbild ändern willst, dann mach doch sowas: [VB 2010] Hintergrundbild ändern und Eigenschaften anpassen, aber nicht so einen Schei ... äh ... Scheibenkleister.



    Mfg.
    SAR
    Edit:

    Vergesst das alles! Jetzt funktioniert es wunderbar! Hier könnt ihr euch das Programm runterladen:
    "http://eyeinc.jimdo.com/unsere-programme/startscreenchanger/"

    Es hatte wohl doch mit Adminrechten zu tun, also startet es bitte als admin, dann sollte es funktionieren!

    Laurens

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „lauwag“ ()

    Proplem hatt ich auch: Einfach in vbprojekt->"deinprojekt"-eigenschaften-->einstellungen für Benuzerkontensteuerung anzeigen--->das:

    Quellcode

    1. <requestedExecutionLevel level="asInvoker" uiAccess="false" />
    durch das:

    Quellcode

    1. <requestedExecutionLevel level="highestAvailable" uiAccess="false" />

    ersetzen
    Habe das gleiche Problem: ich will Dateien nach dem ich sie ausgelesen hab, in eine Unterordner verschieben mit file.move!!
    Aber ich bekomme die Fehlermeldung, dass ich keinen Zugriff hab. Habe aber den Ordner im Netzwerk freigegeben und meinem Benuzter alle Rechte vergeben.

    Wenn ich das einstelle:

    <requestedExecutionLevel level="highestAvailable" uiAccess="false" />

    kommt bei mir : Fehler 1 Die Anforderungsausführungsebene "highestAvailable" wird von ClickOnce nicht unterstützt

    Was kann ich noch probieren?
    Habe das gleiche Problem: ich will Dateien nach dem ich sie ausgelesen hab, in eine Unterordner verschieben mit file.move!!
    Aber ich bekomme die Fehlermeldung, dass ich keinen Zugriff hab. Habe aber den Ordner im Netzwerk freigegeben und meinem Benuzter alle Rechte vergeben.

    Wenn ich das einstelle:

    <requestedExecutionLevel level="highestAvailable" uiAccess="false" />

    kommt bei mir : Fehler 1 Die Anforderungsausführungsebene "highestAvailable" wird von ClickOnce nicht unterstützt

    Was kann ich noch probieren?
    Ganz einfach, deaktiviere ClickOnce oder probiere es anstatt "highestAvailable" mit "requireAdministrator".
    Wenn gar nichts hilft kannst du zumindest die Fehlermeldung verhindern mit einem Try Catch - Block, welches ich nutze wenn ich z.B. rekursiv Ordner scanner und Systemordner "ignorieren" will.
    Wenn ich clickOnce deaktiviere und auf veröffentlichen klicke, dann kommt wieder die selbe Fehlermeldung und bei ClickOnce ist der Haken wieder drin!!????

    Ich habs mal beim installiertem Programm geändert im manifest. Aber da gings dann auch nicht mit verschieben!!