h60
Messages postés46Date d'inscriptiondimanche 20 décembre 2009StatutMembreDernière intervention 5 février 20121 26 oct. 2007 à 22:08
Merci à toi gbgreg
Je suis allé à ton adresse
La chose parait complexe mais je n'ai pas eu le temps d'approfondir.
Ne peux tu pas me donner un bout de code pour que comprenne mieux.
Je ne sais pas cequ'est un fichier manifest.
Merci de me répondre
Vous n’avez pas trouvé la réponse que vous recherchez ?
gbegreg
Messages postés9Date d'inscriptionjeudi 17 juillet 2003StatutMembreDernière intervention 1 mars 2012 26 oct. 2007 à 23:05
Bonsoir,
D'après ce que j'ai compris, sous Vista, même un utilisateur de type administrateur n'est pas
forcément autorisé à accéder à certains dossiers, certaines clés dans
la base de registre etc...
Il faut donc que l'application demande à Windows d'élever les droits pour son fonctionnement.
Pour ce faire, le plus simple (si vous ne souhaitez pas modifier le code de votre appli) est l'utilisation d'un fichier manifest.
Sous Vista, la fonction de l'API Windows "CreateProcess" (fonction que Windows appelle pour exécuter un programme par exemple) va lire le fichier manifest de l'application s'il existe. Le fichier manifest est un fichier XML (donc un fichier texte modifiable par n'importe quel éditeur) qui doit être situé dans le même dossier que l'exécutable, avec le même nom que l'exécutable mais avec pour extension ".manifest".
Voici le contenu d'un fichier manifest exemple (repris du site que j'ai mentionné dans mon post précédent):
<?xml version= "1.0" encoding="UTF-8" standalone="yes"?>
Vous pouvez recopier ce code dans un nouveau fichier texte. Remplacez simplement la valeur monapplication de la propriété name par le nom de votre application, saisissez la description que vous souhaitez dans la propriété description.
Le niveau de privilège requireAdministrator est le niveau le plus haut possible. Cela indique que l'application doit être exécutée dans une session Windows Administrateur.
J'ai essayé de résumé brièvement ce qui est indiqué sur la page msdn, en espérant que cela réponde à ton besoin.
h60
Messages postés46Date d'inscriptiondimanche 20 décembre 2009StatutMembreDernière intervention 5 février 20121 27 oct. 2007 à 08:45
Je suis désolé gbgreg
mais cela n'a pas marché.
J'ai copié collé ton code et
remplacé "MonApplication" par "Project1.exe"
renommé le fichier texte en "Project1.Manifest" et
placé ce fichier dans le même repertoire que mon projet.
Mais voila j'ai les mêmes problèmes!!!!
Pour avancé je désactive l'UAC dans la base de registre cm indiqué sur
c'est pratique cela évite de nombreux messages de confirmaton mais c'est pas optimum pour la portabilité.
Si tu as d'autres idées je suis preneur.
Je vais étudier de plus près le lien que tu m'as donné..