Process.Start () ne fraie nouveau processus dans le même utilisateur
-
30-09-2019 - |
Question
J'étais toujours l'impression que lorsque vous utilisez un processus comme (domain\user) mydomain\myuser
, lors de l'utilisation Process.Start()
il commencerait ce nouveau processus en utilisant les mêmes informations d'identification -. mydomain\myuser
La question que je vais avoir est que mon appel Process.Start()
semble créer un processus dans le compte SYSTEM, qui est à l'origine des problèmes d'autorisation de moi dans le processus a commencé (qui doit fonctionner sous un compte d'administrateur en raison du travail qu'il fait). Si elle change les choses - je fraie ce processus (une coutume construit exe) de dans une fenêtre d'installation
Toutes les suggestions? J'ai lu sur les fenêtres des stratégies de groupe (éventuellement) ayant un impact sur cela, mais si je suis honnête, il est perdu sur moi.
EDIT: un petit extrait:
Où exename
et commandLine
sont des paramètres pour ce corps de la méthode:
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;
La solution
Soit vous entreprenez procInfo.UseShellExecute à true, ou exécuter cmd comme un processus avec votre exe en tant que paramètre à la commande cmd. Lorsque UseShellExecute est définie sur false, voici beaucoup d'effets secondaires intéressants: UseShellExecute
Autres conseils
Votre impression est vrai. Process.Start () commencera toujours le nouveau processus sous les informations d'identification de l'utilisateur actuel -. Sauf si vous fournissez des informations d'identification de remplacement dans une de ProcessStartInfo
ou l'utilisation des surcharges qui prennent des informations d'identification
Il doit y avoir un autre problème -. Part un extrait de votre code
UPDATE
OK! Vous ne l'avez pas mentionné quelque chose au sujet d'installation. Tous les installateurs MSI seront en cours d'exécution dans le système, car ils seront gérés par " Windows Installer " que vous pouvez vérifier et ils courent sous SYSTEM .