Quelles sont les raisons possibles pour obtenir la boîte de dialogue Assistant de compatibilité de programme après la fermeture de l'application?Raisons de l'obtention de la boîte de dialogue Programme Compatibility Assistant
Program Compatibility Assistant image http://i.msdn.microsoft.com/dynimg/IC5958.gif
EDIT: Program Compatibility Assistant: frequently asked questions
Je me rends compte que cette question a déjà été posée sur S.O.
- Program Compatibility Assistant thinks my app is an installer
- Windows 7 Program Compatibility Assistant appeared for my app. Why?
- Why I receive a message from the Program Compatibility Assistant?
- How do I prevent programmatically the “Program Compatibility Assistant” in Vista (and Windows 7) from appearing?
Cependant, mon application:
- ne reçoit que PCA après sa fermeture
- ne tente pas de faire tout ce qui requiert des privilèges élevés (je ne pense pas)
- ne soit pas PCA lorsqu'il est exécuté à partir de l'IDE
- est pas un programme d'installation/configuration
- n'a pas « installer » ou « setup » dans le nom du programme
- ne jette pas une exception quand il se ferme, ou la sortie d'un code autre que 0 (je ne pense pas)
- ne soit pas PCA si j'ajoute
<compatibility>
noeud à manifeste d'application
Note n ° 6, avec la app.manifest suivante, je ne reçois plus l'APC:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
<security>
<requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3">
<requestedExecutionLevel level="asInvoker" uiAccess="false" />
</requestedPrivileges>
</security>
</trustInfo>
<compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
<application>
<!--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}"/>
</application>
</compatibility>
</asmv1:assembly>
Alors que la deuxième partie semble fixer, mais je suis inquiet que ma demande est toujours faire quelque chose que je ne connais pas.
Pour être clair, je pose une question 2 partie:
- Quels problèmes peuvent faire apparaître la boîte de dialogue PCA?
- Le noeud
<compatibility>
est-il absolument nécessaire afin d'éviter le dialogue PCA? Ou pourrais-je encore faire quelque chose de mal?
+1. Bonne question, mais l'image d'imgur est partie. – gary