Question

L'un de mes exécutables écrit une configuration dans un fichier XML dans C: \ Program Files \ MyApp \ config.xml. Il doit fonctionner en tant qu'administrateur sur Vista / Server 2008, sinon le système d'exploitation ne le laissera pas écrire à cet emplacement.

J'ai inclus un fichier manifeste appelé config.exe.manifest, pour demander automatiquement les droits d'administration au lancement.

Voici mon fichier manifeste:

<?xml version="1.0" encoding="utf-8"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level="requireAdministrator" />
      </requestedPrivileges>
    </security>
  </trustInfo>
</assembly>

J'ai essayé ceci sur Windows Server 2008, mais le fichier manifeste semble être ignoré et l'exécutable est lancé sans droits suffisants.

Était-ce utile?

La solution 3

Ok, cela fonctionne lorsque j’incorpore le fichier manifeste à l’aide de MT.EXE. Je ne comprends toujours pas pourquoi cela ne fonctionne pas lorsque je fournis le manifeste sous forme de fichier séparé, mais je suppose que l’intégration est une bonne solution.

Autres conseils

http: / /blogs.msdn.com/junfeng/archive/2009/05/11/internal-manifest-vs-external-manifest.aspx

cité depuis le lien ci-dessus: Dans Windows XP, Sxs recherche un manifeste externe avant un manifeste interne. Si un manifeste externe est trouvé, le manifeste interne est ignoré.

Sous Windows Server 2003 et versions ultérieures, l'ordre est inversé. Le manifeste interne est préféré au manifeste externe.

Si vous utilisez un manifeste externe et que votre scénario fonctionne sous Windows XP, mais pas sous Windows Server 2003 ou version ultérieure, vérifiez que le fichier exécutable ne possède pas de manifeste interne

Cela vous poussera à la tâche. Vous en saurez plus sur le sujet et publierez un article et quelques utilitaires pour vous aider à ignorer votre manifeste: Découvrez pourquoi votre manifeste externe est ignoré .

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