Bonjour,
J’ai un problème avec Vista. Mon application manque de droits pour enregistrer et enlever le COM-serveur. Donc je lui file un manifeste d’administrateur :
En ajoutant la ressource sur la main forme :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 <?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="*" name="UACAwareApplication" type="win32"/> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges> <requestedExecutionLevel level="requireAdministrator"/> </requestedPrivileges> </security> </trustInfo> </assembly>
Et ca marche, pas de problème pour enregistrer mon serveur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part {$R vista.RES}
Mais le problème c’est que Vista demande de confirmer chaque lancement de mon appli et c’est lourd. Donc j’ai décidé de charger la ressource pas en dure mais dynamiquement, avec une dll qui ne contient que la ressource. Je charge cette dll juste avant de faire quoi que ca soit avec mon serveur COM:
elle est bien chargé mais ca marche plus. J’arrive pas d’enregistrer mon serveur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part manifestHandle := LoadLibrary('manifestProject.dll');
Partager