Wie andere App als Administrator unter Windows XP ausführen
-
12-10-2019 - |
Frage
Ich benutzte die Anwendungsmanifestdatei wie hier einen Teil meiner Anwendung zu haben mit erhöhten Rechten ausgeführt wird (was es braucht).
Also, wenn nötig, ruft das Hauptprogramm nur eine kleine Montag Process.Start verwendet, die dann die Aufgabe übernimmt, für die Administratorrechte erforderlich sind.
Doch wie kann ich die gleiche Sache auf Windows XP tun?
Es scheint, XP einfach ignoriert dieses manifest und führt die kleine Baugruppe im aktuellen Benutzerkontext.
Lösung
Der folgende Code von hier tut genau das, was ich brauche:
ProcessStartInfo processStartInfo = new ProcessStartInfo("path", "args");
processStartInfo.Verb = "runas";
using (Process process = new Process())
{
process.StartInfo = processStartInfo;
process.Start();
process.WaitForExit();
}
Also in der Tat brauchen Sie „runas“ auf ProcessStartInfo.Verb einzustellen. Mit dem beigefügten Manifest dieses Code funktioniert jetzt unter Windows XP, Vista und 7.
Update:
Siehe auch diese Antwort auf eine ähnliche Frage . Dies ist im Grunde der gleiche Code, nur Argumente als auch mit.
Andere Tipps
Sie können mit der runas
Befehl.
Windows XP nicht UAC hat.
Sie müssen Process.Start
mit den Anmeldeinformationen eines Benutzers mit Verwaltungs priviliges nennen.