Question

J'ai une application 32 bits Je travaille sur cette cible .NET 3.5; VS2010 est mon outil de développement. Mon application nécessite des privilèges élevés pour une variété de choses, donc j'avoir une application manifeste pour ce qui a la ligne suivante dans le:

<requestedExecutionLevel level="requireAdministrator" uiAccess="false" />

Parce qu'il est la bonne chose à faire, j'ai aussi les lignes du manifeste qui indiquent l'application est compatible avec Windows 7 et Windows Vista:

<!--The ID below indicates application support for Windows Vista -->
<supportedOS Id="{e2011457-1546-43c5-a5fe-008deee3d3f0}"/>
<!--The ID below indicates application support for Windows 7 -->
<supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}"/>

L'application fonctionne très bien sur Windows 7 et Windows Vista. Il apparaît immédiatement l'invite UAC, il ne soit pas affectée par la virtualisation du registre, etc. Le manifeste travaille clairement là.

Cependant, 2008 R2 aucune de ces choses sont vraies. invite UAC ne semble pas. La virtualisation du Registre arrive (mon principal problème). Il est comme il est ignorant complètement ma demande manifeste. Je ne sais pas où chercher ou quoi vérifier. J'ai couru les mêmes bits exactement sur 7, Vista et 2008 R2 et obtenir exactement les mêmes résultats à chaque fois. Mon 2008 R2 est complètement installer la vanille, comme il est juste une machine virtuelle fraîchement installé pour le test.

En outre, je suis assez sûr que Server 2008 agit comme 2008 R2, ignorant essentiellement le manifeste. Toute aide serait grandement appréciée!

Était-ce utile?

La solution

Je l'ai compris l'étrange réponse à ma propre question, mais il se décline en deux parties:

  • Pour une raison quelconque, je ne reçois pas une invite UAC dans 2008 ou 2008 R2, mais dans les deux cas, l'application est de se bien élevé et la virtualisation des applications est désactivé correctement.

  • Mon application, étant 32 bits, a été écrit dans la clé de Registre Wow6432Node, donc je pensais que la virtualisation se passait parce que mes changements n'apparaissaient pas. Si je l'avais testé sur 2008 x86, que je n'avais pas, je l'aurais trouvé que les changements apparaissaient là, mais pas dans les systèmes d'exploitation 64 bits.

Autres conseils

Server 2008 R2 a UAC désactivé par défaut. S'il est désactivé, les utilisateurs du groupe Administrateurs ont des droits d'administration complète et les utilisateurs non-administrateurs ne sont pas et ne peuvent pas être élevés dans un compte administrateur.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top