J'ai un projet d'application Visual Studio Windows. J'ai ajouté du code pour télécharger un fichier de mise à jour de l'installateur. Une fois le téléchargement terminé, l'installateur doit disposer des privilèges d'administrateur pour s'exécuter. J'ai ajouté un fichier manifeste.
Lorsque l'utilisateur clique sur le DownloadUpdate.exe, l'UAC lui demande des autorisations d'administrateur. J'ai donc supposé que tous les processus créés et appelés dans DownloadUpdate.exe s'exécuteront en tant qu'administrateur. J'ai donc fait en sorte que l'installation appelle mon fichier téléchargé avec le code suivant :
Process p = new Process();
p.StartInfo.WindowStyle = ProcessWindowStyle.Hidden;
p.StartInfo.FileName = strFile;
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.RedirectStandardError = true;
1 votes
Non, vous ne pouvez pas supposer que tous les processus exécutés par DownloadUpdater.exe le sont en mode administrateur. En fait, ce serait une terrible violation de la sécurité. Si vous exécutez un autre processus qui nécessite des droits d'administrateur, l'utilisateur sera à nouveau invité.