2010-11-18 21 views
1

Je dois changer le comportement de ma demande en fonction des privilèges utilisateur:Exécuter en tant qu'administrateur si possible, sinon: exécuter avec des privilèges limités?

  1. Quand mon application peut fonctionner en tant qu'administrateur
  2. Lorsque ma demande a des privilèges limités

Depuis « requireAdministrator » est intégré Au sein du manifeste, le même fichier .exe ne peut pas travailler sur (1) et (2) en même temps.

Quelle est la meilleure façon de résoudre ce problème? Je prévois d'emballer deux exécutables (un avec "requireAdministrator") et de décider lequel exécuter. Quelqu'un a d'autres suggestions?

Répondre

2

Vous pouvez utiliser un manifeste qui demande la valeur la plus élevée au lieu de requireAdministrator ou asInvoker. Cela augmentera si une personne qui peut simplement consentir à l'élever l'exécute, mais ne le fera pas si c'est quelqu'un qui aurait besoin de l'invite OTS et entrer un identifiant d'admin et un mot de passe. Je m'en fous moi-même, puisque vous ne pouvez pas écrire votre code en toute confiance sachant si vous avez les privilèges ou non. Mais voici comment réaliser ce que vous demandez.