Hallo zusammen,
ich habe folgendes Problem.
Ich starte meine Anwendung unter Windows 7 als Administrator, dazu habe ich ein Anwendungsmanifestdatei angelegt wo ich <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> eingetragen habe. Die Anwendung wird auch mit Adminrechten gestartet. So weit so gut. Nun rufe ich in dieser Anwendung ein neuen Prozess auf, der auch mit Adminrechten laufen soll. Leider tut er mir den gefallen aber nicht.
Gibt es eine Möglichkeit die Adminrechte zu vererben oder irgendetwas in diese Richtung?
Habe auch schon gegoogelt und folgendes gefunden, was aber leider nicht funktioniert.
System.Diagnostics.ProcessStartInfo newProcessStartUpInfo = new System.Diagnostics.ProcessStartInfo(Environment.GetEnvironmentVariable("TEMP") + "\\uninstall.exe");
newProcessStartUpInfo.Verb = "runas";
System.Diagnostics.Process.Start(newProcessStartUpInfo);
Ich hoffe ich habe mich verständlich ausgedrückt.
Danke und Grüße
Christian
Habe ebenfalls gerade mal gegoogled (mit englischen Stichworten) und bin im ersten Eintrag auf folgendes gestoßen:
proc.StartInfo.UseShellExecute = true;
proc.StartInfo.Verb = "runas";
proc muss ein System.Diagnostics.Process sein!
Habe es nicht getestet!
Moin,
Nun rufe ich in dieser Anwendung ein neuen Prozess auf, der auch mit Adminrechten laufen soll. Leider tut er mir den gefallen aber nicht.
Müsste er aber, auch ohne dein zutun. Bei Windows wird das Admintoken immer weitergegeben wenn du aus einem Adminprozess einen neuen startet, da reicht dann ein simples Process.Start(...) aus. Schwieriger wäre der umgekehrte Weg, also von einem Adminprozess einen Prozess starten, der nicht über Adminrechte verfügt.
Cheers
Hallo zusammen,
danke für die Antworten.
Ich habe das Problem hinbekommen und die Adminrechte werden auch automatisch weitergegeben. Mein Fehler lag an einer anderen Stelle. Hatte auf Grund der Fehlermeldung vermutet das es daran liegt.
Danke und Grüße
Christian