Domanda

Vorrei che il mio programma si aggiornasse da solo (scaricando un nuovo exe e / o alcuni altri file da ftp) e ho usato la ricetta nella risposta accettata a questa domanda . Recap:

  1. Rinomina il programma in esecuzione in old-mp.exe
  2. Scarica l'aggiornamento come mp.exe direttamente
  3. Riavvia il programma

Funziona alla grande con Windows XP. Su Vista c'è un problema, poiché l'utente deve eseguire il programma come amministratore affinché funzioni. Fare clic con il pulsante destro del mouse e selezionare " Esegui come amministratore " potrebbe essere sopra le mie teste utenti Mi piace molto il semplice metodo di aggiornamento.

È stato utile?

Soluzione

La semplice opzione è quella di includere un manifest che specifica che l'applicazione necessita dei diritti di amministratore. Quindi Vista richiederà automaticamente l'elevazione dei diritti. Il manifest dovrebbe assomigliare a questo:

<?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>

È possibile utilizzare lo strumento mt.exe per aggiungerlo a un'applicazione esistente.

In alternativa è possibile riavviare il programma con diritti amministrativi subito prima dell'aggiornamento effettivo. In questo modo l'utente non dovrà eseguire i diritti amministrativi sempre, solo durante l'aggiornamento.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top