J'ai une application (service Windows) qui est installée dans un répertoire du dossier Program Files. Parallèlement à cette application est une autre application WinForms qui est utilisée pour configurer le service (entre autres choses). Quand il fait la configuration, il enregistre les changements dans un fichier de configuration qui vit à côté du service. Lors de l'exécution de Vista/Win7, l'UAC empêche l'utilisateur d'enregistrer dans le fichier de configuration.Manière correcte de gérer l'UAC en C#
Ce que je voudrais faire est:
- mettre l'icône de bouclier à côté de l'élément de menu utilisé pour configurer
- rapide pour les autorisations CCU lorsque cet élément est choisi
- ne montrent l'icône/invite lorsque sur un OS qui exige
- afficher uniquement l'icône/rapide lorsque les autorisations sont nécessaires (par exemple. si l'application est installée quelque part qui ne nécessite pas l'autorisation UAC)
Je ne veux pas vraiment pour exécuter l'application entière en tant qu'administrateur, car il est également utilisé à d'autres fins qui ne nécessitent pas d'autorisations UAC (la définition d'un fichier manifeste d'application n'est donc pas la bonne solution). Je suppose également (corrigez-moi si je me trompe) qu'une fois que les autorisations UAC ont été accordées, mon processus existant ne peut pas effectuer l'action et que je vais devoir démarrer un nouveau processus.
Comment puis-je y parvenir au mieux?
Je devais faire un peu de saut à travers les cerceaux pour le coder correctement, mais grâce à Matthew, j'ai quelque chose de similaire à ce que j'ai décrit ci-dessus. – adrianbanks
Bon à entendre. L'UAC fait parfois mal, mais votre logiciel est vraiment meilleur. –