Comment déterminer pourquoi l'application est une demande d'élévation
Question
Lors du lancement de mon exécutable, Windows est une demande d'élévation, quand il ne doit pas être.
Comment puis-je savoir pourquoi Windows est ce qui m'a incité à élever mon exécutable sur le lancement?
Notes:
- il est pas ressource manifeste (demande de
asAdministrator
ou autre) - il est pas fichier manifest
- l'onglet compatibilty (pour tous les utilisateurs et juste moi) a la « Exécuter en tant qu'administrateur » non cochée
Comment puis-je déterminer pourquoi ma demande est une demande d'élévation?
La solution
En l'absence d'un manifeste, les raisons habituelles sont heuristiques de nom (par exemple, votre fichier est appelé setup.exe) et la politique de groupe (que vous avez peut-être mis accidentellement après « ce programme ne peut pas avoir couru comme prévu » boîte de dialogue. )
Pour éviter cela, il suffit d'appliquer un manifeste (intégré ou externe) avec asInvoker. Ensuite, vous ne se soucient plus sur ces heuristiques et vous ne serez pas Elevate.
Je sais que je commentais ce ci-dessus, mais je dois le répéter: ce que votre code essaie de faire ne causeront jamais l'élévation. JAMAIS. Des choses qui ne fonctionnera pas à moins que vous n'élevé lorsque vous n'êtes pas élevée. Il ne vous élève pas.