2010-06-18 7 views
4

J'ai créé une application native. Cela fonctionne sans problèmes sous Win XP et Win Vista. Sous Win 7, mon application a été installée correctement. Je l'ai couru. Cela a fonctionné normalement jusqu'à ce que je sélectionne 'Quitter' dans le menu. À la sortie, la fenêtre "Program Compatibility Assistant" est apparue m'indiquant que mon application est incompatible avec Windows 7 et que certains paramètres de compatibilité ont été appliqués.Windows 7 Programme Compatibility Assistant est apparu pour mon application. Pourquoi?

Mes questions sont les suivantes:

  1. Comment puis-je savoir ce que ma demande a fait pour déclencher Assistant Compatibilité des programmes? Y a-t-il une liste de choses à faire et à ne pas faire?
  2. Où puis-je rechercher les paramètres de compatibilité appliqués à mon application?
+0

Pourriez-vous poster un fragment de code que fait votre application en sélectionnant le menu 'Quitter'? – Oleg

Répondre

3

Ne regardez pas dans votre code de sortie spécifiquement. La PCA est exécutée après la fin de votre application. Une chose qui déclenche pour moi est votre application ne fait pas beaucoup. Par exemple, si vous renommez une application "hello world" en setup.exe et l'exécutez, elle sera élevée, mais cela ne changera rien sur votre machine comme le fait une vraie application d'installation. Votre registre, répertoire de fichiers de programme, etc sont tous les mêmes. Donc, la PCA dit "hm, peut-être qu'il y avait un accès refusé ou autre, semble que cela n'a pas fonctionné, vos paramètres pourraient ne pas être juste." En d'autres termes, cela pourrait être inoffensif. Cependant, je trouve qu'il peut laisser des applications exigeantes pour élever chaque fois quand ils n'en ont pas vraiment besoin, alors ça vaut la peine d'enquêter un peu.

Les modifications sont stockées sous la stratégie de groupe.

+0

Où sous la politique de groupe? – JohnB

+0

@JohnB - selon http://technet.microsoft.com/en-us/library/cc748935(WS.10).aspx, "ouvrez Console de gestion des stratégies de groupe en exécutant gpmc.msc, puis modifiez un objet de stratégie de groupe approprié. Développez Configuration de l'ordinateur, développez Modèles d'administration, développez Système, développez Dépannage et diagnostics, puis cliquez sur Diagnostics de compatibilité des applications.Pour afficher les paramètres de stratégie de groupe disponibles.Pour plus d'informations sur un paramètre, double-cliquez sur le paramètre, puis sur l'onglet Explain. " J'espère que cela s'explique d'elle-même parce que je ne l'ai jamais fait moi-même. –

+0

peut-il être fait avec Local Group Policy * (LGP) * à la place? Console de gestion de stratégie de groupe est plus pour Active Directory, je pense. – JohnB

2

Je suppose que le code de sortie de votre application n'est pas 0 et la valeur suggère plutôt win7 pour agir comme il le fait.

Questions connexes