Contexte: Je ne suis en aucun cas un expert en sécurité Windows/utilisateurs. J'ai une application (écrite en C#), qui doit pouvoir écrire/supprimer des dossiers & dossiers dans son répertoire racine, écrire/supprimer des fichiers ailleurs sur le disque, écrire/modifier les valeurs dans le registre système (machine locale) et commencer & arrêter d'autres applications et services. Je suppose que j'ai besoin de privilèges d'administrateur pour au moins certaines de ces actions.Installez le programme qui doit être exécuté en tant qu'administrateur
J'ai essayé d'exécuter ceci et sur des ordinateurs avec l'UAC éteint cela fonctionne très bien sans réglages supplémentaires. Cependant, sur les ordinateurs avec UAC activé (tout niveau au-dessus de "not notify" dans Windows 7), il va planter. J'en ai besoin pour travailler sur tous les ordinateurs. Jusqu'à présent, je vérifiais manuellement la case à cocher «Exécuter ce programme en tant qu'administrateur» et tout allait bien se passer. Cependant, nous avons maintenant décidé que nous autoriserons les clients à installer ce logiciel par eux-mêmes, et qu'il doit fonctionner «prêt à l'emploi».
J'ai un projet de déploiement dans Visual Studio 2008 qui installe tout et écrit les données de démarrage nécessaires dans le registre. Ce que je dois faire maintenant est de mettre le drapeau "Exécuter ce programme en tant qu'administrateur". Je suppose que ce n'est pas aussi simple que je le voudrais.
Alors Quelle est la bonne façon de faire cela? Ce programme est démarré au démarrage, et ce serait énervant pour nos clients si UAC apparaissait (et éventuellement assombrit l'écran) chaque fois qu'ils redémarrent leur ordinateur.
Nous vous remercions de votre aide.
EDIT: Nous vous remercions de vos réponses. Je me rends compte que travailler autour de l'UAC serait mal vu, et je peux voir que Microsoft ne supporte pas les "listes blanches" donc il ne demanderait la permission qu'une seule fois. C'est bien je peux respecter cela, mais j'ai quelques questions de suivi:
Pouvez-vous me fournir un lien qui me montrer comment élever correctement le programme pour corriger l'état élevé? Existe-t-il de la littérature sur les options, etc ... Au fond, j'aimerais un guide UAC 101.
Existe-t-il un moyen d'élever l'état de sécurité lorsque j'ai besoin des privilèges supplémentaires (et seulement alors l'invite avec UAC). Fondamentalement, ces applications fonctionnent en arrière-plan, ne faisant presque rien pour la plupart du temps. De temps en temps, il va vérifier certains fichiers (à ce stade, je vais avoir besoin d'être en mesure d'écrire sur le disque et lire le registre (en lecture seule est très bien à ce stade), mais comme il est un dossier temporaire, Si il ya un endroit où l'application peut écrire sans aucun privilège qui serait parfait.)
Cependant, à un moment donné, je devrai effectuer toutes les autres tâches (l'utilisateur doit confirmer cette action) de toute façon) donc si UAC invitait à ce stade ce ne serait pas un problème. Existe-t-il un moyen de l'élever juste à ce stade, puis de le renvoyer aux autorisations par défaut? Une telle solution fonctionnera-t-elle avec les anciennes versions de Windows, y compris Vista et Xp (et peut-être plus vieux?) Que faudrait-il pour que cela fonctionne?
voir ceci (duplicata possible?) Question: http://stackoverflow.com/questions/2019743/can-we-get-the-uac-prompt-to-show-only-once – hawbsl