Problème dll au déploiement

Résolu
coinki Messages postés 57 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 6 juillet 2009 - 18 janv. 2006 à 17:19
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 12 avril 2008 à 07:14
Salut,

J'ai fait un petit programme en C# dans lequel j'ai lié une dll en faisant Project>AddReference>com.
Sur mon poste tout est nickel !!

J'ai essayé de le faire fonctionner sur un autre poste et là j'ai l'erreur suivante :
System.Runtime.InteropServices.COMException (0x80040154): Retrieving the COM class factory for component with CLSID {567AE357-411B-4C0A-8F69-709EB1C3F6EA} failed due to the following error: 80040154.
at MonAppli.MainForm.MainForm_Load(Object sender, EventArgs e) in C:\Documents and Settings\alain\Mes documents\Visual Studio 2005\Projects\MonAppli\Form1.cs:line 30
at System.Windows.Forms.Form.OnLoad(EventArgs e)
at System.Windows.Forms.Form.OnCreateControl()
at System.Windows.Forms.Control.CreateControl(Boolean fIgnoreVisible)
at System.Windows.Forms.Control.CreateControl()
at System.Windows.Forms.Control.WmShowWindow(Message& m) .....

La dll est bien dans le répertoire d'exécution.
La chose qui me paraît étrange c'est qu'il me parle de mon répertoire de debug " C:\Documents and Settings\alain\Mes documents\Visual Studio 2005\Projects\MonAppli\Form1.cs"
La ligne 30 est l'instantiation de l'objet de la DLL.

Si qqun a une solution ....

Merci

Alain

6 réponses

Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
18 janv. 2006 à 20:42
Salut tu utilises un objet COM qui est enregistré sur ta machine mais pas chez le client, la DLL qui est dans le répertoire de ton application, n'est pas le composant COM mais un wrapper managé, tu peux l'analyser avec ildasm.exe ou reflector.exe.
3
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
19 janv. 2006 à 08:57
+1... comme lutinore :)

Quant à l'erreur spécifiant la ligne 30 de ta classe, c'est normal. Les infos de debuggage sont stockées en "dur" dans le fichier *.pdb

Sébastien FERRAND
[MVP Visual C#]
3
cs_BackPack Messages postés 20 Date d'inscription jeudi 8 janvier 2004 Statut Membre Dernière intervention 20 mars 2007
18 janv. 2006 à 18:15
Heu...je ne suis pas un pro dans le domaine.

Mais pour ma part j'ai dû enregistrer ma DLL
avec : regasm.exe NOMDLL pour que ça fonctionne.

Bon courage

J:o)
0
coinki Messages postés 57 Date d'inscription mercredi 26 février 2003 Statut Membre Dernière intervention 6 juillet 2009
19 janv. 2006 à 11:55
Merci pour vos réponses
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
wlad952 Messages postés 30 Date d'inscription mardi 30 mai 2006 Statut Membre Dernière intervention 13 mars 2009
10 avril 2008 à 15:36
J'ai le même soucie.

En clair quelle est la solution ? car je n'ai pas vraiment compris vos réponses acceptées.
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
12 avril 2008 à 07:14
La soluce, c'est que le composant COM doit être installé et enregistré chez le client, les DLLs qui accompagnent ton EXE ne sont pas suffisantes.
0
Rejoignez-nous