2009-01-09 7 views
3

Je voudrais que mon programme se mette à jour (en téléchargeant un nouvel exe et/ou d'autres fichiers de ftp) et j'ai utilisé la recette dans la réponse acceptée à this question. Recap:Ecraser l'exécutable dans C: Program MyProg sous Windows Vista

  1. Renommer le programme en cours d'exécution à l'ancienne mp.exe
  2. Télécharger la mise à jour comme mp.exe directement
  3. Redémarrez le programme

Cela fonctionne très bien pour Windows XP. Sur Vista, il y a un problème, car l'utilisateur doit exécuter le programme en tant qu'administrateur pour que cela fonctionne. Cliquez avec le bouton droit de la souris et sélectionnez "Exécuter en tant qu'administrateur" sur les têtes de mes utilisateurs ... Est-ce que quelqu'un sait comment contourner cela? J'aime beaucoup la méthode de mise à jour simple.

+0

Un fichier Lisez-moi qui dit "Assurez-vous de lancer le programme en tant qu'administrateur" – Rayne

+0

Oui, peut-être pas. Mes utilisateurs sont du "readmefile? Qu'est-ce qu'un redmefile?" tapez ... – c0m4

Répondre

2

L'option simple consiste à inclure un manifeste qui spécifie que l'application a besoin de droits d'administrateur. Ensuite, Vista demandera automatiquement l'élévation des droits. Le manifeste doit ressembler à ceci:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?> 
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity version="1.0.0.0" processorArchitecture="X86" name="ApplicationName" type="win32"/> 
     <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
     <security> 
     <requestedPrivileges> 
      <requestedExecutionLevel level="requireAdministrator"/> 
     </requestedPrivileges> 
     </security> 
    </trustInfo> 
</assembly> 

Vous pouvez utiliser l'outil mt.exe pour l'ajouter à une application existante.

Vous pouvez également redémarrer le programme avec des droits d'administration juste avant la mise à jour. De cette façon, l'utilisateur n'aura pas besoin de courir toujours avec les droits d'administration - juste au moment de la mise à jour.

+0

Fonctionne bien! Merci! – c0m4