Question

Élever un processus pour qu'il s'exécute en tant qu'administrateur ne fonctionne pas. Si j'exécute cette application à partir d'une invite de commande avec privilèges élevés, tout se passe bien. Mais mon code ci-dessous ne fonctionne pas.

Process setupws = new Process();
setupws.StartInfo.FileName = @"setupws.exe";
setupws.StartInfo.Verb = "runas";
setupws.StartInfo.UseShellExecute = true;
setupws.Start();
setupws.WaitForExit();

Le fichier setupws.exe fonctionne correctement, mais pas en tant qu'administrateur.

Qu'est-ce que je fais mal?

Merci

PS. J'ai également utilisé mostAvailable et requireAdministrator dans mon fichier app.manifest

Était-ce utile?

La solution

Dans le manifeste, vous devez marquer votre programme d’installation de la manière suivante: «requiredExecutionLevel level = requireAdministrator», voir Créer et incorporer un manifeste d'application (UAC) .

PS. RequireAdministrator doit figurer dans le manifeste de setupws.exe.

Autres conseils

Avez-vous exécuté votre application en tant qu'administrateur et l'avez-vous essayé? Vous pouvez faire quelque chose comme:

using System.Security.Permissions;

var mine = new EnvironmentPermission(PermissionState.Unrestricted);
mine.AddPathList(EnvironmentPermissionAccess.AllAccess, Environment.CurrentDirectory);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top