2013-05-06 17 views
5

Il mio programma dovrebbe essere eseguito come amministratore. Due anni fa, ho creato un file manifest e funziona perfettamente. Ma ora, trasferimento da Delphi 2010 a Delphi XE3 e non funziona, il programma si avvia come al solito (non come amministratore). Inoltre chiamerò il mio programma come "MyApp".Non catturare il file manifest

In origine, dichiaro due res-files:

{$R MyApp.res} 
{$R Manifest.res} 

Manifesto era creare da questo codice:

<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> 
    <assemblyIdentity 
    type="win32" 
    name="MyApp" 
    version="1.1.0.0" 
    processorArchitecture="x86"/> 
    <description> 
    MyApp 
    </description> 
    <dependency> 
    <dependentAssembly> 
     <assemblyIdentity 
     type="win32" 
     name="Microsoft.Windows.Common-Controls" 
     version="6.0.0.0" 
     publicKeyToken="*deleted*" 
     language="*" 
     processorArchitecture="x86"/> 
    </dependentAssembly> 
    </dependency> 
    <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> 
    <security> 
     <requestedPrivileges> 
     <requestedExecutionLevel 
      level="requireAdministrator" 
      uiAccess="false"/> 
     </requestedPrivileges> 
    </security> 
    </trustInfo> 
</assembly> 

Quando elimino {$ R MyApp.res} dalla fonte manifesta lavoro. Quindi capisco che MyApp.res (generato automaticamente da Delphi) batte Manifest.res. Ma in Delphi 2010 questa configurazione funziona perfettamente ma non funziona in XE3. Perché? Come posso aggiustarlo?

risposta

9

Se si desidera utilizzare un file .res personalizzato per il manifest, è necessario disabilitare manifest di Delphi, poiché un processo può avere solo manifest. Vai in Opzioni progetto, nella sezione "Applicazione" e imposta l'opzione "Temi di runtime" su "nessuno".

In alternativa, spostare il file manifest in un file .manifest, quindi impostare l'opzione "Temi di runtime" su "utilizza un manifest personalizzato". Quindi rimuovi il tuo file .res personalizzato dal tuo codice.

Problemi correlati