Ergebnis 1 bis 5 von 5
  1. #1
    Mitglied
    Registriert seit
    Jun 2008
    Beiträge
    70

    Standard [C#] Anderen Prozess "elevated" mit Administratorrechten starten.

    Hallo,

    ich schreibe gerade an einem Programm, welches die devcon.exe (von Microsoft) aufrufen muss, um einstellungen im Gerätemanager zu ändern. Unter WindowsXP funktioniert dies Problemlos, unter Windows 7 hingegen leider nicht.

    Das Problem liegt daran, das "meine.exe" zwar als Administrator ausgeführt wird, dieser aber die "devcon.exe" nicht als Administrator ausführen kann.

    Ich habe schon viele Tipps gefunden, wie man einen Child-Prozess als Administrator ausführen kann.

    Code:
    myprocess.StartInfo.Verb = "runas";
    Habe ich auch schon versucht, dies nützt leider nichts.
    Die Einstellungen im Manifest der Datei habe ich auch bereits verändert, ohne Erfolg.

    Wichtig hierbei ist, das beim Starten des Programms keine Passwort-Abfrage erfolgen darf.

    Viele Grüße

    DaRieder

  2. #2
    Mr. Floppy is da

    Moderator

    Avatar von Larius
    Registriert seit
    Aug 2004
    Ort
    Österreich
    Beiträge
    4.913

    Standard Re: [C#] Anderen Prozess "elevated" mit Administratorrechten starten.

    Das wird meines Wissens nach von der UAC eingeschränkt, dass dies eben nicht möglich ist.

  3. #3
    Mitglied

    (Threadstarter)


    Registriert seit
    Jun 2008
    Beiträge
    70

    Standard Re: [C#] Anderen Prozess "elevated" mit Administratorrechten starten.

    Hallo,

    auf den Rechnern auf denen das Programm ausgeführt werden soll, ist die UAC Standardmäßig deaktiviert, trotzdem funktioniert es nicht, da die devcon.exe keine Administratorrechte bekommt.

    Der Parent-Prozess wird ja auch explizit als Administrator gestartet, nur gibt dieser diese Rechte leider nicht an die Devcon.exe weiter.

    Gibt es denn keine Möglichkeit den Child-Prozess auch mit Administrativen Berechtigungen laufen zu lassen?

  4. #4
    Mitglied
    Registriert seit
    Oct 2004
    Beiträge
    560

    Standard Re: [C#] Anderen Prozess "elevated" mit Administratorrechten starten.

    Probier mal folgendes:
    Code:
    var pass = new SecureString();
    pass.AppendChar('p');
    pass.AppendChar('a');
    pass.AppendChar('s');
    pass.AppendChar('s');
    Process.Start("notepad", "admin", pass, "");

  5. #5
    Mitglied
    Registriert seit
    Feb 2009
    Ort
    Köln
    Beiträge
    125

    Thumbs up Re: [C#] Anderen Prozess "elevated" mit Administratorrechten starten.

    Hast du ein 32 oder 64 Bit Bertiebssystem?
    Ich hatte auch mal probleme damit ist aber VB

    http://board.gulli.com/thread/141028...n-ausschalten/

    ich hatte die Falsche Version erwischt. Im WinDDK gibt es alle 3 Versionen die 32Bit Version läuft unter Win64 nicht richtig.
    Unter 64 Bit brauchst du die AMD64 version und 32 Bit die i386

    Ich dachte damals das Devcon nicht im Adminmodus startet und habe auch eine ganze weile damit verbracht zu versuchen Devcon im Adminmodus zu starten. Es lag nur an der Falschen version. Vieleicht ist es das ja schon.

    Viel glück

    Devcon startet standarmäßig im Adminmodus deshalb ist keine einstellung diesbezüglich nötig.

    Es gibt aber auch noch andere Möglichkeiten die Konfiguration zu bearbeiten.
    Ohne Devcon

    Stichwort DLL import und setupapi.
    Wenn du interess daran hast Google mal HardwareHelper Libery Vb.net/c#.
    Da gibt es ech gute beispiele im Netz.

    Der vorteil ist, das du alles von dem Programm aus machen kannst und nicht auf Devcon angewiesen bist.

    Wenn du mal den Sourcode in der WinDDK im Verzeichniss

    WinDDK\7600.16385.1\scr\setup\devcon

    öffnest siehst du das Devcon auch nur mit den Setupapi funktionen arbeitet.
    Die Funktionen kannst du alle Importieren. Man könnte Devcon 1 zu 1 in VB.Net oder C# übersetzen wenn es sein muss.

    Also viel Glück nochmal.
    Geändert von Mikeatweb (24. 01. 2012 um 02:10 Uhr)

  6.  
     
     

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •