J'ai tenté d'exécuter des tâches Win32 dans C# 3.5 pour obtenir des droits utilisateur élevés pour une application de console. Je développe sur Visual Studio 2008 SP1/GDR et les choses fonctionnent bien lorsqu'il est exécuté sous le débogueur. Les choses fonctionnent aussi bien lorsque je lance l'application de console autonome. Les choses fonctionnent également bien quand je place tout dans un MSI et l'installe sur un serveur 2003 et exécute l'application de la console.Serveur 2008 impossible de définir les droits utilisateur
Si je prends le même MSI et l'installer sur un serveur 2008 avec l'UAC activé, puis exécutez l'application de la console, je reçois des messages comme ceci:
Unable to set right for the account "DOMAIN\QAUSER": SeCreateGlobalPrivilege
System.UnauthorizedAccessException Attempted to perform an unauthorized operation.
Je ne peux pas attendre mon déploiement/admins de serveur à faire quoi que ce soit avec mon application autre que l'installer, et ils ne vont pas désactiver l'UAC. Il doit y avoir un moyen programmatique pour définir correctement les droits d'utilisateur que je peux ajouter à l'application de la console - quelqu'un sait comment?
Merci.
Comment le réglage VS influent sur ce que mon application déployée fait? Je pense qu'il devrait y avoir quelque chose que je peux mettre à faire programatically ce qui pourrait aller dans un VS – Snowy
Je doute que votre application après le déploiement sera en mesure de changer la façon dont son exécution.Si tel est le cas, tout malveillant L'application pourrait se mettre en place et nous serions de retour aux jours de l'ouest sauvage de XP. Le paramètre VS fait partie du processus UAC et détermine au moment de la création les autorisations dont une application a besoin. Il doit encore être exécuté (je pense) en tant qu'administrateur et après le changement de réglage, vous verrez que l'icône a le bouclier de l'UAC dessus. – darkstar3d