Process.Start () Laichen keinen neuen Prozess unter demselben Benutzer
-
30-09-2019 - |
Frage
Ich war immer unter dem Eindruck, dass, wenn Sie ein Verfahren, wie (domain\user) mydomain\myuser
ausgeführt wird, wenn Process.Start()
Verwendung würde es diesen neuen Prozess startet die gleichen Anmeldeinformationen -. mydomain\myuser
Das Problem, das ich habe, ist, dass mein Process.Start()
Anruf scheint einen Prozess unter dem Systemkonto zu schaffen, die Probleme mir die Erlaubnis in dem gestarteten Prozess verursacht (was durch die Arbeit unter einem Admin-Account laufen muss es den Fall ist). Wenn es ändert sich die Dinge - ich Laichen diesen Prozess (ein speziell angefertigten exe) von innerhalb eines Windows Installer
Irgendwelche Vorschläge? Ich habe über Fenster Gruppenrichtlinien lesen (möglicherweise) auf diese eine Wirkung haben, aber wenn ich ehrlich bin, ist es verloren auf mich.
EDIT: ein kleiner Ausschnitt:
Wo exename
und commandLine
sind Parameter für diese Methode Körper:
ProcessStartInfo procInfo = new ProcessStartInfo(exeName, commandLine);
procInfo.WorkingDirectory = workingDirectory;
procInfo.UseShellExecute = false;
procInfo.CreateNoWindow = true;
Process process = Process.Start(procInfo);
Process.WaitForExit();
return process.ExitCode;
Lösung
gesetzt Entweder procInfo.UseShellExecute auf true oder Ausführen cmd als einen Prozess mit Ihrem exe als Parameter an den cmd-Befehl. Wenn UseShellExecute auf false gesetzt ist, sind hier viele interessante Nebenwirkungen: UseShellExecute
Andere Tipps
Ihr Eindruck ist wahr. Process.Start () immer den neuen Prozess unter Anmeldeinformationen des aktuellen Benutzers starten -. Es sei denn, Sie alternative Anmeldeinformationen in dem ProcessStartInfo
oder Verwendung zur Verfügung stellt eines der Überlastungen, die Anmeldeinformationen übernehmen
Es muss ein anderes Problem sein -. Aktie ein Ausschnitt des Codes
UPDATE
OK! Du hast nichts über Installer erwähnen. Alle MSI-Installer wird unter System ausgeführt werden, da sie durch ausgeführt werden " Windows Installer ", was Sie können überprüfen, und sie laufen unter SYSTEM .