J'ai déja vérifié avec "COM OLE Viewer" et c'est bien CDOEX qui est appelé
(il est situé dans Program FilesFichiers communsMicrosoft
SharedCDOCDOEX.dll) C'est bien outlook 11 (2003) qui install cette DLL,
vérifié sue (http://support.microsoft.com/kb/171440/EN-US) et si je renome
cette DLL, j'ai l'erreur (Le module spécifié est introuvable) -> donc
certitude sur l'utilisation de cette DLL par le Framework
J'ai également fait le test 'bourrin' de mettre les droits 'tout le monde
/ tout 'sur le dossier CDO mais ca ne change rien...
Je continue tranquillement mes recherches (entre 2 lignes de code) mais
heureusement que le pb est sur ma machine de dev et aps sur la amchne de
prod :-)...
Merci
Fred
"Simon Mourier" a écrit dans le message de
news:En fait, MailMessage est un wrapper sur les deux composants COM dont les
progids respectifs sont "CDO.Message" (servi par CDOSYS.DLL Windows
2000/XP/2003, ...) et "CDONTS.NewMail" (servi par CDONTS.DLL sur Windows
NT4). En fonction de l'OS, il choisit l'un ou l'autre des deux objets
COM.
Normalement, sur XP, il doit donc prendre CDO.Message, et si le script
VBScript utilisant CDO.Message fonctionne... alors MailMessage devrait
fonctionner. C'est peut être un problème de droit. Le script que vous
avez essayé tourne-t-il sous la même identité que votre code .NET?
Le fait que apparemment CDOEX.DLL soit installée sur la machine doit
poser problème. Cette DLL est installée par exchange et remplace tout
simplement l'objet CDO.Message. Vous pouvez vérifier qui sert le proid
"CDO.Message" dans la registry. Trouvez le CLSID contenu dans la clé
HKEY_CLASSES_ROOTCDO.MessageCLSID et regardez la valeur de la clé
HKEY_CLASSES_ROOTCLSID<clsid>InprocServer32. Chez moi c'est bien
CDOSYS.DLL. Chez vous c'est peut-être CDOEX.DLL qui est situé dans un
endroit spécifique. Il est possible qu'il faille des droits spécifiques
pour accéder à cette DLL...
Simon.
www.softfluent.com
"Paul Bacelar" a écrit dans le
message de news: %A en croire google, sous XP, c'est CDO et pas CDONTS qu'il faut utiliser.
http://www.experts-exchange.com/Web/Q_21254350.html
http://www.w3schools.com/asp/asp_send_email.asp
--
Paul Bacelar
"Fred" wrote in message
news:#J'ai desinstallé completement Office 2003, puis reinstallé, mais ca ne
change rien
Concernant la création de l'objet CDONTS.NewMail, j'ai effectivement
une
erreur de creation d'objet 0x800A01AD (même apres le reinstall
d'office)
Merci
"Simon Mourier" a écrit dans le message de
news:%
> Attention, on ne peut pas trafiquer avec ces DLL à la main :-)
>
> En fait, les classes du Framework essayent de créer un objet
> CDONTS.NewMail et y accèdent en late binding (comme VBScript). Il
faudrait> donc essayer un VBScript avec non pas CDO.Message mais CDONTS.NewMail
pour> valider l'installation. A priori ça ne doit pas fonctionner.
>
> Moi j'essaierai de réparer Office 2003.
>
> Simon.
> www.softfluent.com
>
>
> "Fred" a écrit dans le message de news:
>
>> Simon, Paul merci pour votre contribution
>>
>> 1) L'envoi d'Email par script VBS fonctionne parfaitement
>> 2) Avec le OLE/COM Object viewer, j'ai constaté que sur la machine
>> qui
>> fonctionne, la DLL utilisée est CDOSYS.DLL (CDO pour win 2000) alors
que>> sur la machine "a problème', c'est CDOEX (CDO pour Exchange..),
>> Outlook
>> étant pourtant installé sur les 2 postes...
>> J'ai procédé a l'annulation de l'inscription de CDOEX, puis a
>> l'inscription de CDOSYS, l'erreur renvoyé par le Framework
1.1.4322.2032>> n'est plus la même "Erreur lors du chargement de la bibliothèque/DLL
>> du
>> type. " ce qui me semble logique (utilisation de CDOEX et non pas
CDOSYS)>> Si je réenregistre CDOEX j'obtient a nouveau (Erreur lors du
>> chargement>> de la bibliothèque/DLL du type)
>>
>> Le fait d'annuler l'inscription puis de réenregistrer CDOEX n'a t'il
pas>> pour effet de 'mettre a niveau la base de registre' ?
>> Faut il procéder a la desinstallation puis reinstallation d' office
2003>> ou du Framework.. pour remettre a jour CDO et/ou le lien
>> framework/cdo
>> étant donné que cela fonctionne viaVBS ?
>>
>> Merci
>>
>>
>> "Paul Bacelar" a écrit dans le
>> message de news: OXIJWe%
>>> 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
>>> C'est donc bien un problème de chargement, vérifiez avec le "COM
>>> OLE
>>> Viewer".
>>> Cela peut être un problème de droit dans la base de registre.
>>> --
>>> Paul Bacelar
>>>
>>> "Fred" wrote in message
>>> news:
>>>> Effectivement, j'avais détecté que le pb venait de cdosys.dll
>>> [COMException
>>>> (0x80029c4a)], mais je ne trouve pas de solution...
>>>> La DLL est bien présente, a les bons droits
>>>> J'ai 2 machines identique (OS XP, SP2, Vs 2003) et le pb sur une
>>>> seul
>>>> des
>>>> 2...
>>>>
>>>> Je continue a chercher (et a prendre les infos..)
>>>>
>>>> Merci
>>>>
>>>> "Simon Mourier" a écrit dans le
>>>> message
de>>> news:
>>>> eAYT%
>>>> > On dirait un problème lié à l'installation. Ce n'est pas lié au
code.>>>> > Apparemment, le .NET framework ne peut charger la DLL Windows
>>>> > qui
>>>> > permet
>>>> > d'envoyer des mails (CDOSYS.DLL).
>>>> >
>>>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdowin2000.asp>>>> >
>>>> > Cette DLL fait partie de l'OS. Est-elle bien présente? C'est
>>>> > peut-être
>>> un
>>>> > problème de sécurité?
>>>> >
>>>> > Simon.
>>>> > www.softfluent.com
>>>> >
>>>> > "Fred" a écrit dans le message de news:
>>>> >
>>>> >> Bonjour,
>>>> >>
>>>> >> J'obtient systématiquement l'erreur suivante sur une seul
>>>> >> machine
>>>> >> (XP
>>>> >> Sp2) alors que sur 2 autres (XP sp2 et 2K ADVSRV) il n'y a pas
>>>> >> de
>>>> >> problème lors de l'appel
>>>> >> de SmtpMail.Send(...)
>>>> >>
>>>> >>
>>>> >> ######### Le code
>>>> >> try
>>>> >> {
>>>> >> MailMessage MyMail=new MailMessage();
>>>> >>
MyMail.From=ConfigurationSettings.AppSettings["MailFromRequestPwd"];>>>> >> MyMail.Bcc=ConfigurationSettings.AppSettings["MailBcc"];
>>>> >> MyMail.To=email.Text;
>>>> >> MyMail.Subject="Votre mot de passe";
>>>> >> MyMail.BodyEncoding=Encoding.UTF8;
>>>> >> MyMail.BodyFormat=MailFormat.Text;
>>>> >> MyMail.Body=Body;
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> SmtpMail.Send(MyMail);
>>>> >> MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >> email.Enabledúlse;
>>>> >> btnValidate.Enabledúlse;
>>>> >> }
>>>> >> catch(HttpException ex)
>>>> >> {
>>>> >> MyError.Text="Une erreur est survenue pendant l'envoi de
>>>> >> l'e-mail
à>>>> >> "+email.Text;
>>>> >> email.Text=String.Empty;
>>>> >> }
>>>> >>
>>>> >> Quel DLL peut poser ce problème ?
>>>> >>
>>>> >> Merci
>>>> >>
>>>> >>
>>>> >> ########## L'erreur
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >> Description : Une exception non gérée s'est produite au moment
>>>> >> de
>>>> >> l'exécution de la demande Web actuelle. Contrôlez la trace de
>>>> >> la
>>>> >> pile
>>>> >> pour plus d'informations sur l'erreur et son origine dans le
>>>> >> code.
>>>> >>
>>>> >> Détails de l'exception:
System.Runtime.InteropServices.COMException:>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >>
>>>> >> Erreur source:
>>>> >>
>>>> >> Ligne 90 : MyMail.Body=Body;
>>>> >> Ligne 91 :
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> Ligne 92 : SmtpMail.Send(MyMail);
>>>> >> Ligne 93 :
>>>> >> Ligne 94 : MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >>
>>>> >>
>>>> >> Fichier source : d:commercewebcommercegetpassword.aspx.cs
>>>> >> Ligne :
>>>> >> 92
>>>> >>
>>>> >> Trace de la pile:
>>>> >>
>>>> >> [COMException (0x80029c4a): Erreur lors du chargement de la
>>>> >> bibliothèque/DLL du type.]
>>>> >>
>>>> >> [TargetInvocationException: Une exception a été levée par la
>>>> >> cible
>>>> >> d'un
>>>> >> appel.]
>>>> >> System.RuntimeType.InvokeDispMethod(String name, BindingFlags
>>>> >> invokeAttr, Object target, Object[] args, Boolean[]
byrefModifiers,>>> Int32
>>>> >> culture, String[] namedParameters) +0
>>>> >> System.RuntimeType.InvokeMember(String name, BindingFlags
>>>> >> invokeAttr,
>>>> >> Binder binder, Object target, Object[] args,
>>>> >> ParameterModifier[]
>>>> >> modifiers, CultureInfo culture, String[] namedParameters) +473
>>>> >> System.Web.Mail.CdoSysHelper.Send(MailMessage message) +1197
>>>> >> System.Web.Mail.SmtpMail.Send(MailMessage message) +150
>>>> >> FB.WebCommerce.GetPassword.linkValidate_Click(Object sender,
>>> EventArgs
>>>> >> e) in d:commercewebcommercegetpassword.aspx.cs:92
>>>> >> System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
>>>> >> +108
>>>> >>
>>>> >>
>>>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.Rai>>> sePostBackEvent(String
>>>> >> eventArgument) +57
>>>> >> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
>>>> >> sourceControl, String eventArgument) +18
>>>> >> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
>>>> >> postData)
>>>> >> +138
>>>> >> System.Web.UI.Page.ProcessRequestMain() +1292
>>>> >>
>>>> >> Informations sur la version : Version Microsoft .NET Framework
>>>> >> :1.1.4322.2032; Version ASP.NET :1.1.4322.2032
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>>
>
>
J'ai déja vérifié avec "COM OLE Viewer" et c'est bien CDOEX qui est appelé
(il est situé dans Program FilesFichiers communsMicrosoft
SharedCDOCDOEX.dll) C'est bien outlook 11 (2003) qui install cette DLL,
vérifié sue (http://support.microsoft.com/kb/171440/EN-US) et si je renome
cette DLL, j'ai l'erreur (Le module spécifié est introuvable) -> donc
certitude sur l'utilisation de cette DLL par le Framework
J'ai également fait le test 'bourrin' de mettre les droits 'tout le monde
/ tout 'sur le dossier CDO mais ca ne change rien...
Je continue tranquillement mes recherches (entre 2 lignes de code) mais
heureusement que le pb est sur ma machine de dev et aps sur la amchne de
prod :-)...
Merci
Fred
"Simon Mourier" <simon_mourier@botmail.com> a écrit dans le message de
news: uRdYtJPYFHA.4036@tk2msftngp13.phx.gbl...
En fait, MailMessage est un wrapper sur les deux composants COM dont les
progids respectifs sont "CDO.Message" (servi par CDOSYS.DLL Windows
2000/XP/2003, ...) et "CDONTS.NewMail" (servi par CDONTS.DLL sur Windows
NT4). En fonction de l'OS, il choisit l'un ou l'autre des deux objets
COM.
Normalement, sur XP, il doit donc prendre CDO.Message, et si le script
VBScript utilisant CDO.Message fonctionne... alors MailMessage devrait
fonctionner. C'est peut être un problème de droit. Le script que vous
avez essayé tourne-t-il sous la même identité que votre code .NET?
Le fait que apparemment CDOEX.DLL soit installée sur la machine doit
poser problème. Cette DLL est installée par exchange et remplace tout
simplement l'objet CDO.Message. Vous pouvez vérifier qui sert le proid
"CDO.Message" dans la registry. Trouvez le CLSID contenu dans la clé
HKEY_CLASSES_ROOTCDO.MessageCLSID et regardez la valeur de la clé
HKEY_CLASSES_ROOTCLSID<clsid>InprocServer32. Chez moi c'est bien
CDOSYS.DLL. Chez vous c'est peut-être CDOEX.DLL qui est situé dans un
endroit spécifique. Il est possible qu'il faille des droits spécifiques
pour accéder à cette DLL...
Simon.
www.softfluent.com
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
message de news: %23wYeqPKYFHA.4036@tk2msftngp13.phx.gbl...
A en croire google, sous XP, c'est CDO et pas CDONTS qu'il faut utiliser.
http://www.experts-exchange.com/Web/Q_21254350.html
http://www.w3schools.com/asp/asp_send_email.asp
--
Paul Bacelar
"Fred" <nospan@nospam.com> wrote in message
news:#Ld7kjIYFHA.2288@TK2MSFTNGP14.phx.gbl...
J'ai desinstallé completement Office 2003, puis reinstallé, mais ca ne
change rien
Concernant la création de l'objet CDONTS.NewMail, j'ai effectivement
une
erreur de creation d'objet 0x800A01AD (même apres le reinstall
d'office)
Merci
"Simon Mourier" <simon_mourier@botmail.com> a écrit dans le message de
news:
%23q4bkqHYFHA.3892@TK2MSFTNGP10.phx.gbl...
> Attention, on ne peut pas trafiquer avec ces DLL à la main :-)
>
> En fait, les classes du Framework essayent de créer un objet
> CDONTS.NewMail et y accèdent en late binding (comme VBScript). Il
faudrait
> donc essayer un VBScript avec non pas CDO.Message mais CDONTS.NewMail
pour
> valider l'installation. A priori ça ne doit pas fonctionner.
>
> Moi j'essaierai de réparer Office 2003.
>
> Simon.
> www.softfluent.com
>
>
> "Fred" <nospan@nospam.com> a écrit dans le message de news:
> uc7ExGEYFHA.2588@TK2MSFTNGP14.phx.gbl...
>> Simon, Paul merci pour votre contribution
>>
>> 1) L'envoi d'Email par script VBS fonctionne parfaitement
>> 2) Avec le OLE/COM Object viewer, j'ai constaté que sur la machine
>> qui
>> fonctionne, la DLL utilisée est CDOSYS.DLL (CDO pour win 2000) alors
que
>> sur la machine "a problème', c'est CDOEX (CDO pour Exchange..),
>> Outlook
>> étant pourtant installé sur les 2 postes...
>> J'ai procédé a l'annulation de l'inscription de CDOEX, puis a
>> l'inscription de CDOSYS, l'erreur renvoyé par le Framework
1.1.4322.2032
>> n'est plus la même "Erreur lors du chargement de la bibliothèque/DLL
>> du
>> type. " ce qui me semble logique (utilisation de CDOEX et non pas
CDOSYS)
>> Si je réenregistre CDOEX j'obtient a nouveau (Erreur lors du
>> chargement
>> de la bibliothèque/DLL du type)
>>
>> Le fait d'annuler l'inscription puis de réenregistrer CDOEX n'a t'il
pas
>> pour effet de 'mettre a niveau la base de registre' ?
>> Faut il procéder a la desinstallation puis reinstallation d' office
2003
>> ou du Framework.. pour remettre a jour CDO et/ou le lien
>> framework/cdo
>> étant donné que cela fonctionne viaVBS ?
>>
>> Merci
>>
>>
>> "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
>> message de news: OXIJWe%23XFHA.2128@TK2MSFTNGP14.phx.gbl...
>>> 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
>>> C'est donc bien un problème de chargement, vérifiez avec le "COM
>>> OLE
>>> Viewer".
>>> Cela peut être un problème de droit dans la base de registre.
>>> --
>>> Paul Bacelar
>>>
>>> "Fred" <nospan@nospam.com> wrote in message
>>> news:el5Vun6XFHA.3840@tk2msftngp13.phx.gbl...
>>>> Effectivement, j'avais détecté que le pb venait de cdosys.dll
>>> [COMException
>>>> (0x80029c4a)], mais je ne trouve pas de solution...
>>>> La DLL est bien présente, a les bons droits
>>>> J'ai 2 machines identique (OS XP, SP2, Vs 2003) et le pb sur une
>>>> seul
>>>> des
>>>> 2...
>>>>
>>>> Je continue a chercher (et a prendre les infos..)
>>>>
>>>> Merci
>>>>
>>>> "Simon Mourier" <simon_mourier@botmail.com> a écrit dans le
>>>> message
de
>>> news:
>>>> eAYT%23ipXFHA.4032@tk2msftngp13.phx.gbl...
>>>> > On dirait un problème lié à l'installation. Ce n'est pas lié au
code.
>>>> > Apparemment, le .NET framework ne peut charger la DLL Windows
>>>> > qui
>>>> > permet
>>>> > d'envoyer des mails (CDOSYS.DLL).
>>>> >
>>>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdowin2000.asp
>>>> >
>>>> > Cette DLL fait partie de l'OS. Est-elle bien présente? C'est
>>>> > peut-être
>>> un
>>>> > problème de sécurité?
>>>> >
>>>> > Simon.
>>>> > www.softfluent.com
>>>> >
>>>> > "Fred" <nospan@nospam.com> a écrit dans le message de news:
>>>> > uxSTlyfXFHA.2060@tk2msftngp13.phx.gbl...
>>>> >> Bonjour,
>>>> >>
>>>> >> J'obtient systématiquement l'erreur suivante sur une seul
>>>> >> machine
>>>> >> (XP
>>>> >> Sp2) alors que sur 2 autres (XP sp2 et 2K ADVSRV) il n'y a pas
>>>> >> de
>>>> >> problème lors de l'appel
>>>> >> de SmtpMail.Send(...)
>>>> >>
>>>> >>
>>>> >> ######### Le code
>>>> >> try
>>>> >> {
>>>> >> MailMessage MyMail=new MailMessage();
>>>> >>
MyMail.From=ConfigurationSettings.AppSettings["MailFromRequestPwd"];
>>>> >> MyMail.Bcc=ConfigurationSettings.AppSettings["MailBcc"];
>>>> >> MyMail.To=email.Text;
>>>> >> MyMail.Subject="Votre mot de passe";
>>>> >> MyMail.BodyEncoding=Encoding.UTF8;
>>>> >> MyMail.BodyFormat=MailFormat.Text;
>>>> >> MyMail.Body=Body;
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];
>>>> >> SmtpMail.Send(MyMail);
>>>> >> MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >> email.Enabledúlse;
>>>> >> btnValidate.Enabledúlse;
>>>> >> }
>>>> >> catch(HttpException ex)
>>>> >> {
>>>> >> MyError.Text="Une erreur est survenue pendant l'envoi de
>>>> >> l'e-mail
à
>>>> >> "+email.Text;
>>>> >> email.Text=String.Empty;
>>>> >> }
>>>> >>
>>>> >> Quel DLL peut poser ce problème ?
>>>> >>
>>>> >> Merci
>>>> >>
>>>> >>
>>>> >> ########## L'erreur
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >> Description : Une exception non gérée s'est produite au moment
>>>> >> de
>>>> >> l'exécution de la demande Web actuelle. Contrôlez la trace de
>>>> >> la
>>>> >> pile
>>>> >> pour plus d'informations sur l'erreur et son origine dans le
>>>> >> code.
>>>> >>
>>>> >> Détails de l'exception:
System.Runtime.InteropServices.COMException:
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >>
>>>> >> Erreur source:
>>>> >>
>>>> >> Ligne 90 : MyMail.Body=Body;
>>>> >> Ligne 91 :
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];
>>>> >> Ligne 92 : SmtpMail.Send(MyMail);
>>>> >> Ligne 93 :
>>>> >> Ligne 94 : MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >>
>>>> >>
>>>> >> Fichier source : d:commercewebcommercegetpassword.aspx.cs
>>>> >> Ligne :
>>>> >> 92
>>>> >>
>>>> >> Trace de la pile:
>>>> >>
>>>> >> [COMException (0x80029c4a): Erreur lors du chargement de la
>>>> >> bibliothèque/DLL du type.]
>>>> >>
>>>> >> [TargetInvocationException: Une exception a été levée par la
>>>> >> cible
>>>> >> d'un
>>>> >> appel.]
>>>> >> System.RuntimeType.InvokeDispMethod(String name, BindingFlags
>>>> >> invokeAttr, Object target, Object[] args, Boolean[]
byrefModifiers,
>>> Int32
>>>> >> culture, String[] namedParameters) +0
>>>> >> System.RuntimeType.InvokeMember(String name, BindingFlags
>>>> >> invokeAttr,
>>>> >> Binder binder, Object target, Object[] args,
>>>> >> ParameterModifier[]
>>>> >> modifiers, CultureInfo culture, String[] namedParameters) +473
>>>> >> System.Web.Mail.CdoSysHelper.Send(MailMessage message) +1197
>>>> >> System.Web.Mail.SmtpMail.Send(MailMessage message) +150
>>>> >> FB.WebCommerce.GetPassword.linkValidate_Click(Object sender,
>>> EventArgs
>>>> >> e) in d:commercewebcommercegetpassword.aspx.cs:92
>>>> >> System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
>>>> >> +108
>>>> >>
>>>> >>
>>>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.Rai
>>> sePostBackEvent(String
>>>> >> eventArgument) +57
>>>> >> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
>>>> >> sourceControl, String eventArgument) +18
>>>> >> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
>>>> >> postData)
>>>> >> +138
>>>> >> System.Web.UI.Page.ProcessRequestMain() +1292
>>>> >>
>>>> >> Informations sur la version : Version Microsoft .NET Framework
>>>> >> :1.1.4322.2032; Version ASP.NET :1.1.4322.2032
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>>
>
>
J'ai déja vérifié avec "COM OLE Viewer" et c'est bien CDOEX qui est appelé
(il est situé dans Program FilesFichiers communsMicrosoft
SharedCDOCDOEX.dll) C'est bien outlook 11 (2003) qui install cette DLL,
vérifié sue (http://support.microsoft.com/kb/171440/EN-US) et si je renome
cette DLL, j'ai l'erreur (Le module spécifié est introuvable) -> donc
certitude sur l'utilisation de cette DLL par le Framework
J'ai également fait le test 'bourrin' de mettre les droits 'tout le monde
/ tout 'sur le dossier CDO mais ca ne change rien...
Je continue tranquillement mes recherches (entre 2 lignes de code) mais
heureusement que le pb est sur ma machine de dev et aps sur la amchne de
prod :-)...
Merci
Fred
"Simon Mourier" a écrit dans le message de
news:En fait, MailMessage est un wrapper sur les deux composants COM dont les
progids respectifs sont "CDO.Message" (servi par CDOSYS.DLL Windows
2000/XP/2003, ...) et "CDONTS.NewMail" (servi par CDONTS.DLL sur Windows
NT4). En fonction de l'OS, il choisit l'un ou l'autre des deux objets
COM.
Normalement, sur XP, il doit donc prendre CDO.Message, et si le script
VBScript utilisant CDO.Message fonctionne... alors MailMessage devrait
fonctionner. C'est peut être un problème de droit. Le script que vous
avez essayé tourne-t-il sous la même identité que votre code .NET?
Le fait que apparemment CDOEX.DLL soit installée sur la machine doit
poser problème. Cette DLL est installée par exchange et remplace tout
simplement l'objet CDO.Message. Vous pouvez vérifier qui sert le proid
"CDO.Message" dans la registry. Trouvez le CLSID contenu dans la clé
HKEY_CLASSES_ROOTCDO.MessageCLSID et regardez la valeur de la clé
HKEY_CLASSES_ROOTCLSID<clsid>InprocServer32. Chez moi c'est bien
CDOSYS.DLL. Chez vous c'est peut-être CDOEX.DLL qui est situé dans un
endroit spécifique. Il est possible qu'il faille des droits spécifiques
pour accéder à cette DLL...
Simon.
www.softfluent.com
"Paul Bacelar" a écrit dans le
message de news: %A en croire google, sous XP, c'est CDO et pas CDONTS qu'il faut utiliser.
http://www.experts-exchange.com/Web/Q_21254350.html
http://www.w3schools.com/asp/asp_send_email.asp
--
Paul Bacelar
"Fred" wrote in message
news:#J'ai desinstallé completement Office 2003, puis reinstallé, mais ca ne
change rien
Concernant la création de l'objet CDONTS.NewMail, j'ai effectivement
une
erreur de creation d'objet 0x800A01AD (même apres le reinstall
d'office)
Merci
"Simon Mourier" a écrit dans le message de
news:%
> Attention, on ne peut pas trafiquer avec ces DLL à la main :-)
>
> En fait, les classes du Framework essayent de créer un objet
> CDONTS.NewMail et y accèdent en late binding (comme VBScript). Il
faudrait> donc essayer un VBScript avec non pas CDO.Message mais CDONTS.NewMail
pour> valider l'installation. A priori ça ne doit pas fonctionner.
>
> Moi j'essaierai de réparer Office 2003.
>
> Simon.
> www.softfluent.com
>
>
> "Fred" a écrit dans le message de news:
>
>> Simon, Paul merci pour votre contribution
>>
>> 1) L'envoi d'Email par script VBS fonctionne parfaitement
>> 2) Avec le OLE/COM Object viewer, j'ai constaté que sur la machine
>> qui
>> fonctionne, la DLL utilisée est CDOSYS.DLL (CDO pour win 2000) alors
que>> sur la machine "a problème', c'est CDOEX (CDO pour Exchange..),
>> Outlook
>> étant pourtant installé sur les 2 postes...
>> J'ai procédé a l'annulation de l'inscription de CDOEX, puis a
>> l'inscription de CDOSYS, l'erreur renvoyé par le Framework
1.1.4322.2032>> n'est plus la même "Erreur lors du chargement de la bibliothèque/DLL
>> du
>> type. " ce qui me semble logique (utilisation de CDOEX et non pas
CDOSYS)>> Si je réenregistre CDOEX j'obtient a nouveau (Erreur lors du
>> chargement>> de la bibliothèque/DLL du type)
>>
>> Le fait d'annuler l'inscription puis de réenregistrer CDOEX n'a t'il
pas>> pour effet de 'mettre a niveau la base de registre' ?
>> Faut il procéder a la desinstallation puis reinstallation d' office
2003>> ou du Framework.. pour remettre a jour CDO et/ou le lien
>> framework/cdo
>> étant donné que cela fonctionne viaVBS ?
>>
>> Merci
>>
>>
>> "Paul Bacelar" a écrit dans le
>> message de news: OXIJWe%
>>> 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
>>> C'est donc bien un problème de chargement, vérifiez avec le "COM
>>> OLE
>>> Viewer".
>>> Cela peut être un problème de droit dans la base de registre.
>>> --
>>> Paul Bacelar
>>>
>>> "Fred" wrote in message
>>> news:
>>>> Effectivement, j'avais détecté que le pb venait de cdosys.dll
>>> [COMException
>>>> (0x80029c4a)], mais je ne trouve pas de solution...
>>>> La DLL est bien présente, a les bons droits
>>>> J'ai 2 machines identique (OS XP, SP2, Vs 2003) et le pb sur une
>>>> seul
>>>> des
>>>> 2...
>>>>
>>>> Je continue a chercher (et a prendre les infos..)
>>>>
>>>> Merci
>>>>
>>>> "Simon Mourier" a écrit dans le
>>>> message
de>>> news:
>>>> eAYT%
>>>> > On dirait un problème lié à l'installation. Ce n'est pas lié au
code.>>>> > Apparemment, le .NET framework ne peut charger la DLL Windows
>>>> > qui
>>>> > permet
>>>> > d'envoyer des mails (CDOSYS.DLL).
>>>> >
>>>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdowin2000.asp>>>> >
>>>> > Cette DLL fait partie de l'OS. Est-elle bien présente? C'est
>>>> > peut-être
>>> un
>>>> > problème de sécurité?
>>>> >
>>>> > Simon.
>>>> > www.softfluent.com
>>>> >
>>>> > "Fred" a écrit dans le message de news:
>>>> >
>>>> >> Bonjour,
>>>> >>
>>>> >> J'obtient systématiquement l'erreur suivante sur une seul
>>>> >> machine
>>>> >> (XP
>>>> >> Sp2) alors que sur 2 autres (XP sp2 et 2K ADVSRV) il n'y a pas
>>>> >> de
>>>> >> problème lors de l'appel
>>>> >> de SmtpMail.Send(...)
>>>> >>
>>>> >>
>>>> >> ######### Le code
>>>> >> try
>>>> >> {
>>>> >> MailMessage MyMail=new MailMessage();
>>>> >>
MyMail.From=ConfigurationSettings.AppSettings["MailFromRequestPwd"];>>>> >> MyMail.Bcc=ConfigurationSettings.AppSettings["MailBcc"];
>>>> >> MyMail.To=email.Text;
>>>> >> MyMail.Subject="Votre mot de passe";
>>>> >> MyMail.BodyEncoding=Encoding.UTF8;
>>>> >> MyMail.BodyFormat=MailFormat.Text;
>>>> >> MyMail.Body=Body;
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> SmtpMail.Send(MyMail);
>>>> >> MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >> email.Enabledúlse;
>>>> >> btnValidate.Enabledúlse;
>>>> >> }
>>>> >> catch(HttpException ex)
>>>> >> {
>>>> >> MyError.Text="Une erreur est survenue pendant l'envoi de
>>>> >> l'e-mail
à>>>> >> "+email.Text;
>>>> >> email.Text=String.Empty;
>>>> >> }
>>>> >>
>>>> >> Quel DLL peut poser ce problème ?
>>>> >>
>>>> >> Merci
>>>> >>
>>>> >>
>>>> >> ########## L'erreur
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >> Description : Une exception non gérée s'est produite au moment
>>>> >> de
>>>> >> l'exécution de la demande Web actuelle. Contrôlez la trace de
>>>> >> la
>>>> >> pile
>>>> >> pour plus d'informations sur l'erreur et son origine dans le
>>>> >> code.
>>>> >>
>>>> >> Détails de l'exception:
System.Runtime.InteropServices.COMException:>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >>
>>>> >> Erreur source:
>>>> >>
>>>> >> Ligne 90 : MyMail.Body=Body;
>>>> >> Ligne 91 :
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> Ligne 92 : SmtpMail.Send(MyMail);
>>>> >> Ligne 93 :
>>>> >> Ligne 94 : MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >>
>>>> >>
>>>> >> Fichier source : d:commercewebcommercegetpassword.aspx.cs
>>>> >> Ligne :
>>>> >> 92
>>>> >>
>>>> >> Trace de la pile:
>>>> >>
>>>> >> [COMException (0x80029c4a): Erreur lors du chargement de la
>>>> >> bibliothèque/DLL du type.]
>>>> >>
>>>> >> [TargetInvocationException: Une exception a été levée par la
>>>> >> cible
>>>> >> d'un
>>>> >> appel.]
>>>> >> System.RuntimeType.InvokeDispMethod(String name, BindingFlags
>>>> >> invokeAttr, Object target, Object[] args, Boolean[]
byrefModifiers,>>> Int32
>>>> >> culture, String[] namedParameters) +0
>>>> >> System.RuntimeType.InvokeMember(String name, BindingFlags
>>>> >> invokeAttr,
>>>> >> Binder binder, Object target, Object[] args,
>>>> >> ParameterModifier[]
>>>> >> modifiers, CultureInfo culture, String[] namedParameters) +473
>>>> >> System.Web.Mail.CdoSysHelper.Send(MailMessage message) +1197
>>>> >> System.Web.Mail.SmtpMail.Send(MailMessage message) +150
>>>> >> FB.WebCommerce.GetPassword.linkValidate_Click(Object sender,
>>> EventArgs
>>>> >> e) in d:commercewebcommercegetpassword.aspx.cs:92
>>>> >> System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
>>>> >> +108
>>>> >>
>>>> >>
>>>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.Rai>>> sePostBackEvent(String
>>>> >> eventArgument) +57
>>>> >> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
>>>> >> sourceControl, String eventArgument) +18
>>>> >> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
>>>> >> postData)
>>>> >> +138
>>>> >> System.Web.UI.Page.ProcessRequestMain() +1292
>>>> >>
>>>> >> Informations sur la version : Version Microsoft .NET Framework
>>>> >> :1.1.4322.2032; Version ASP.NET :1.1.4322.2032
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>>
>
>
.. Petite précision
Si je déinstalle Office, que je supprime l'enregistrement de CDOEX et que
desinstalle/réinstalle OE, cela fonctionne a nouveau mais en utilisant
bien entendu CDOSYS.DLL
Fred
"Fred" a écrit dans le message de news:
uY$J'ai déja vérifié avec "COM OLE Viewer" et c'est bien CDOEX qui est
appelé (il est situé dans Program FilesFichiers communsMicrosoft
SharedCDOCDOEX.dll) C'est bien outlook 11 (2003) qui install cette DLL,
vérifié sue (http://support.microsoft.com/kb/171440/EN-US) et si je
renome cette DLL, j'ai l'erreur (Le module spécifié est introuvable) ->
donc certitude sur l'utilisation de cette DLL par le Framework
J'ai également fait le test 'bourrin' de mettre les droits 'tout le monde
/ tout 'sur le dossier CDO mais ca ne change rien...
Je continue tranquillement mes recherches (entre 2 lignes de code) mais
heureusement que le pb est sur ma machine de dev et aps sur la amchne de
prod :-)...
Merci
Fred
"Simon Mourier" a écrit dans le message de
news:En fait, MailMessage est un wrapper sur les deux composants COM dont les
progids respectifs sont "CDO.Message" (servi par CDOSYS.DLL Windows
2000/XP/2003, ...) et "CDONTS.NewMail" (servi par CDONTS.DLL sur Windows
NT4). En fonction de l'OS, il choisit l'un ou l'autre des deux objets
COM.
Normalement, sur XP, il doit donc prendre CDO.Message, et si le script
VBScript utilisant CDO.Message fonctionne... alors MailMessage devrait
fonctionner. C'est peut être un problème de droit. Le script que vous
avez essayé tourne-t-il sous la même identité que votre code .NET?
Le fait que apparemment CDOEX.DLL soit installée sur la machine doit
poser problème. Cette DLL est installée par exchange et remplace tout
simplement l'objet CDO.Message. Vous pouvez vérifier qui sert le proid
"CDO.Message" dans la registry. Trouvez le CLSID contenu dans la clé
HKEY_CLASSES_ROOTCDO.MessageCLSID et regardez la valeur de la clé
HKEY_CLASSES_ROOTCLSID<clsid>InprocServer32. Chez moi c'est bien
CDOSYS.DLL. Chez vous c'est peut-être CDOEX.DLL qui est situé dans un
endroit spécifique. Il est possible qu'il faille des droits spécifiques
pour accéder à cette DLL...
Simon.
www.softfluent.com
"Paul Bacelar" a écrit dans le
message de news: %A en croire google, sous XP, c'est CDO et pas CDONTS qu'il faut
utiliser.
http://www.experts-exchange.com/Web/Q_21254350.html
http://www.w3schools.com/asp/asp_send_email.asp
--
Paul Bacelar
"Fred" wrote in message
news:#J'ai desinstallé completement Office 2003, puis reinstallé, mais ca ne
change rien
Concernant la création de l'objet CDONTS.NewMail, j'ai effectivement
une
erreur de creation d'objet 0x800A01AD (même apres le reinstall
d'office)
Merci
"Simon Mourier" a écrit dans le message de
news:%
> Attention, on ne peut pas trafiquer avec ces DLL à la main :-)
>
> En fait, les classes du Framework essayent de créer un objet
> CDONTS.NewMail et y accèdent en late binding (comme VBScript). Il
faudrait> donc essayer un VBScript avec non pas CDO.Message mais
> CDONTS.NewMail
pour> valider l'installation. A priori ça ne doit pas fonctionner.
>
> Moi j'essaierai de réparer Office 2003.
>
> Simon.
> www.softfluent.com
>
>
> "Fred" a écrit dans le message de news:
>
>> Simon, Paul merci pour votre contribution
>>
>> 1) L'envoi d'Email par script VBS fonctionne parfaitement
>> 2) Avec le OLE/COM Object viewer, j'ai constaté que sur la machine
>> qui
>> fonctionne, la DLL utilisée est CDOSYS.DLL (CDO pour win 2000)
>> alors
que>> sur la machine "a problème', c'est CDOEX (CDO pour Exchange..),
>> Outlook
>> étant pourtant installé sur les 2 postes...
>> J'ai procédé a l'annulation de l'inscription de CDOEX, puis a
>> l'inscription de CDOSYS, l'erreur renvoyé par le Framework
1.1.4322.2032>> n'est plus la même "Erreur lors du chargement de la
>> bibliothèque/DLL du
>> type. " ce qui me semble logique (utilisation de CDOEX et non pas
CDOSYS)>> Si je réenregistre CDOEX j'obtient a nouveau (Erreur lors du
>> chargement>> de la bibliothèque/DLL du type)
>>
>> Le fait d'annuler l'inscription puis de réenregistrer CDOEX n'a
>> t'il
pas>> pour effet de 'mettre a niveau la base de registre' ?
>> Faut il procéder a la desinstallation puis reinstallation d' office
2003>> ou du Framework.. pour remettre a jour CDO et/ou le lien
>> framework/cdo
>> étant donné que cela fonctionne viaVBS ?
>>
>> Merci
>>
>>
>> "Paul Bacelar" a écrit dans le
>> message de news: OXIJWe%
>>> 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
>>> C'est donc bien un problème de chargement, vérifiez avec le "COM
>>> OLE
>>> Viewer".
>>> Cela peut être un problème de droit dans la base de registre.
>>> --
>>> Paul Bacelar
>>>
>>> "Fred" wrote in message
>>> news:
>>>> Effectivement, j'avais détecté que le pb venait de cdosys.dll
>>> [COMException
>>>> (0x80029c4a)], mais je ne trouve pas de solution...
>>>> La DLL est bien présente, a les bons droits
>>>> J'ai 2 machines identique (OS XP, SP2, Vs 2003) et le pb sur une
>>>> seul
>>>> des
>>>> 2...
>>>>
>>>> Je continue a chercher (et a prendre les infos..)
>>>>
>>>> Merci
>>>>
>>>> "Simon Mourier" a écrit dans le
>>>> message
de>>> news:
>>>> eAYT%
>>>> > On dirait un problème lié à l'installation. Ce n'est pas lié au
code.>>>> > Apparemment, le .NET framework ne peut charger la DLL Windows
>>>> > qui
>>>> > permet
>>>> > d'envoyer des mails (CDOSYS.DLL).
>>>> >
>>>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdowin2000.asp>>>> >
>>>> > Cette DLL fait partie de l'OS. Est-elle bien présente? C'est
>>>> > peut-être
>>> un
>>>> > problème de sécurité?
>>>> >
>>>> > Simon.
>>>> > www.softfluent.com
>>>> >
>>>> > "Fred" a écrit dans le message de news:
>>>> >
>>>> >> Bonjour,
>>>> >>
>>>> >> J'obtient systématiquement l'erreur suivante sur une seul
>>>> >> machine
>>>> >> (XP
>>>> >> Sp2) alors que sur 2 autres (XP sp2 et 2K ADVSRV) il n'y a
>>>> >> pas de
>>>> >> problème lors de l'appel
>>>> >> de SmtpMail.Send(...)
>>>> >>
>>>> >>
>>>> >> ######### Le code
>>>> >> try
>>>> >> {
>>>> >> MailMessage MyMail=new MailMessage();
>>>> >>
MyMail.From=ConfigurationSettings.AppSettings["MailFromRequestPwd"];>>>> >> MyMail.Bcc=ConfigurationSettings.AppSettings["MailBcc"];
>>>> >> MyMail.To=email.Text;
>>>> >> MyMail.Subject="Votre mot de passe";
>>>> >> MyMail.BodyEncoding=Encoding.UTF8;
>>>> >> MyMail.BodyFormat=MailFormat.Text;
>>>> >> MyMail.Body=Body;
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> SmtpMail.Send(MyMail);
>>>> >> MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >> email.Enabledúlse;
>>>> >> btnValidate.Enabledúlse;
>>>> >> }
>>>> >> catch(HttpException ex)
>>>> >> {
>>>> >> MyError.Text="Une erreur est survenue pendant l'envoi de
>>>> >> l'e-mail
à>>>> >> "+email.Text;
>>>> >> email.Text=String.Empty;
>>>> >> }
>>>> >>
>>>> >> Quel DLL peut poser ce problème ?
>>>> >>
>>>> >> Merci
>>>> >>
>>>> >>
>>>> >> ########## L'erreur
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >> Description : Une exception non gérée s'est produite au moment
>>>> >> de
>>>> >> l'exécution de la demande Web actuelle. Contrôlez la trace de
>>>> >> la
>>>> >> pile
>>>> >> pour plus d'informations sur l'erreur et son origine dans le
>>>> >> code.
>>>> >>
>>>> >> Détails de l'exception:
System.Runtime.InteropServices.COMException:>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >>
>>>> >> Erreur source:
>>>> >>
>>>> >> Ligne 90 : MyMail.Body=Body;
>>>> >> Ligne 91 :
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> Ligne 92 : SmtpMail.Send(MyMail);
>>>> >> Ligne 93 :
>>>> >> Ligne 94 : MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >>
>>>> >>
>>>> >> Fichier source : d:commercewebcommercegetpassword.aspx.cs
>>>> >> Ligne :
>>>> >> 92
>>>> >>
>>>> >> Trace de la pile:
>>>> >>
>>>> >> [COMException (0x80029c4a): Erreur lors du chargement de la
>>>> >> bibliothèque/DLL du type.]
>>>> >>
>>>> >> [TargetInvocationException: Une exception a été levée par la
>>>> >> cible
>>>> >> d'un
>>>> >> appel.]
>>>> >> System.RuntimeType.InvokeDispMethod(String name,
>>>> >> BindingFlags
>>>> >> invokeAttr, Object target, Object[] args, Boolean[]
byrefModifiers,>>> Int32
>>>> >> culture, String[] namedParameters) +0
>>>> >> System.RuntimeType.InvokeMember(String name, BindingFlags
>>>> >> invokeAttr,
>>>> >> Binder binder, Object target, Object[] args,
>>>> >> ParameterModifier[]
>>>> >> modifiers, CultureInfo culture, String[] namedParameters) +473
>>>> >> System.Web.Mail.CdoSysHelper.Send(MailMessage message) +1197
>>>> >> System.Web.Mail.SmtpMail.Send(MailMessage message) +150
>>>> >> FB.WebCommerce.GetPassword.linkValidate_Click(Object sender,
>>> EventArgs
>>>> >> e) in d:commercewebcommercegetpassword.aspx.cs:92
>>>> >> System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
>>>> >> +108
>>>> >>
>>>> >>
>>>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.Rai>>> sePostBackEvent(String
>>>> >> eventArgument) +57
>>>> >> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
>>>> >> sourceControl, String eventArgument) +18
>>>> >> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
>>>> >> postData)
>>>> >> +138
>>>> >> System.Web.UI.Page.ProcessRequestMain() +1292
>>>> >>
>>>> >> Informations sur la version : Version Microsoft .NET Framework
>>>> >> :1.1.4322.2032; Version ASP.NET :1.1.4322.2032
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>>
>
>
.. Petite précision
Si je déinstalle Office, que je supprime l'enregistrement de CDOEX et que
desinstalle/réinstalle OE, cela fonctionne a nouveau mais en utilisant
bien entendu CDOSYS.DLL
Fred
"Fred" <nospan@nospam.com> a écrit dans le message de news:
uY$256PYFHA.980@TK2MSFTNGP12.phx.gbl...
J'ai déja vérifié avec "COM OLE Viewer" et c'est bien CDOEX qui est
appelé (il est situé dans Program FilesFichiers communsMicrosoft
SharedCDOCDOEX.dll) C'est bien outlook 11 (2003) qui install cette DLL,
vérifié sue (http://support.microsoft.com/kb/171440/EN-US) et si je
renome cette DLL, j'ai l'erreur (Le module spécifié est introuvable) ->
donc certitude sur l'utilisation de cette DLL par le Framework
J'ai également fait le test 'bourrin' de mettre les droits 'tout le monde
/ tout 'sur le dossier CDO mais ca ne change rien...
Je continue tranquillement mes recherches (entre 2 lignes de code) mais
heureusement que le pb est sur ma machine de dev et aps sur la amchne de
prod :-)...
Merci
Fred
"Simon Mourier" <simon_mourier@botmail.com> a écrit dans le message de
news: uRdYtJPYFHA.4036@tk2msftngp13.phx.gbl...
En fait, MailMessage est un wrapper sur les deux composants COM dont les
progids respectifs sont "CDO.Message" (servi par CDOSYS.DLL Windows
2000/XP/2003, ...) et "CDONTS.NewMail" (servi par CDONTS.DLL sur Windows
NT4). En fonction de l'OS, il choisit l'un ou l'autre des deux objets
COM.
Normalement, sur XP, il doit donc prendre CDO.Message, et si le script
VBScript utilisant CDO.Message fonctionne... alors MailMessage devrait
fonctionner. C'est peut être un problème de droit. Le script que vous
avez essayé tourne-t-il sous la même identité que votre code .NET?
Le fait que apparemment CDOEX.DLL soit installée sur la machine doit
poser problème. Cette DLL est installée par exchange et remplace tout
simplement l'objet CDO.Message. Vous pouvez vérifier qui sert le proid
"CDO.Message" dans la registry. Trouvez le CLSID contenu dans la clé
HKEY_CLASSES_ROOTCDO.MessageCLSID et regardez la valeur de la clé
HKEY_CLASSES_ROOTCLSID<clsid>InprocServer32. Chez moi c'est bien
CDOSYS.DLL. Chez vous c'est peut-être CDOEX.DLL qui est situé dans un
endroit spécifique. Il est possible qu'il faille des droits spécifiques
pour accéder à cette DLL...
Simon.
www.softfluent.com
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
message de news: %23wYeqPKYFHA.4036@tk2msftngp13.phx.gbl...
A en croire google, sous XP, c'est CDO et pas CDONTS qu'il faut
utiliser.
http://www.experts-exchange.com/Web/Q_21254350.html
http://www.w3schools.com/asp/asp_send_email.asp
--
Paul Bacelar
"Fred" <nospan@nospam.com> wrote in message
news:#Ld7kjIYFHA.2288@TK2MSFTNGP14.phx.gbl...
J'ai desinstallé completement Office 2003, puis reinstallé, mais ca ne
change rien
Concernant la création de l'objet CDONTS.NewMail, j'ai effectivement
une
erreur de creation d'objet 0x800A01AD (même apres le reinstall
d'office)
Merci
"Simon Mourier" <simon_mourier@botmail.com> a écrit dans le message de
news:
%23q4bkqHYFHA.3892@TK2MSFTNGP10.phx.gbl...
> Attention, on ne peut pas trafiquer avec ces DLL à la main :-)
>
> En fait, les classes du Framework essayent de créer un objet
> CDONTS.NewMail et y accèdent en late binding (comme VBScript). Il
faudrait
> donc essayer un VBScript avec non pas CDO.Message mais
> CDONTS.NewMail
pour
> valider l'installation. A priori ça ne doit pas fonctionner.
>
> Moi j'essaierai de réparer Office 2003.
>
> Simon.
> www.softfluent.com
>
>
> "Fred" <nospan@nospam.com> a écrit dans le message de news:
> uc7ExGEYFHA.2588@TK2MSFTNGP14.phx.gbl...
>> Simon, Paul merci pour votre contribution
>>
>> 1) L'envoi d'Email par script VBS fonctionne parfaitement
>> 2) Avec le OLE/COM Object viewer, j'ai constaté que sur la machine
>> qui
>> fonctionne, la DLL utilisée est CDOSYS.DLL (CDO pour win 2000)
>> alors
que
>> sur la machine "a problème', c'est CDOEX (CDO pour Exchange..),
>> Outlook
>> étant pourtant installé sur les 2 postes...
>> J'ai procédé a l'annulation de l'inscription de CDOEX, puis a
>> l'inscription de CDOSYS, l'erreur renvoyé par le Framework
1.1.4322.2032
>> n'est plus la même "Erreur lors du chargement de la
>> bibliothèque/DLL du
>> type. " ce qui me semble logique (utilisation de CDOEX et non pas
CDOSYS)
>> Si je réenregistre CDOEX j'obtient a nouveau (Erreur lors du
>> chargement
>> de la bibliothèque/DLL du type)
>>
>> Le fait d'annuler l'inscription puis de réenregistrer CDOEX n'a
>> t'il
pas
>> pour effet de 'mettre a niveau la base de registre' ?
>> Faut il procéder a la desinstallation puis reinstallation d' office
2003
>> ou du Framework.. pour remettre a jour CDO et/ou le lien
>> framework/cdo
>> étant donné que cela fonctionne viaVBS ?
>>
>> Merci
>>
>>
>> "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
>> message de news: OXIJWe%23XFHA.2128@TK2MSFTNGP14.phx.gbl...
>>> 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
>>> C'est donc bien un problème de chargement, vérifiez avec le "COM
>>> OLE
>>> Viewer".
>>> Cela peut être un problème de droit dans la base de registre.
>>> --
>>> Paul Bacelar
>>>
>>> "Fred" <nospan@nospam.com> wrote in message
>>> news:el5Vun6XFHA.3840@tk2msftngp13.phx.gbl...
>>>> Effectivement, j'avais détecté que le pb venait de cdosys.dll
>>> [COMException
>>>> (0x80029c4a)], mais je ne trouve pas de solution...
>>>> La DLL est bien présente, a les bons droits
>>>> J'ai 2 machines identique (OS XP, SP2, Vs 2003) et le pb sur une
>>>> seul
>>>> des
>>>> 2...
>>>>
>>>> Je continue a chercher (et a prendre les infos..)
>>>>
>>>> Merci
>>>>
>>>> "Simon Mourier" <simon_mourier@botmail.com> a écrit dans le
>>>> message
de
>>> news:
>>>> eAYT%23ipXFHA.4032@tk2msftngp13.phx.gbl...
>>>> > On dirait un problème lié à l'installation. Ce n'est pas lié au
code.
>>>> > Apparemment, le .NET framework ne peut charger la DLL Windows
>>>> > qui
>>>> > permet
>>>> > d'envoyer des mails (CDOSYS.DLL).
>>>> >
>>>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdowin2000.asp
>>>> >
>>>> > Cette DLL fait partie de l'OS. Est-elle bien présente? C'est
>>>> > peut-être
>>> un
>>>> > problème de sécurité?
>>>> >
>>>> > Simon.
>>>> > www.softfluent.com
>>>> >
>>>> > "Fred" <nospan@nospam.com> a écrit dans le message de news:
>>>> > uxSTlyfXFHA.2060@tk2msftngp13.phx.gbl...
>>>> >> Bonjour,
>>>> >>
>>>> >> J'obtient systématiquement l'erreur suivante sur une seul
>>>> >> machine
>>>> >> (XP
>>>> >> Sp2) alors que sur 2 autres (XP sp2 et 2K ADVSRV) il n'y a
>>>> >> pas de
>>>> >> problème lors de l'appel
>>>> >> de SmtpMail.Send(...)
>>>> >>
>>>> >>
>>>> >> ######### Le code
>>>> >> try
>>>> >> {
>>>> >> MailMessage MyMail=new MailMessage();
>>>> >>
MyMail.From=ConfigurationSettings.AppSettings["MailFromRequestPwd"];
>>>> >> MyMail.Bcc=ConfigurationSettings.AppSettings["MailBcc"];
>>>> >> MyMail.To=email.Text;
>>>> >> MyMail.Subject="Votre mot de passe";
>>>> >> MyMail.BodyEncoding=Encoding.UTF8;
>>>> >> MyMail.BodyFormat=MailFormat.Text;
>>>> >> MyMail.Body=Body;
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];
>>>> >> SmtpMail.Send(MyMail);
>>>> >> MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >> email.Enabledúlse;
>>>> >> btnValidate.Enabledúlse;
>>>> >> }
>>>> >> catch(HttpException ex)
>>>> >> {
>>>> >> MyError.Text="Une erreur est survenue pendant l'envoi de
>>>> >> l'e-mail
à
>>>> >> "+email.Text;
>>>> >> email.Text=String.Empty;
>>>> >> }
>>>> >>
>>>> >> Quel DLL peut poser ce problème ?
>>>> >>
>>>> >> Merci
>>>> >>
>>>> >>
>>>> >> ########## L'erreur
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >> Description : Une exception non gérée s'est produite au moment
>>>> >> de
>>>> >> l'exécution de la demande Web actuelle. Contrôlez la trace de
>>>> >> la
>>>> >> pile
>>>> >> pour plus d'informations sur l'erreur et son origine dans le
>>>> >> code.
>>>> >>
>>>> >> Détails de l'exception:
System.Runtime.InteropServices.COMException:
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >>
>>>> >> Erreur source:
>>>> >>
>>>> >> Ligne 90 : MyMail.Body=Body;
>>>> >> Ligne 91 :
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];
>>>> >> Ligne 92 : SmtpMail.Send(MyMail);
>>>> >> Ligne 93 :
>>>> >> Ligne 94 : MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >>
>>>> >>
>>>> >> Fichier source : d:commercewebcommercegetpassword.aspx.cs
>>>> >> Ligne :
>>>> >> 92
>>>> >>
>>>> >> Trace de la pile:
>>>> >>
>>>> >> [COMException (0x80029c4a): Erreur lors du chargement de la
>>>> >> bibliothèque/DLL du type.]
>>>> >>
>>>> >> [TargetInvocationException: Une exception a été levée par la
>>>> >> cible
>>>> >> d'un
>>>> >> appel.]
>>>> >> System.RuntimeType.InvokeDispMethod(String name,
>>>> >> BindingFlags
>>>> >> invokeAttr, Object target, Object[] args, Boolean[]
byrefModifiers,
>>> Int32
>>>> >> culture, String[] namedParameters) +0
>>>> >> System.RuntimeType.InvokeMember(String name, BindingFlags
>>>> >> invokeAttr,
>>>> >> Binder binder, Object target, Object[] args,
>>>> >> ParameterModifier[]
>>>> >> modifiers, CultureInfo culture, String[] namedParameters) +473
>>>> >> System.Web.Mail.CdoSysHelper.Send(MailMessage message) +1197
>>>> >> System.Web.Mail.SmtpMail.Send(MailMessage message) +150
>>>> >> FB.WebCommerce.GetPassword.linkValidate_Click(Object sender,
>>> EventArgs
>>>> >> e) in d:commercewebcommercegetpassword.aspx.cs:92
>>>> >> System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
>>>> >> +108
>>>> >>
>>>> >>
>>>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.Rai
>>> sePostBackEvent(String
>>>> >> eventArgument) +57
>>>> >> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
>>>> >> sourceControl, String eventArgument) +18
>>>> >> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
>>>> >> postData)
>>>> >> +138
>>>> >> System.Web.UI.Page.ProcessRequestMain() +1292
>>>> >>
>>>> >> Informations sur la version : Version Microsoft .NET Framework
>>>> >> :1.1.4322.2032; Version ASP.NET :1.1.4322.2032
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>>
>
>
.. Petite précision
Si je déinstalle Office, que je supprime l'enregistrement de CDOEX et que
desinstalle/réinstalle OE, cela fonctionne a nouveau mais en utilisant
bien entendu CDOSYS.DLL
Fred
"Fred" a écrit dans le message de news:
uY$J'ai déja vérifié avec "COM OLE Viewer" et c'est bien CDOEX qui est
appelé (il est situé dans Program FilesFichiers communsMicrosoft
SharedCDOCDOEX.dll) C'est bien outlook 11 (2003) qui install cette DLL,
vérifié sue (http://support.microsoft.com/kb/171440/EN-US) et si je
renome cette DLL, j'ai l'erreur (Le module spécifié est introuvable) ->
donc certitude sur l'utilisation de cette DLL par le Framework
J'ai également fait le test 'bourrin' de mettre les droits 'tout le monde
/ tout 'sur le dossier CDO mais ca ne change rien...
Je continue tranquillement mes recherches (entre 2 lignes de code) mais
heureusement que le pb est sur ma machine de dev et aps sur la amchne de
prod :-)...
Merci
Fred
"Simon Mourier" a écrit dans le message de
news:En fait, MailMessage est un wrapper sur les deux composants COM dont les
progids respectifs sont "CDO.Message" (servi par CDOSYS.DLL Windows
2000/XP/2003, ...) et "CDONTS.NewMail" (servi par CDONTS.DLL sur Windows
NT4). En fonction de l'OS, il choisit l'un ou l'autre des deux objets
COM.
Normalement, sur XP, il doit donc prendre CDO.Message, et si le script
VBScript utilisant CDO.Message fonctionne... alors MailMessage devrait
fonctionner. C'est peut être un problème de droit. Le script que vous
avez essayé tourne-t-il sous la même identité que votre code .NET?
Le fait que apparemment CDOEX.DLL soit installée sur la machine doit
poser problème. Cette DLL est installée par exchange et remplace tout
simplement l'objet CDO.Message. Vous pouvez vérifier qui sert le proid
"CDO.Message" dans la registry. Trouvez le CLSID contenu dans la clé
HKEY_CLASSES_ROOTCDO.MessageCLSID et regardez la valeur de la clé
HKEY_CLASSES_ROOTCLSID<clsid>InprocServer32. Chez moi c'est bien
CDOSYS.DLL. Chez vous c'est peut-être CDOEX.DLL qui est situé dans un
endroit spécifique. Il est possible qu'il faille des droits spécifiques
pour accéder à cette DLL...
Simon.
www.softfluent.com
"Paul Bacelar" a écrit dans le
message de news: %A en croire google, sous XP, c'est CDO et pas CDONTS qu'il faut
utiliser.
http://www.experts-exchange.com/Web/Q_21254350.html
http://www.w3schools.com/asp/asp_send_email.asp
--
Paul Bacelar
"Fred" wrote in message
news:#J'ai desinstallé completement Office 2003, puis reinstallé, mais ca ne
change rien
Concernant la création de l'objet CDONTS.NewMail, j'ai effectivement
une
erreur de creation d'objet 0x800A01AD (même apres le reinstall
d'office)
Merci
"Simon Mourier" a écrit dans le message de
news:%
> Attention, on ne peut pas trafiquer avec ces DLL à la main :-)
>
> En fait, les classes du Framework essayent de créer un objet
> CDONTS.NewMail et y accèdent en late binding (comme VBScript). Il
faudrait> donc essayer un VBScript avec non pas CDO.Message mais
> CDONTS.NewMail
pour> valider l'installation. A priori ça ne doit pas fonctionner.
>
> Moi j'essaierai de réparer Office 2003.
>
> Simon.
> www.softfluent.com
>
>
> "Fred" a écrit dans le message de news:
>
>> Simon, Paul merci pour votre contribution
>>
>> 1) L'envoi d'Email par script VBS fonctionne parfaitement
>> 2) Avec le OLE/COM Object viewer, j'ai constaté que sur la machine
>> qui
>> fonctionne, la DLL utilisée est CDOSYS.DLL (CDO pour win 2000)
>> alors
que>> sur la machine "a problème', c'est CDOEX (CDO pour Exchange..),
>> Outlook
>> étant pourtant installé sur les 2 postes...
>> J'ai procédé a l'annulation de l'inscription de CDOEX, puis a
>> l'inscription de CDOSYS, l'erreur renvoyé par le Framework
1.1.4322.2032>> n'est plus la même "Erreur lors du chargement de la
>> bibliothèque/DLL du
>> type. " ce qui me semble logique (utilisation de CDOEX et non pas
CDOSYS)>> Si je réenregistre CDOEX j'obtient a nouveau (Erreur lors du
>> chargement>> de la bibliothèque/DLL du type)
>>
>> Le fait d'annuler l'inscription puis de réenregistrer CDOEX n'a
>> t'il
pas>> pour effet de 'mettre a niveau la base de registre' ?
>> Faut il procéder a la desinstallation puis reinstallation d' office
2003>> ou du Framework.. pour remettre a jour CDO et/ou le lien
>> framework/cdo
>> étant donné que cela fonctionne viaVBS ?
>>
>> Merci
>>
>>
>> "Paul Bacelar" a écrit dans le
>> message de news: OXIJWe%
>>> 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
>>> C'est donc bien un problème de chargement, vérifiez avec le "COM
>>> OLE
>>> Viewer".
>>> Cela peut être un problème de droit dans la base de registre.
>>> --
>>> Paul Bacelar
>>>
>>> "Fred" wrote in message
>>> news:
>>>> Effectivement, j'avais détecté que le pb venait de cdosys.dll
>>> [COMException
>>>> (0x80029c4a)], mais je ne trouve pas de solution...
>>>> La DLL est bien présente, a les bons droits
>>>> J'ai 2 machines identique (OS XP, SP2, Vs 2003) et le pb sur une
>>>> seul
>>>> des
>>>> 2...
>>>>
>>>> Je continue a chercher (et a prendre les infos..)
>>>>
>>>> Merci
>>>>
>>>> "Simon Mourier" a écrit dans le
>>>> message
de>>> news:
>>>> eAYT%
>>>> > On dirait un problème lié à l'installation. Ce n'est pas lié au
code.>>>> > Apparemment, le .NET framework ne peut charger la DLL Windows
>>>> > qui
>>>> > permet
>>>> > d'envoyer des mails (CDOSYS.DLL).
>>>> >
>>>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdowin2000.asp>>>> >
>>>> > Cette DLL fait partie de l'OS. Est-elle bien présente? C'est
>>>> > peut-être
>>> un
>>>> > problème de sécurité?
>>>> >
>>>> > Simon.
>>>> > www.softfluent.com
>>>> >
>>>> > "Fred" a écrit dans le message de news:
>>>> >
>>>> >> Bonjour,
>>>> >>
>>>> >> J'obtient systématiquement l'erreur suivante sur une seul
>>>> >> machine
>>>> >> (XP
>>>> >> Sp2) alors que sur 2 autres (XP sp2 et 2K ADVSRV) il n'y a
>>>> >> pas de
>>>> >> problème lors de l'appel
>>>> >> de SmtpMail.Send(...)
>>>> >>
>>>> >>
>>>> >> ######### Le code
>>>> >> try
>>>> >> {
>>>> >> MailMessage MyMail=new MailMessage();
>>>> >>
MyMail.From=ConfigurationSettings.AppSettings["MailFromRequestPwd"];>>>> >> MyMail.Bcc=ConfigurationSettings.AppSettings["MailBcc"];
>>>> >> MyMail.To=email.Text;
>>>> >> MyMail.Subject="Votre mot de passe";
>>>> >> MyMail.BodyEncoding=Encoding.UTF8;
>>>> >> MyMail.BodyFormat=MailFormat.Text;
>>>> >> MyMail.Body=Body;
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> SmtpMail.Send(MyMail);
>>>> >> MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >> email.Enabledúlse;
>>>> >> btnValidate.Enabledúlse;
>>>> >> }
>>>> >> catch(HttpException ex)
>>>> >> {
>>>> >> MyError.Text="Une erreur est survenue pendant l'envoi de
>>>> >> l'e-mail
à>>>> >> "+email.Text;
>>>> >> email.Text=String.Empty;
>>>> >> }
>>>> >>
>>>> >> Quel DLL peut poser ce problème ?
>>>> >>
>>>> >> Merci
>>>> >>
>>>> >>
>>>> >> ########## L'erreur
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >> Description : Une exception non gérée s'est produite au moment
>>>> >> de
>>>> >> l'exécution de la demande Web actuelle. Contrôlez la trace de
>>>> >> la
>>>> >> pile
>>>> >> pour plus d'informations sur l'erreur et son origine dans le
>>>> >> code.
>>>> >>
>>>> >> Détails de l'exception:
System.Runtime.InteropServices.COMException:>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >>
>>>> >> Erreur source:
>>>> >>
>>>> >> Ligne 90 : MyMail.Body=Body;
>>>> >> Ligne 91 :
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> Ligne 92 : SmtpMail.Send(MyMail);
>>>> >> Ligne 93 :
>>>> >> Ligne 94 : MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >>
>>>> >>
>>>> >> Fichier source : d:commercewebcommercegetpassword.aspx.cs
>>>> >> Ligne :
>>>> >> 92
>>>> >>
>>>> >> Trace de la pile:
>>>> >>
>>>> >> [COMException (0x80029c4a): Erreur lors du chargement de la
>>>> >> bibliothèque/DLL du type.]
>>>> >>
>>>> >> [TargetInvocationException: Une exception a été levée par la
>>>> >> cible
>>>> >> d'un
>>>> >> appel.]
>>>> >> System.RuntimeType.InvokeDispMethod(String name,
>>>> >> BindingFlags
>>>> >> invokeAttr, Object target, Object[] args, Boolean[]
byrefModifiers,>>> Int32
>>>> >> culture, String[] namedParameters) +0
>>>> >> System.RuntimeType.InvokeMember(String name, BindingFlags
>>>> >> invokeAttr,
>>>> >> Binder binder, Object target, Object[] args,
>>>> >> ParameterModifier[]
>>>> >> modifiers, CultureInfo culture, String[] namedParameters) +473
>>>> >> System.Web.Mail.CdoSysHelper.Send(MailMessage message) +1197
>>>> >> System.Web.Mail.SmtpMail.Send(MailMessage message) +150
>>>> >> FB.WebCommerce.GetPassword.linkValidate_Click(Object sender,
>>> EventArgs
>>>> >> e) in d:commercewebcommercegetpassword.aspx.cs:92
>>>> >> System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
>>>> >> +108
>>>> >>
>>>> >>
>>>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.Rai>>> sePostBackEvent(String
>>>> >> eventArgument) +57
>>>> >> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
>>>> >> sourceControl, String eventArgument) +18
>>>> >> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
>>>> >> postData)
>>>> >> +138
>>>> >> System.Web.UI.Page.ProcessRequestMain() +1292
>>>> >>
>>>> >> Informations sur la version : Version Microsoft .NET Framework
>>>> >> :1.1.4322.2032; Version ASP.NET :1.1.4322.2032
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>>
>
>
CDOEX.DLL vient avec exchange, pas Outlook. La fiche
http://support.microsoft.com/kb/171440/EN-US ne mentionne pas CDOEX
d'ailleurs.
Le problème vient sans doute du fait qu'à un moment, Exchange a été
installé, avec donc CDOEX. Puisque CDOEX lors de l'enregistrement redirige
le progid CDO.Message vers lui-même, le framework utilise (sans le savoir)
CDOEX.DLL. Ce qui est bizarre c'est que ça fonctionne avec VBSCRIPT et
CDOEX.DLL...
Le mieux est donc effectivement de désenregistrer CDOEX.DLL (regsvr32 /u
CDOEX.DLL) et d'enregistrer CDOSYS.DLL (regsvr32 CDOSYS.DLL), mais c'est
hazardeux ...
Simon.
www.softfluent.com
"Fred" a écrit dans le message de news:.. Petite précision
Si je déinstalle Office, que je supprime l'enregistrement de CDOEX et que
desinstalle/réinstalle OE, cela fonctionne a nouveau mais en utilisant
bien entendu CDOSYS.DLL
Fred
"Fred" a écrit dans le message de news:
uY$J'ai déja vérifié avec "COM OLE Viewer" et c'est bien CDOEX qui est
appelé (il est situé dans Program FilesFichiers communsMicrosoft
SharedCDOCDOEX.dll) C'est bien outlook 11 (2003) qui install cette
DLL, vérifié sue (http://support.microsoft.com/kb/171440/EN-US) et si je
renome cette DLL, j'ai l'erreur (Le module spécifié est introuvable) ->
donc certitude sur l'utilisation de cette DLL par le Framework
J'ai également fait le test 'bourrin' de mettre les droits 'tout le
monde / tout 'sur le dossier CDO mais ca ne change rien...
Je continue tranquillement mes recherches (entre 2 lignes de code) mais
heureusement que le pb est sur ma machine de dev et aps sur la amchne de
prod :-)...
Merci
Fred
"Simon Mourier" a écrit dans le message de
news:En fait, MailMessage est un wrapper sur les deux composants COM dont
les progids respectifs sont "CDO.Message" (servi par CDOSYS.DLL Windows
2000/XP/2003, ...) et "CDONTS.NewMail" (servi par CDONTS.DLL sur
Windows NT4). En fonction de l'OS, il choisit l'un ou l'autre des deux
objets COM.
Normalement, sur XP, il doit donc prendre CDO.Message, et si le script
VBScript utilisant CDO.Message fonctionne... alors MailMessage devrait
fonctionner. C'est peut être un problème de droit. Le script que vous
avez essayé tourne-t-il sous la même identité que votre code .NET?
Le fait que apparemment CDOEX.DLL soit installée sur la machine doit
poser problème. Cette DLL est installée par exchange et remplace tout
simplement l'objet CDO.Message. Vous pouvez vérifier qui sert le proid
"CDO.Message" dans la registry. Trouvez le CLSID contenu dans la clé
HKEY_CLASSES_ROOTCDO.MessageCLSID et regardez la valeur de la clé
HKEY_CLASSES_ROOTCLSID<clsid>InprocServer32. Chez moi c'est bien
CDOSYS.DLL. Chez vous c'est peut-être CDOEX.DLL qui est situé dans un
endroit spécifique. Il est possible qu'il faille des droits spécifiques
pour accéder à cette DLL...
Simon.
www.softfluent.com
"Paul Bacelar" a écrit dans le
message de news: %A en croire google, sous XP, c'est CDO et pas CDONTS qu'il faut
utiliser.
http://www.experts-exchange.com/Web/Q_21254350.html
http://www.w3schools.com/asp/asp_send_email.asp
--
Paul Bacelar
"Fred" wrote in message
news:#J'ai desinstallé completement Office 2003, puis reinstallé, mais ca
ne
change rien
Concernant la création de l'objet CDONTS.NewMail, j'ai effectivement
une
erreur de creation d'objet 0x800A01AD (même apres le reinstall
d'office)
Merci
"Simon Mourier" a écrit dans le message
de
news:%
> Attention, on ne peut pas trafiquer avec ces DLL à la main :-)
>
> En fait, les classes du Framework essayent de créer un objet
> CDONTS.NewMail et y accèdent en late binding (comme VBScript). Il
faudrait> donc essayer un VBScript avec non pas CDO.Message mais
> CDONTS.NewMail
pour> valider l'installation. A priori ça ne doit pas fonctionner.
>
> Moi j'essaierai de réparer Office 2003.
>
> Simon.
> www.softfluent.com
>
>
> "Fred" a écrit dans le message de news:
>
>> Simon, Paul merci pour votre contribution
>>
>> 1) L'envoi d'Email par script VBS fonctionne parfaitement
>> 2) Avec le OLE/COM Object viewer, j'ai constaté que sur la machine
>> qui
>> fonctionne, la DLL utilisée est CDOSYS.DLL (CDO pour win 2000)
>> alors
que>> sur la machine "a problème', c'est CDOEX (CDO pour Exchange..),
>> Outlook
>> étant pourtant installé sur les 2 postes...
>> J'ai procédé a l'annulation de l'inscription de CDOEX, puis a
>> l'inscription de CDOSYS, l'erreur renvoyé par le Framework
1.1.4322.2032>> n'est plus la même "Erreur lors du chargement de la
>> bibliothèque/DLL du
>> type. " ce qui me semble logique (utilisation de CDOEX et non pas
CDOSYS)>> Si je réenregistre CDOEX j'obtient a nouveau (Erreur lors du
>> chargement>> de la bibliothèque/DLL du type)
>>
>> Le fait d'annuler l'inscription puis de réenregistrer CDOEX n'a
>> t'il
pas>> pour effet de 'mettre a niveau la base de registre' ?
>> Faut il procéder a la desinstallation puis reinstallation d'
>> office
2003>> ou du Framework.. pour remettre a jour CDO et/ou le lien
>> framework/cdo
>> étant donné que cela fonctionne viaVBS ?
>>
>> Merci
>>
>>
>> "Paul Bacelar" a écrit dans le
>> message de news: OXIJWe%
>>> 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
>>> C'est donc bien un problème de chargement, vérifiez avec le "COM
>>> OLE
>>> Viewer".
>>> Cela peut être un problème de droit dans la base de registre.
>>> --
>>> Paul Bacelar
>>>
>>> "Fred" wrote in message
>>> news:
>>>> Effectivement, j'avais détecté que le pb venait de cdosys.dll
>>> [COMException
>>>> (0x80029c4a)], mais je ne trouve pas de solution...
>>>> La DLL est bien présente, a les bons droits
>>>> J'ai 2 machines identique (OS XP, SP2, Vs 2003) et le pb sur une
>>>> seul
>>>> des
>>>> 2...
>>>>
>>>> Je continue a chercher (et a prendre les infos..)
>>>>
>>>> Merci
>>>>
>>>> "Simon Mourier" a écrit dans le
>>>> message
de>>> news:
>>>> eAYT%
>>>> > On dirait un problème lié à l'installation. Ce n'est pas lié
>>>> > au
code.>>>> > Apparemment, le .NET framework ne peut charger la DLL Windows
>>>> > qui
>>>> > permet
>>>> > d'envoyer des mails (CDOSYS.DLL).
>>>> >
>>>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdowin2000.asp>>>> >
>>>> > Cette DLL fait partie de l'OS. Est-elle bien présente? C'est
>>>> > peut-être
>>> un
>>>> > problème de sécurité?
>>>> >
>>>> > Simon.
>>>> > www.softfluent.com
>>>> >
>>>> > "Fred" a écrit dans le message de news:
>>>> >
>>>> >> Bonjour,
>>>> >>
>>>> >> J'obtient systématiquement l'erreur suivante sur une seul
>>>> >> machine
>>>> >> (XP
>>>> >> Sp2) alors que sur 2 autres (XP sp2 et 2K ADVSRV) il n'y a
>>>> >> pas de
>>>> >> problème lors de l'appel
>>>> >> de SmtpMail.Send(...)
>>>> >>
>>>> >>
>>>> >> ######### Le code
>>>> >> try
>>>> >> {
>>>> >> MailMessage MyMail=new MailMessage();
>>>> >>
MyMail.From=ConfigurationSettings.AppSettings["MailFromRequestPwd"];>>>> >> MyMail.Bcc=ConfigurationSettings.AppSettings["MailBcc"];
>>>> >> MyMail.To=email.Text;
>>>> >> MyMail.Subject="Votre mot de passe";
>>>> >> MyMail.BodyEncoding=Encoding.UTF8;
>>>> >> MyMail.BodyFormat=MailFormat.Text;
>>>> >> MyMail.Body=Body;
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> SmtpMail.Send(MyMail);
>>>> >> MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >> email.Enabledúlse;
>>>> >> btnValidate.Enabledúlse;
>>>> >> }
>>>> >> catch(HttpException ex)
>>>> >> {
>>>> >> MyError.Text="Une erreur est survenue pendant l'envoi de
>>>> >> l'e-mail
à>>>> >> "+email.Text;
>>>> >> email.Text=String.Empty;
>>>> >> }
>>>> >>
>>>> >> Quel DLL peut poser ce problème ?
>>>> >>
>>>> >> Merci
>>>> >>
>>>> >>
>>>> >> ########## L'erreur
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >> Description : Une exception non gérée s'est produite au
>>>> >> moment de
>>>> >> l'exécution de la demande Web actuelle. Contrôlez la trace de
>>>> >> la
>>>> >> pile
>>>> >> pour plus d'informations sur l'erreur et son origine dans le
>>>> >> code.
>>>> >>
>>>> >> Détails de l'exception:
System.Runtime.InteropServices.COMException:>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >>
>>>> >> Erreur source:
>>>> >>
>>>> >> Ligne 90 : MyMail.Body=Body;
>>>> >> Ligne 91 :
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> Ligne 92 : SmtpMail.Send(MyMail);
>>>> >> Ligne 93 :
>>>> >> Ligne 94 : MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >>
>>>> >>
>>>> >> Fichier source : d:commercewebcommercegetpassword.aspx.cs
>>>> >> Ligne :
>>>> >> 92
>>>> >>
>>>> >> Trace de la pile:
>>>> >>
>>>> >> [COMException (0x80029c4a): Erreur lors du chargement de la
>>>> >> bibliothèque/DLL du type.]
>>>> >>
>>>> >> [TargetInvocationException: Une exception a été levée par la
>>>> >> cible
>>>> >> d'un
>>>> >> appel.]
>>>> >> System.RuntimeType.InvokeDispMethod(String name,
>>>> >> BindingFlags
>>>> >> invokeAttr, Object target, Object[] args, Boolean[]
byrefModifiers,>>> Int32
>>>> >> culture, String[] namedParameters) +0
>>>> >> System.RuntimeType.InvokeMember(String name, BindingFlags
>>>> >> invokeAttr,
>>>> >> Binder binder, Object target, Object[] args,
>>>> >> ParameterModifier[]
>>>> >> modifiers, CultureInfo culture, String[] namedParameters)
>>>> >> +473
>>>> >> System.Web.Mail.CdoSysHelper.Send(MailMessage message)
>>>> >> +1197
>>>> >> System.Web.Mail.SmtpMail.Send(MailMessage message) +150
>>>> >> FB.WebCommerce.GetPassword.linkValidate_Click(Object
>>>> >> sender,
>>> EventArgs
>>>> >> e) in d:commercewebcommercegetpassword.aspx.cs:92
>>>> >> System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
>>>> >> +108
>>>> >>
>>>> >>
>>>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.Rai>>> sePostBackEvent(String
>>>> >> eventArgument) +57
>>>> >> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
>>>> >> sourceControl, String eventArgument) +18
>>>> >> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
>>>> >> postData)
>>>> >> +138
>>>> >> System.Web.UI.Page.ProcessRequestMain() +1292
>>>> >>
>>>> >> Informations sur la version : Version Microsoft .NET
>>>> >> Framework
>>>> >> :1.1.4322.2032; Version ASP.NET :1.1.4322.2032
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>>
>
>
CDOEX.DLL vient avec exchange, pas Outlook. La fiche
http://support.microsoft.com/kb/171440/EN-US ne mentionne pas CDOEX
d'ailleurs.
Le problème vient sans doute du fait qu'à un moment, Exchange a été
installé, avec donc CDOEX. Puisque CDOEX lors de l'enregistrement redirige
le progid CDO.Message vers lui-même, le framework utilise (sans le savoir)
CDOEX.DLL. Ce qui est bizarre c'est que ça fonctionne avec VBSCRIPT et
CDOEX.DLL...
Le mieux est donc effectivement de désenregistrer CDOEX.DLL (regsvr32 /u
CDOEX.DLL) et d'enregistrer CDOSYS.DLL (regsvr32 CDOSYS.DLL), mais c'est
hazardeux ...
Simon.
www.softfluent.com
"Fred" <nospan@nospam.com> a écrit dans le message de news:
OI5aXLQYFHA.1404@TK2MSFTNGP09.phx.gbl...
.. Petite précision
Si je déinstalle Office, que je supprime l'enregistrement de CDOEX et que
desinstalle/réinstalle OE, cela fonctionne a nouveau mais en utilisant
bien entendu CDOSYS.DLL
Fred
"Fred" <nospan@nospam.com> a écrit dans le message de news:
uY$256PYFHA.980@TK2MSFTNGP12.phx.gbl...
J'ai déja vérifié avec "COM OLE Viewer" et c'est bien CDOEX qui est
appelé (il est situé dans Program FilesFichiers communsMicrosoft
SharedCDOCDOEX.dll) C'est bien outlook 11 (2003) qui install cette
DLL, vérifié sue (http://support.microsoft.com/kb/171440/EN-US) et si je
renome cette DLL, j'ai l'erreur (Le module spécifié est introuvable) ->
donc certitude sur l'utilisation de cette DLL par le Framework
J'ai également fait le test 'bourrin' de mettre les droits 'tout le
monde / tout 'sur le dossier CDO mais ca ne change rien...
Je continue tranquillement mes recherches (entre 2 lignes de code) mais
heureusement que le pb est sur ma machine de dev et aps sur la amchne de
prod :-)...
Merci
Fred
"Simon Mourier" <simon_mourier@botmail.com> a écrit dans le message de
news: uRdYtJPYFHA.4036@tk2msftngp13.phx.gbl...
En fait, MailMessage est un wrapper sur les deux composants COM dont
les progids respectifs sont "CDO.Message" (servi par CDOSYS.DLL Windows
2000/XP/2003, ...) et "CDONTS.NewMail" (servi par CDONTS.DLL sur
Windows NT4). En fonction de l'OS, il choisit l'un ou l'autre des deux
objets COM.
Normalement, sur XP, il doit donc prendre CDO.Message, et si le script
VBScript utilisant CDO.Message fonctionne... alors MailMessage devrait
fonctionner. C'est peut être un problème de droit. Le script que vous
avez essayé tourne-t-il sous la même identité que votre code .NET?
Le fait que apparemment CDOEX.DLL soit installée sur la machine doit
poser problème. Cette DLL est installée par exchange et remplace tout
simplement l'objet CDO.Message. Vous pouvez vérifier qui sert le proid
"CDO.Message" dans la registry. Trouvez le CLSID contenu dans la clé
HKEY_CLASSES_ROOTCDO.MessageCLSID et regardez la valeur de la clé
HKEY_CLASSES_ROOTCLSID<clsid>InprocServer32. Chez moi c'est bien
CDOSYS.DLL. Chez vous c'est peut-être CDOEX.DLL qui est situé dans un
endroit spécifique. Il est possible qu'il faille des droits spécifiques
pour accéder à cette DLL...
Simon.
www.softfluent.com
"Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
message de news: %23wYeqPKYFHA.4036@tk2msftngp13.phx.gbl...
A en croire google, sous XP, c'est CDO et pas CDONTS qu'il faut
utiliser.
http://www.experts-exchange.com/Web/Q_21254350.html
http://www.w3schools.com/asp/asp_send_email.asp
--
Paul Bacelar
"Fred" <nospan@nospam.com> wrote in message
news:#Ld7kjIYFHA.2288@TK2MSFTNGP14.phx.gbl...
J'ai desinstallé completement Office 2003, puis reinstallé, mais ca
ne
change rien
Concernant la création de l'objet CDONTS.NewMail, j'ai effectivement
une
erreur de creation d'objet 0x800A01AD (même apres le reinstall
d'office)
Merci
"Simon Mourier" <simon_mourier@botmail.com> a écrit dans le message
de
news:
%23q4bkqHYFHA.3892@TK2MSFTNGP10.phx.gbl...
> Attention, on ne peut pas trafiquer avec ces DLL à la main :-)
>
> En fait, les classes du Framework essayent de créer un objet
> CDONTS.NewMail et y accèdent en late binding (comme VBScript). Il
faudrait
> donc essayer un VBScript avec non pas CDO.Message mais
> CDONTS.NewMail
pour
> valider l'installation. A priori ça ne doit pas fonctionner.
>
> Moi j'essaierai de réparer Office 2003.
>
> Simon.
> www.softfluent.com
>
>
> "Fred" <nospan@nospam.com> a écrit dans le message de news:
> uc7ExGEYFHA.2588@TK2MSFTNGP14.phx.gbl...
>> Simon, Paul merci pour votre contribution
>>
>> 1) L'envoi d'Email par script VBS fonctionne parfaitement
>> 2) Avec le OLE/COM Object viewer, j'ai constaté que sur la machine
>> qui
>> fonctionne, la DLL utilisée est CDOSYS.DLL (CDO pour win 2000)
>> alors
que
>> sur la machine "a problème', c'est CDOEX (CDO pour Exchange..),
>> Outlook
>> étant pourtant installé sur les 2 postes...
>> J'ai procédé a l'annulation de l'inscription de CDOEX, puis a
>> l'inscription de CDOSYS, l'erreur renvoyé par le Framework
1.1.4322.2032
>> n'est plus la même "Erreur lors du chargement de la
>> bibliothèque/DLL du
>> type. " ce qui me semble logique (utilisation de CDOEX et non pas
CDOSYS)
>> Si je réenregistre CDOEX j'obtient a nouveau (Erreur lors du
>> chargement
>> de la bibliothèque/DLL du type)
>>
>> Le fait d'annuler l'inscription puis de réenregistrer CDOEX n'a
>> t'il
pas
>> pour effet de 'mettre a niveau la base de registre' ?
>> Faut il procéder a la desinstallation puis reinstallation d'
>> office
2003
>> ou du Framework.. pour remettre a jour CDO et/ou le lien
>> framework/cdo
>> étant donné que cela fonctionne viaVBS ?
>>
>> Merci
>>
>>
>> "Paul Bacelar" <paul.bacelar@PASDESPAMlaposte.net> a écrit dans le
>> message de news: OXIJWe%23XFHA.2128@TK2MSFTNGP14.phx.gbl...
>>> 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
>>> C'est donc bien un problème de chargement, vérifiez avec le "COM
>>> OLE
>>> Viewer".
>>> Cela peut être un problème de droit dans la base de registre.
>>> --
>>> Paul Bacelar
>>>
>>> "Fred" <nospan@nospam.com> wrote in message
>>> news:el5Vun6XFHA.3840@tk2msftngp13.phx.gbl...
>>>> Effectivement, j'avais détecté que le pb venait de cdosys.dll
>>> [COMException
>>>> (0x80029c4a)], mais je ne trouve pas de solution...
>>>> La DLL est bien présente, a les bons droits
>>>> J'ai 2 machines identique (OS XP, SP2, Vs 2003) et le pb sur une
>>>> seul
>>>> des
>>>> 2...
>>>>
>>>> Je continue a chercher (et a prendre les infos..)
>>>>
>>>> Merci
>>>>
>>>> "Simon Mourier" <simon_mourier@botmail.com> a écrit dans le
>>>> message
de
>>> news:
>>>> eAYT%23ipXFHA.4032@tk2msftngp13.phx.gbl...
>>>> > On dirait un problème lié à l'installation. Ce n'est pas lié
>>>> > au
code.
>>>> > Apparemment, le .NET framework ne peut charger la DLL Windows
>>>> > qui
>>>> > permet
>>>> > d'envoyer des mails (CDOSYS.DLL).
>>>> >
>>>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdowin2000.asp
>>>> >
>>>> > Cette DLL fait partie de l'OS. Est-elle bien présente? C'est
>>>> > peut-être
>>> un
>>>> > problème de sécurité?
>>>> >
>>>> > Simon.
>>>> > www.softfluent.com
>>>> >
>>>> > "Fred" <nospan@nospam.com> a écrit dans le message de news:
>>>> > uxSTlyfXFHA.2060@tk2msftngp13.phx.gbl...
>>>> >> Bonjour,
>>>> >>
>>>> >> J'obtient systématiquement l'erreur suivante sur une seul
>>>> >> machine
>>>> >> (XP
>>>> >> Sp2) alors que sur 2 autres (XP sp2 et 2K ADVSRV) il n'y a
>>>> >> pas de
>>>> >> problème lors de l'appel
>>>> >> de SmtpMail.Send(...)
>>>> >>
>>>> >>
>>>> >> ######### Le code
>>>> >> try
>>>> >> {
>>>> >> MailMessage MyMail=new MailMessage();
>>>> >>
MyMail.From=ConfigurationSettings.AppSettings["MailFromRequestPwd"];
>>>> >> MyMail.Bcc=ConfigurationSettings.AppSettings["MailBcc"];
>>>> >> MyMail.To=email.Text;
>>>> >> MyMail.Subject="Votre mot de passe";
>>>> >> MyMail.BodyEncoding=Encoding.UTF8;
>>>> >> MyMail.BodyFormat=MailFormat.Text;
>>>> >> MyMail.Body=Body;
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];
>>>> >> SmtpMail.Send(MyMail);
>>>> >> MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >> email.Enabledúlse;
>>>> >> btnValidate.Enabledúlse;
>>>> >> }
>>>> >> catch(HttpException ex)
>>>> >> {
>>>> >> MyError.Text="Une erreur est survenue pendant l'envoi de
>>>> >> l'e-mail
à
>>>> >> "+email.Text;
>>>> >> email.Text=String.Empty;
>>>> >> }
>>>> >>
>>>> >> Quel DLL peut poser ce problème ?
>>>> >>
>>>> >> Merci
>>>> >>
>>>> >>
>>>> >> ########## L'erreur
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >> Description : Une exception non gérée s'est produite au
>>>> >> moment de
>>>> >> l'exécution de la demande Web actuelle. Contrôlez la trace de
>>>> >> la
>>>> >> pile
>>>> >> pour plus d'informations sur l'erreur et son origine dans le
>>>> >> code.
>>>> >>
>>>> >> Détails de l'exception:
System.Runtime.InteropServices.COMException:
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >>
>>>> >> Erreur source:
>>>> >>
>>>> >> Ligne 90 : MyMail.Body=Body;
>>>> >> Ligne 91 :
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];
>>>> >> Ligne 92 : SmtpMail.Send(MyMail);
>>>> >> Ligne 93 :
>>>> >> Ligne 94 : MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >>
>>>> >>
>>>> >> Fichier source : d:commercewebcommercegetpassword.aspx.cs
>>>> >> Ligne :
>>>> >> 92
>>>> >>
>>>> >> Trace de la pile:
>>>> >>
>>>> >> [COMException (0x80029c4a): Erreur lors du chargement de la
>>>> >> bibliothèque/DLL du type.]
>>>> >>
>>>> >> [TargetInvocationException: Une exception a été levée par la
>>>> >> cible
>>>> >> d'un
>>>> >> appel.]
>>>> >> System.RuntimeType.InvokeDispMethod(String name,
>>>> >> BindingFlags
>>>> >> invokeAttr, Object target, Object[] args, Boolean[]
byrefModifiers,
>>> Int32
>>>> >> culture, String[] namedParameters) +0
>>>> >> System.RuntimeType.InvokeMember(String name, BindingFlags
>>>> >> invokeAttr,
>>>> >> Binder binder, Object target, Object[] args,
>>>> >> ParameterModifier[]
>>>> >> modifiers, CultureInfo culture, String[] namedParameters)
>>>> >> +473
>>>> >> System.Web.Mail.CdoSysHelper.Send(MailMessage message)
>>>> >> +1197
>>>> >> System.Web.Mail.SmtpMail.Send(MailMessage message) +150
>>>> >> FB.WebCommerce.GetPassword.linkValidate_Click(Object
>>>> >> sender,
>>> EventArgs
>>>> >> e) in d:commercewebcommercegetpassword.aspx.cs:92
>>>> >> System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
>>>> >> +108
>>>> >>
>>>> >>
>>>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.Rai
>>> sePostBackEvent(String
>>>> >> eventArgument) +57
>>>> >> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
>>>> >> sourceControl, String eventArgument) +18
>>>> >> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
>>>> >> postData)
>>>> >> +138
>>>> >> System.Web.UI.Page.ProcessRequestMain() +1292
>>>> >>
>>>> >> Informations sur la version : Version Microsoft .NET
>>>> >> Framework
>>>> >> :1.1.4322.2032; Version ASP.NET :1.1.4322.2032
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>>
>
>
CDOEX.DLL vient avec exchange, pas Outlook. La fiche
http://support.microsoft.com/kb/171440/EN-US ne mentionne pas CDOEX
d'ailleurs.
Le problème vient sans doute du fait qu'à un moment, Exchange a été
installé, avec donc CDOEX. Puisque CDOEX lors de l'enregistrement redirige
le progid CDO.Message vers lui-même, le framework utilise (sans le savoir)
CDOEX.DLL. Ce qui est bizarre c'est que ça fonctionne avec VBSCRIPT et
CDOEX.DLL...
Le mieux est donc effectivement de désenregistrer CDOEX.DLL (regsvr32 /u
CDOEX.DLL) et d'enregistrer CDOSYS.DLL (regsvr32 CDOSYS.DLL), mais c'est
hazardeux ...
Simon.
www.softfluent.com
"Fred" a écrit dans le message de news:.. Petite précision
Si je déinstalle Office, que je supprime l'enregistrement de CDOEX et que
desinstalle/réinstalle OE, cela fonctionne a nouveau mais en utilisant
bien entendu CDOSYS.DLL
Fred
"Fred" a écrit dans le message de news:
uY$J'ai déja vérifié avec "COM OLE Viewer" et c'est bien CDOEX qui est
appelé (il est situé dans Program FilesFichiers communsMicrosoft
SharedCDOCDOEX.dll) C'est bien outlook 11 (2003) qui install cette
DLL, vérifié sue (http://support.microsoft.com/kb/171440/EN-US) et si je
renome cette DLL, j'ai l'erreur (Le module spécifié est introuvable) ->
donc certitude sur l'utilisation de cette DLL par le Framework
J'ai également fait le test 'bourrin' de mettre les droits 'tout le
monde / tout 'sur le dossier CDO mais ca ne change rien...
Je continue tranquillement mes recherches (entre 2 lignes de code) mais
heureusement que le pb est sur ma machine de dev et aps sur la amchne de
prod :-)...
Merci
Fred
"Simon Mourier" a écrit dans le message de
news:En fait, MailMessage est un wrapper sur les deux composants COM dont
les progids respectifs sont "CDO.Message" (servi par CDOSYS.DLL Windows
2000/XP/2003, ...) et "CDONTS.NewMail" (servi par CDONTS.DLL sur
Windows NT4). En fonction de l'OS, il choisit l'un ou l'autre des deux
objets COM.
Normalement, sur XP, il doit donc prendre CDO.Message, et si le script
VBScript utilisant CDO.Message fonctionne... alors MailMessage devrait
fonctionner. C'est peut être un problème de droit. Le script que vous
avez essayé tourne-t-il sous la même identité que votre code .NET?
Le fait que apparemment CDOEX.DLL soit installée sur la machine doit
poser problème. Cette DLL est installée par exchange et remplace tout
simplement l'objet CDO.Message. Vous pouvez vérifier qui sert le proid
"CDO.Message" dans la registry. Trouvez le CLSID contenu dans la clé
HKEY_CLASSES_ROOTCDO.MessageCLSID et regardez la valeur de la clé
HKEY_CLASSES_ROOTCLSID<clsid>InprocServer32. Chez moi c'est bien
CDOSYS.DLL. Chez vous c'est peut-être CDOEX.DLL qui est situé dans un
endroit spécifique. Il est possible qu'il faille des droits spécifiques
pour accéder à cette DLL...
Simon.
www.softfluent.com
"Paul Bacelar" a écrit dans le
message de news: %A en croire google, sous XP, c'est CDO et pas CDONTS qu'il faut
utiliser.
http://www.experts-exchange.com/Web/Q_21254350.html
http://www.w3schools.com/asp/asp_send_email.asp
--
Paul Bacelar
"Fred" wrote in message
news:#J'ai desinstallé completement Office 2003, puis reinstallé, mais ca
ne
change rien
Concernant la création de l'objet CDONTS.NewMail, j'ai effectivement
une
erreur de creation d'objet 0x800A01AD (même apres le reinstall
d'office)
Merci
"Simon Mourier" a écrit dans le message
de
news:%
> Attention, on ne peut pas trafiquer avec ces DLL à la main :-)
>
> En fait, les classes du Framework essayent de créer un objet
> CDONTS.NewMail et y accèdent en late binding (comme VBScript). Il
faudrait> donc essayer un VBScript avec non pas CDO.Message mais
> CDONTS.NewMail
pour> valider l'installation. A priori ça ne doit pas fonctionner.
>
> Moi j'essaierai de réparer Office 2003.
>
> Simon.
> www.softfluent.com
>
>
> "Fred" a écrit dans le message de news:
>
>> Simon, Paul merci pour votre contribution
>>
>> 1) L'envoi d'Email par script VBS fonctionne parfaitement
>> 2) Avec le OLE/COM Object viewer, j'ai constaté que sur la machine
>> qui
>> fonctionne, la DLL utilisée est CDOSYS.DLL (CDO pour win 2000)
>> alors
que>> sur la machine "a problème', c'est CDOEX (CDO pour Exchange..),
>> Outlook
>> étant pourtant installé sur les 2 postes...
>> J'ai procédé a l'annulation de l'inscription de CDOEX, puis a
>> l'inscription de CDOSYS, l'erreur renvoyé par le Framework
1.1.4322.2032>> n'est plus la même "Erreur lors du chargement de la
>> bibliothèque/DLL du
>> type. " ce qui me semble logique (utilisation de CDOEX et non pas
CDOSYS)>> Si je réenregistre CDOEX j'obtient a nouveau (Erreur lors du
>> chargement>> de la bibliothèque/DLL du type)
>>
>> Le fait d'annuler l'inscription puis de réenregistrer CDOEX n'a
>> t'il
pas>> pour effet de 'mettre a niveau la base de registre' ?
>> Faut il procéder a la desinstallation puis reinstallation d'
>> office
2003>> ou du Framework.. pour remettre a jour CDO et/ou le lien
>> framework/cdo
>> étant donné que cela fonctionne viaVBS ?
>>
>> Merci
>>
>>
>> "Paul Bacelar" a écrit dans le
>> message de news: OXIJWe%
>>> 0x80029C4A (TYPE_E_CANTLOADLIBRARY)
>>> C'est donc bien un problème de chargement, vérifiez avec le "COM
>>> OLE
>>> Viewer".
>>> Cela peut être un problème de droit dans la base de registre.
>>> --
>>> Paul Bacelar
>>>
>>> "Fred" wrote in message
>>> news:
>>>> Effectivement, j'avais détecté que le pb venait de cdosys.dll
>>> [COMException
>>>> (0x80029c4a)], mais je ne trouve pas de solution...
>>>> La DLL est bien présente, a les bons droits
>>>> J'ai 2 machines identique (OS XP, SP2, Vs 2003) et le pb sur une
>>>> seul
>>>> des
>>>> 2...
>>>>
>>>> Je continue a chercher (et a prendre les infos..)
>>>>
>>>> Merci
>>>>
>>>> "Simon Mourier" a écrit dans le
>>>> message
de>>> news:
>>>> eAYT%
>>>> > On dirait un problème lié à l'installation. Ce n'est pas lié
>>>> > au
code.>>>> > Apparemment, le .NET framework ne peut charger la DLL Windows
>>>> > qui
>>>> > permet
>>>> > d'envoyer des mails (CDOSYS.DLL).
>>>> >
>>>
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/exchanchor/htms/msexchsvr_cdowin2000.asp>>>> >
>>>> > Cette DLL fait partie de l'OS. Est-elle bien présente? C'est
>>>> > peut-être
>>> un
>>>> > problème de sécurité?
>>>> >
>>>> > Simon.
>>>> > www.softfluent.com
>>>> >
>>>> > "Fred" a écrit dans le message de news:
>>>> >
>>>> >> Bonjour,
>>>> >>
>>>> >> J'obtient systématiquement l'erreur suivante sur une seul
>>>> >> machine
>>>> >> (XP
>>>> >> Sp2) alors que sur 2 autres (XP sp2 et 2K ADVSRV) il n'y a
>>>> >> pas de
>>>> >> problème lors de l'appel
>>>> >> de SmtpMail.Send(...)
>>>> >>
>>>> >>
>>>> >> ######### Le code
>>>> >> try
>>>> >> {
>>>> >> MailMessage MyMail=new MailMessage();
>>>> >>
MyMail.From=ConfigurationSettings.AppSettings["MailFromRequestPwd"];>>>> >> MyMail.Bcc=ConfigurationSettings.AppSettings["MailBcc"];
>>>> >> MyMail.To=email.Text;
>>>> >> MyMail.Subject="Votre mot de passe";
>>>> >> MyMail.BodyEncoding=Encoding.UTF8;
>>>> >> MyMail.BodyFormat=MailFormat.Text;
>>>> >> MyMail.Body=Body;
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> SmtpMail.Send(MyMail);
>>>> >> MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >> email.Enabledúlse;
>>>> >> btnValidate.Enabledúlse;
>>>> >> }
>>>> >> catch(HttpException ex)
>>>> >> {
>>>> >> MyError.Text="Une erreur est survenue pendant l'envoi de
>>>> >> l'e-mail
à>>>> >> "+email.Text;
>>>> >> email.Text=String.Empty;
>>>> >> }
>>>> >>
>>>> >> Quel DLL peut poser ce problème ?
>>>> >>
>>>> >> Merci
>>>> >>
>>>> >>
>>>> >> ########## L'erreur
>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >> Description : Une exception non gérée s'est produite au
>>>> >> moment de
>>>> >> l'exécution de la demande Web actuelle. Contrôlez la trace de
>>>> >> la
>>>> >> pile
>>>> >> pour plus d'informations sur l'erreur et son origine dans le
>>>> >> code.
>>>> >>
>>>> >> Détails de l'exception:
System.Runtime.InteropServices.COMException:>>>> >> Erreur lors du chargement de la bibliothèque/DLL du type.
>>>> >>
>>>> >> Erreur source:
>>>> >>
>>>> >> Ligne 90 : MyMail.Body=Body;
>>>> >> Ligne 91 :
>>>> >>
SmtpMail.SmtpServer=ConfigurationSettings.AppSettings["SmtpServer"];>>>> >> Ligne 92 : SmtpMail.Send(MyMail);
>>>> >> Ligne 93 :
>>>> >> Ligne 94 : MyMessage.Text="Un e-mail a été envoyé à
>>>> >> "+email.Text.ToString();
>>>> >>
>>>> >>
>>>> >> Fichier source : d:commercewebcommercegetpassword.aspx.cs
>>>> >> Ligne :
>>>> >> 92
>>>> >>
>>>> >> Trace de la pile:
>>>> >>
>>>> >> [COMException (0x80029c4a): Erreur lors du chargement de la
>>>> >> bibliothèque/DLL du type.]
>>>> >>
>>>> >> [TargetInvocationException: Une exception a été levée par la
>>>> >> cible
>>>> >> d'un
>>>> >> appel.]
>>>> >> System.RuntimeType.InvokeDispMethod(String name,
>>>> >> BindingFlags
>>>> >> invokeAttr, Object target, Object[] args, Boolean[]
byrefModifiers,>>> Int32
>>>> >> culture, String[] namedParameters) +0
>>>> >> System.RuntimeType.InvokeMember(String name, BindingFlags
>>>> >> invokeAttr,
>>>> >> Binder binder, Object target, Object[] args,
>>>> >> ParameterModifier[]
>>>> >> modifiers, CultureInfo culture, String[] namedParameters)
>>>> >> +473
>>>> >> System.Web.Mail.CdoSysHelper.Send(MailMessage message)
>>>> >> +1197
>>>> >> System.Web.Mail.SmtpMail.Send(MailMessage message) +150
>>>> >> FB.WebCommerce.GetPassword.linkValidate_Click(Object
>>>> >> sender,
>>> EventArgs
>>>> >> e) in d:commercewebcommercegetpassword.aspx.cs:92
>>>> >> System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e)
>>>> >> +108
>>>> >>
>>>> >>
>>>
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.Rai>>> sePostBackEvent(String
>>>> >> eventArgument) +57
>>>> >> System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler
>>>> >> sourceControl, String eventArgument) +18
>>>> >> System.Web.UI.Page.RaisePostBackEvent(NameValueCollection
>>>> >> postData)
>>>> >> +138
>>>> >> System.Web.UI.Page.ProcessRequestMain() +1292
>>>> >>
>>>> >> Informations sur la version : Version Microsoft .NET
>>>> >> Framework
>>>> >> :1.1.4322.2032; Version ASP.NET :1.1.4322.2032
>>>> >>
>>>> >
>>>> >
>>>>
>>>>
>>>
>>>
>>
>>
>
>