Problems creating ActiveX object using Extended MAPI

Posted on 2002-03-21
Last Modified: 2006-11-17

Back in March 2000 I developed a program which uses Extended MAPI to created and send e-mails via Microsoft Outlook. I had some problems creating the RTF format e-mail but fortunately managed to sort it all out with the help of "Neo" among others on this website. The program has since been running perfectly well on the target computer (it was developed for one specific client and has, up to now, been used on just the one computer). However, my client decided to install the system on another computer as well and when he did this it turned out that the Extended MAPI would not function correctly on it! Whenever it reaches the line of code which should create the MAPI.Session object it fails, with the 429 error message! I cannot see why this should be, in fact I have also tried installing the program on three other computers and it produces exactly the same error on all three, yet it is still working perfectly on the original computer on which it was installed! I have checked for files, etc., as I assumed that perhaps a file had become missing or corrupted, but even after replacing all the MAPI files and OLEMSG.DLL, file, etc. with ones from the development machine (on which it also still works fine), it still seems to show the same problem. I am now reaching the point where I will be bald very soon so, if anyone can help I would be extremely grateful. I am prepared to "go back" over everything and perhaps a fresh mind on the subject may point out something which I have missed (which could of course be very simple), so please don't worry about making "basic" suggestions; I will follow them all through. I need someone now with a "detached" view to "direct me". Thanks in anticipation of your assistance!! Cheers.

CBIT Services.
Question by:cbitservices
  • 2

Expert Comment

ID: 6885334
LVL 16

Accepted Solution

Neo_mvps earned 300 total points
ID: 6885557
What revision of Outlook where they running on the old machine and where you using the Outlook Object model or Collaboration Data Objects 1.21 (CDO)?

What revision of Outlook are they running on the new machine and did they remember to install Colaboration Data Objects 1.21?

The reason that I ask is that the 429 error just means that the application couldn't create the object.  This means that the library could not be installed (e.g. Collaboration Data Objects is not installed by default under Outlook 2000/2002, installed by default under Outlook 98, and doesn't come with Outlook 97.)

Another likely scenerio is that the library is installed but just not registered.  An easy way to check is to review the registry.  For example, open the registry editor and open the HKEY_Classes_Root.  Have the person look for MAPI.Session and try to follow the pointers to see which DLL file it points to. (odds are it is cdo.dll on Outlook 98 and later.)

Outside of that, have the client be very wary of some of the later security fixes for Outlook 98 and later.  Some of these patches will remove CDO or replace it with a version that can cause the application to fail.

Author Comment

ID: 6885838
Thanks jbil,

The problem is, I think to do with "support" files, etc., and have done from the start which is why I think Neo could be right with his suggestions. Thanks for you comment anyway and I will take another look at your suggestion if neo's comment doesn't produce the answer.



Author Comment

ID: 6886046
Thanks Neo for the quick, no nonsense solution! As I expected it was something quite simple but as I wasn't aware of this is wasn't simple for me! Thanks again,


Featured Post

Migrating Your Company's PCs

To keep pace with competitors, businesses must keep employees productive, and that means providing them with the latest technology. This document provides the tips and tricks you need to help you migrate an outdated PC fleet to new desktops, laptops, and tablets.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Introduction While answering a recent question ( in the VB classic zone, I wrote some VB code in the (Office) VBA environment, rather than fire up my older PC.  I didn't post completely correct code o…
Background What I'm presenting in this article is the result of 2 conditions in my work area: We have a SQL Server production environment but no development or test environment; andWe have an MS Access front end using tables in SQL Server but we a…
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
Show developers how to use a criteria form to limit the data that appears on an Access report. It is a common requirement that users can specify the criteria for a report at runtime. The easiest way to accomplish this is using a criteria form that a…

778 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question