dll qui ne se charge plus aprés une mise à jour SP2

dll qui ne se charge plus aprés une mise à jour SP2 - Divers - Programmation

Marsh Posté le 26-11-2004 à 08:59:20    

Bonjour,
J'ai un problème insoluble qui commence à me peser.
Je developpe sur WinDev et dans mon programme j'ai besoin d'utiliser un dll qui a été développé dans un autre language (VB).
 
La manipulation était de copier le dll en question dans windows\system32
puis de lancer la commande regsvr32 fichier.dll
Et aprés cela fonctionnait trés bien.
J'ai eu la bonne idée de formater mon ordinateur et de passer de XP Pro SP1 à SP2.
Et maintenant le programme ne fonctionne plus car il me donne une erreur comme quoi le dll en question n'est pas insallé, alors que lorsqu'on lance regsvr32 il ne donne pas de message d'erreur, et qu'il apparit bien dans la base de registre.
J'ai réinstaller SP2 sur 2 ordi et sur les 2 cela ne fonctionne pas.
J'ai un 3eme ordinateur où on cela fonctionnait (sur SP1) et ensuite on a fait la mise à jour (vers SP2) par internet et sur celui là cela fonctionne toujours.
 
Est ce que quelqu'un voit une explication logique? :??:  
J'ai déjà fait quelques forum et cela viendrait de sp2 qui bloque des activeX non signé...
Je ne trouve pas de moyen pour que cela fonctionne.
 
Si quelqu'un a une piste je suis prenneur

Reply

Marsh Posté le 26-11-2004 à 08:59:20   

Reply

Marsh Posté le 26-11-2004 à 09:38:31    

Essaie de ne pas nécessiter une install dans system32.
 
Je sais qu'il y a un paquet de protection contre les virus, troyens, exploits etc.. Comme le SFC (system file checker). Plus d'autres, par exemple certaines dlls sont préemptées (elles s'éxecuteront en priorité depuis le system32 plutot que le répertoire courant)
 
Je pense que si ta dll n'est pas vitale au systeme elle peut très bien se contenter de s'installer dans le répertoire courant dont en plus tu es sur que l'utilisateur a les droits.

Reply

Marsh Posté le 26-11-2004 à 10:20:35    

Je suis plutot obligé de l'enregistrer dans la base de regsitre.
Y a t-il un moyen par contre de passer outre cette protection  ?

Reply

Marsh Posté le 26-11-2004 à 10:38:49    

cualex a écrit :

Je suis plutot obligé de l'enregistrer dans la base de regsitre.
 


 
je vois pas le rapport avec le fait de la mettre dans system32 :??:

Reply

Marsh Posté le 26-11-2004 à 10:55:59    

EN fait j'ai déjà essayer et cela ne change rien

Reply

Marsh Posté le 26-11-2004 à 11:04:49    

Le runtime VB est bien installé ?


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

Marsh Posté le 26-11-2004 à 11:21:35    

oui cela ne change rien

Reply

Marsh Posté le 26-11-2004 à 11:28:48    

Question conne: installes tu les licenses de la DLL de VB et ses contrôles associés ?  
 
Façon simple (et bourrine) de tester: su un des PCs où ça ne marche pas, essaye d'installer VB si tu le peux, et regardes si ça fait fonctionner ton soft.
 
Jette un oeil là aussi:
http://support.microsoft.com/kb/q194751/
 
 
Sinon, as-tu essayé de signer la DLL faite en VB ?

Reply

Marsh Posté le 26-11-2004 à 11:34:03    

comment fait t-on pour signer la dll ?

Reply

Marsh Posté le 26-11-2004 à 11:34:48    

En ce qui me concerne je pense que le probleme ne vient pas du SP2 mais du formattage & reinstall et qu'il manque qq chose a installer.


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

Marsh Posté le 26-11-2004 à 11:34:48   

Reply

Marsh Posté le 26-11-2004 à 11:35:54    

C'est quoi le message exact d'erreur ?


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

Marsh Posté le 26-11-2004 à 11:38:20    

cualex a écrit :

comment fait t-on pour signer la dll ?


C'est un peu compliqué. Mais tu devrais trouver ton bonheur là:
http://msdn.microsoft.com/library/ [...] icates.asp
 
Mais essaye d'abord d'installer VB sur une machine, ça devrait te donner les licenses, et on verra si c'est ça le problème.

Reply

Marsh Posté le 26-11-2004 à 11:52:50    

le message d'erreur est :  
L'objet automation 'atxWDForge.cMedia' n'est pas installé sur votre système.
 
En fait atxWDForge.dll a été développé en vb et le dll crée est appelé dans un programme en windev.
Et c'est lors de l'appel de 'atxWDForge.cMedia' que il dit que ce n'est pas installé.
Sur des postes sans SP2 ca fonctionne trés bien.
j'ai crée un exe vous pouvez le prendre su ce lien
http://www.processys.com/test/AtxWDForge.zip
le bouton gauche met la dll dans system32 et execute regsvr32
et celui de droite test si pas de message ca fonctionne
ou bien il y a un message d'erreur.

Reply

Marsh Posté le 26-11-2004 à 13:31:46    

J'ai fait moi meme le regsvr32 -i

Citation :


AtxWdForge.dll was loaded, but DllInstall entry point was not found.
DllInstall may not be exported, or currupt version may be in memory.


Je suis sous Win2K SP4.

Citation :

le bouton gauche met la dll dans system32


Pinaise quel besoin de toucher à system32.


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

Marsh Posté le 26-11-2004 à 14:23:03    

que veut dire "regsvr32 -i" ?

Reply

Marsh Posté le 26-11-2004 à 15:31:45    

Erreur de ma part, je me suis lâché sur la ligne de commande.


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

Sujets relatifs:

Leave a Replay

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