Fichier Manifest pour les exe OK... Mais pour les ocx ?

Fichier Manifest pour les exe OK... Mais pour les ocx ? - Divers - Programmation

Marsh Posté le 03-12-2004 à 16:17:44    


 
Bonjour, j'ai développé un contrôle activeX qui s'appuie en partie sur la dll gdiplus de Microsoft. Mon contrôle ActiveX ne fonctionne qu'avec la dernière version de gdiplus et plante avec les anciennes.
Sous windows XP il m'est impossible de remplacer le fichier gdiplus.dll du système d'exploitation. Je dois donc créer un fichier manifest pour chacun de mes exécutables qui utilisent cet activeX: ce fichier manifest indique qu'il faut utiliser la librairie gdiplus.dll contenue dans le même répertoire de l'exécutable. Ceci étant, je souhaiterai plutot créer un fichier manifest lié avec mon controle activeX ce qui me permettrai de ne pas à avoir à en créer un pour chacun de mes exe utilisant mon contrôle. Je ne sais pas si je suis très trè  clair.
Pour ceux qui m'ont compris, voici le contenu d'un fichier manifest application.exe.manifset permettant de faire tourner application.exe avec la libraie gdiplus du même répertoire:
 
<Code>
 
 
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity type="win32"
      name="Microsoft.Windows.PrivateGdiPlusRuntime"  
version="6.0.3264.0"  
processorArchitecture="x86"/>
    <file name="gdiplus.dll"/>    
</assembly>
 
 
</code>
 
 
Savez vous comment le modifier de telle sorte à le faire marcher directement avec l'ocx ?
 
Merci par avance.

Reply

Marsh Posté le 03-12-2004 à 16:17:44   

Reply

Marsh Posté le 05-12-2004 à 00:11:38    

personne ne sait ?
Je suis vraiment bloqué...


Message édité par LCPROG le 05-12-2004 à 00:11:53
Reply

Marsh Posté le 05-12-2004 à 01:10:02    

L'ordre de recherche des dll fait que le répertoire duquel est lancé ton exe est le premier. Donc je comprends pa spourquoi t'as besoin d'un manifest.
Sinon tu es sûr d'avoir la version 6 ?

Reply

Marsh Posté le 05-12-2004 à 13:41:36    

oui oui, je suis certain d'avoir la version 6 :). Pour la dll gdiplus.dll ca ne fonctionne pas exactement comme ça sous windows XP. Sous windows 2000 il me prend bien la dll située dans le répertoire de l'exe. Mais sous xp, il prend systématiquement celle de l'os sauf quand je créé un fichier manifest. Y'a pas une fonction sous vb qui permet d'indiquer le chemin de la dll qu'il faut utiliser ?
Merci pour ton aide.
Loïc

Reply

Marsh Posté le 05-12-2004 à 18:46:39    

Le fichier manifest peut etre embarqué dans les ressources de ton exe/dll. Je sais pas ce que ça donne pour une dll/ocx. C'est bizarre ta dll v6, je trouve pas plus élevé que v5.1 sur mon XP SP2.
Elle se trouve ou la dll qu'il charge à la place de la tienne ?


---------------
FAQ fclc++ - FAQ C++ - C++ FAQ Lite
Reply

Marsh Posté le 05-12-2004 à 20:12:41    

je ne sais pas laquelle se lance à la place de celle contenue dans le répertoire de l'exe car j'en ai plusieurs dans mon os. C'est bien la version 6, c'est en fait gdiplus 1.1 qui n'est encore qu'en version béta à l'heure actuelle. j'ai déja essayé d'embarquer le fichier manifest dans mon composant en tant que fichier ressources mais sans succès...


Message édité par LCPROG le 05-12-2004 à 20:12:53
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed