Rank: Newbie
Groups: Registered
Joined: 5/27/2012(UTC) Posts: 5 Location: My House
Thanks: 3 times
Hi again, I have a VB6 application using EASendMail, compiled it and run smoothly on my machine. Now when I tried to copy the compiled file (*.exe) to a different machine and run it. It gives the Error 429 - ActiveX can't create object. I found out that EASendMail.exe needs to be installed in the local machine and the error disappears. Is there any workaround on this so that we don't need to install the EASendMail.exe on every local machine that runs the application? Thanks!
Rank: Administration
Groups: Administrators
Joined: 11/11/2010(UTC) Posts: 1,153
Thanks: 9 times Was thanked: 55 time(s) in 55 post(s)
markariels wrote: Hi again, I have a VB6 application using EASendMail, compiled it and run smoothly on my machine. Now when I tried to copy the compiled file (*.exe) to a different machine and run it. It gives the Error 429 - ActiveX can't create object. I found out that EASendMail.exe needs to be installed in the local machine and the error disappears. Is there any workaround on this so that we don't need to install the EASendMail.exe on every local machine that runs the application? Thanks!
If you want to distribute/deploy without EASendMail installer.
1. copy easendmailobj.dll to destination machine. (run-time file of EASendMail ActiveX Object)
2. run "Regsvr32 [path]\easendmailobj.dll" under DOS prompt. (register EASendMail ActiveX Object as com object)
If your windows is vista or later version, please make sure run the command as administrator.
And in Visual Studio 6, there is a tool named "Package and Deployment Wizard", you can use it to pack your application + easendmailobj.dll to a installer. And the installer will register the dll automatically when you run it on client machine.
1 user thanked ivan for this useful post.
Rank: Administration
Groups: Administrators
Joined: 11/11/2010(UTC) Posts: 1,153
Thanks: 9 times Was thanked: 55 time(s) in 55 post(s)
New solution is:
Registration-free COM with Manifest FileRegistration-free COM is a mechanism available on the Microsoft Windows XP (SP2 for .NET-based components) and Microsoft Windows Server 2003 platforms. As the name suggests, the mechanism enables easy (for example, using XCOPY) deployment of COM components to a machine without the need to register them.
With Registration-free COM, you don't have to use "regsvr32" to register the dll as COM object, you also don't need to worry other version of this COM installed on the same machine overwrite your current version.
We strongly recommend that you use Registration-free COM to distribute EASendMail ActiveX Object with your standard exe application. ASP, VBScript or other script application is not suitable with this feature.
Using Manifest File For standard exe application, you just need to create a manifest file like this: Open notepad or other text editor, copy/paste the following content to the editor.
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0"> <file name="EASendMailObj.dll" hashalg="SHA1"> <comClass clsid="{DF8A4FE2-221A-4504-987A-3FD4720DB929}" tlbid="{8B5A2BD0-5638-4CCA-A7FF-91B9E6768AC4}" description="Mail Class"></comClass> <comClass clsid="{FF80631D-E750-4C67-AFC3-5170AB72518B}" tlbid="{8B5A2BD0-5638-4CCA-A7FF-91B9E6768AC4}" description="FastSender Class"></comClass> <comClass clsid="{EAFC4EAA-9390-492A-8E53-E179527780F6}" tlbid="{8B5A2BD0-5638-4CCA-A7FF-91B9E6768AC4}" description="Certificate Class"></comClass> <comClass clsid="{036C2F8C-8D3C-4F4B-9B36-3B6F1D29C0B4}" tlbid="{8B5A2BD0-5638-4CCA-A7FF-91B9E6768AC4}" description="CertificateCollection Class"></comClass> <typelib tlbid="{8B5A2BD0-5638-4CCA-A7FF-91B9E6768AC4}" version="1.0" helpdir="" flags="HASDISKIMAGE"></typelib> </file> <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3"> <security> <requestedPrivileges> <requestedExecutionLevel level="asInvoker" uiAccess="false"></requestedExecutionLevel> </requestedPrivileges> </security> </trustInfo> <comInterfaceExternalProxyStub name="IMail" iid="{1AD28FC9-0C71-4E89-85C9-CAECDE8BE3AB}" tlbid="{8B5A2BD0-5638-4CCA-A7FF-91B9E6768AC4}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub> <comInterfaceExternalProxyStub name="ICertificate" iid="{A2809780-C98E-4C6D-A552-DAB146D4AD12}" tlbid="{8B5A2BD0-5638-4CCA-A7FF-91B9E6768AC4}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub> <comInterfaceExternalProxyStub name="ICertificateCollection" iid="{DC8D5635-B8E7-441E-B550-CE1BF3BA5C55}" tlbid="{8B5A2BD0-5638-4CCA-A7FF-91B9E6768AC4}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub> <comInterfaceExternalProxyStub name="IFastSender" iid="{92298BE3-ADEC-438F-800C-CF6311A7DF1D}" tlbid="{8B5A2BD0-5638-4CCA-A7FF-91B9E6768AC4}" proxyStubClsid32="{00020424-0000-0000-C000-000000000046}"></comInterfaceExternalProxyStub> </assembly> Then save it as yourappname.exe.manifest. For example, your application exe file is: myproject1.exe, then save it as myproject1.exe.manifest.
Finally, copy myproject1.exe, myproject1.exe.manifest and EASendMailObj.dll to the same folder on target machine, your application can use EASendMail ActiveX Object directly without COM-registration.
To learn more detail, please have a look at:
http://www.emailarchitec...ail/sdk/?ct=object_reg_a
Rank: Newbie
Groups: Registered
Joined: 4/23/2019(UTC)
Posts: 3
Location: Nairobi
Hi im a new user to EASendMail, the component is working very well on my development machine i.e. VB60 on XP. but when i take it to another machine Windows server 2008, desipite having installed EASendMail installer on the target machine its bringing error Activex component count not create object at the initiallization line below
' initialize the component
Set poSendMail = New clsSendMail
I have manually registered EASendMail. dll on target machine succesfully but still getting the error. I have created a manifest file and copied on the application folder of the target machine, i still get the error. Any help pls.
Edited by user Thursday, April 25, 2019 4:21:58 AM(UTC)
| Reason: to receive email notifications when replied
Rank: Administration
Groups: Administrators
Joined: 11/11/2010(UTC) Posts: 1,153
Thanks: 9 times Was thanked: 55 time(s) in 55 post(s)
Originally Posted by: eugene Hi im a new user to EASendMail, the component is working very well on my development machine i.e. VB60 on XP. but when i take it to another machine Windows server 2008, desipite having installed EASendMail installer on the target machine its bringing error Activex component count not create object at the initiallization line below ' initialize the component Set poSendMail = New clsSendMail I have manually registered EASendMail. dll on target machine succesfully but still getting the error. I have created a manifest file and copied on the application folder of the target machine, i still get the error. Any help pls.
Hi, I guess clsSendMail is a control wrapped EASendMail in your application, if you built it as ActiveX Control, you should also regsvr32 yourcontroll.ocx on target machine.
Forum Jump
EmailArchitect Support
Email Component Development
- EASendMail SMTP Component - .NET Version
- EASendMail SMTP Component - Windows Store Apps
- EASendMail SMTP ActiveX Object
- EAGetMail POP3 & IMAP4 Component - .NET Version
- EAGetMail POP3 & IMAP4 ActiveX Object
Exchange Server and IIS SMTP Plugin
- DomanKeys/DKIM for Exchange Server and IIS SMTP
- Disclaimer and S/MIME for Exchange Server and IIS
EmailArchitect Email Server
- EmailArchitect Email Server (General)
- EmailArchitect Email Server Development
You cannot post new topics in this forum.
You cannot reply to topics in this forum.
You cannot delete your posts in this forum.
You cannot edit your posts in this forum.
You cannot create polls in this forum.
You cannot vote in polls in this forum.