Windows 8 problem mit "als Administrator ausfüren"

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von Jonas Jelonek.

    Windows 8 problem mit "als Administrator ausfüren"

    Hallo liebe VB-Comunity,

    Ich habe ein Problem mit einem VB.NET programm unter Windows 8 (64 bit)

    Ich bin da ziemlich in einer Zwickmühle. Also wenn ich ein Programm "als administrator ausführen" starte dann funktionieren alle zugriffe auf einer Netzwerkfestplatte nicht und es kommt die fehlermeldung "Das system kann das angegebene laufwerk nicht finden" nur wenn ich es ohne "als administrator ausführen" starte funktionierts.

    Jetzt kann man ja sagen, dann lass es doch einfach mit dem "als administrator ausführen", aber dann funktionieren zugriffe auf die registry nicht da dann der zugriff wegen berechtigungen verweigert wird. Aber unter Windows 7 funktioniert das mit dem "als administrator ausführen" problemlos und dann auch mit dem Registy schreiben.

    Habt ihr eine Idee woran das liegen kann?

    Ich bedanke mich schonmal für eure Hilfe :)
    Wenn du dein Programm manuell als Administrator ausführst, machst du das wahrscheinlich per Explorer.

    Aber versuch mal, unter den Projekteinstellungen im Tab Anwendung auf den Button "Windows-Einstellungen anzeigen" zu drücken und dann in Zeile 19 anstatt <requestedExecutionLevel level="asInvoker" uiAccess="false" /> die Zeile <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> einzufügen und dann zu starten. Mit dieser Änderung startet deine Anwendung automatisch mit Administratorrechten.

    Eine Frage wäre dann noch, wie du auf die Netzwerkfestplatte zugreifst, weil es dort auch Probleme geben kann.

    MfG
    Jonas Jelonek
    die netzlaufwerke existieren nicht unter dem "admin" user - logisch denn du hast sie unter deinem user erstellt
    also musst du dir einen anderen weg suchen (zb. den netzwerkpfad "\\adresse\freigabe" statt "X:\Freigabe")
    @Jonas Jelonek: das mit den Windows Einstellungen habe ich ausprobiert, leider der gleiche Fehler. Um ein Programm auf der netzwerkfestplatte zu starten benutze ich folgenden befehl:

    VB.NET-Quellcode

    1. Dim game As New Process
    2. With game
    3. .StartInfo.FileName = "X:\Spiele\skyrim.exe"
    4. .StartInfo.WorkingDirectory = "X:\Spiele"
    5. End With
    6. game.Start()


    @slice: Okay, hört sich logisch an aber was mich wundert das das auf Windows 7 funktioniert. Gibt es denn eine möglichkeit die netzwerkfestlatte als Admin hinzuzufügen?
    Es gibt schon eine Möglichkeit, die wäre dann: Mit dem Administrator-Konto anmelden und darunter die Netzwerkfestplatte einzubinden. Ich bin mir aber nicht dessen bewusst, ob es tatsächlich funktioniert.

    Auf jeden fall solltest du mal den Tipp von slice ausprobieren.
    Nein.
    Mit den oben beschriebenen Methoden modifizierst du dein eigenes Programm, um Admin zu forcieren.
    Mit "runas" als ProcessStartinfo-Verb gibst du beim Starten des mit Process.Start zu startenden fremden Programms die Admin-Privilegien mit.

    Ein Beispiel für so einen Aufruf gibt's hier:
    mztools.com/articles/2009/MZ2009007.aspx
    --
    If Not Program.isWorking Then Code.Debug Else Code.DoNotTouch
    --