Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people, just like you, are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
Solved

Error Updating Props : -2147221163 Interface not registered

Posted on 2004-04-15
9
571 Views
Last Modified: 2008-02-26
Microsoft (R) Windows Script Host Version 5.6
Copyright (C) Microsoft Corporation 1996-2001. All rights reserved.

New Event Binding created:
Event: onsave;ondelete
Sink:  MyEventSink.ExchEventSink
FullBindingUrl: file://./backofficestorage/buyersfund.com/mbx/tom/FaxFailure/reg
Event.eml

Error Updating Props : -2147221163 Interface not registered

Press any key to continue . . .


~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Trying to get an Exchange Event Sink working on our server.


Can anyone help me with this error?
0
Comment
Question by:knowlton
  • 7
9 Comments
 
LVL 9

Assisted Solution

by:glsac
glsac earned 250 total points
ID: 10838975
0
 
LVL 5

Author Comment

by:knowlton
ID: 10842834
glsac:

You wrote:


Also...this will probably interest you as well...even more as it is c#:
http://www.codeproject.com/csharp/CsManagedEventSinksHooks.asp

~~~~~~~~~~~~~~~~~~

What a coincidence....it is this exact tutorial that I am following......

It has worked fin all the way up to the part where I bind the component to the Exchange Server Store.......hence the error I am getting.
0
 
LVL 12

Accepted Solution

by:
vascov earned 250 total points
ID: 10851404
Hi knowlton,

It's a long shot, but have you GACed your assembly ? It might be failing because it can't find your assembly.

hth

Vasco
0
Active Directory Webinar

We all know we need to protect and secure our privileges, but where to start? Join Experts Exchange and ManageEngine on Tuesday, April 11, 2017 10:00 AM PDT to learn how to track and secure privileged users in Active Directory.

 
LVL 5

Author Comment

by:knowlton
ID: 10883080
I have created a web page which explains what I have done so far to troubleshoot this.

http://www.knowltonfamily.com/es_troubleshoot.htm
0
 
LVL 5

Author Comment

by:knowlton
ID: 10883088
From the web page I posted it should be apparent that I have indeed GAC'ed my Assembly.  :)
0
 
LVL 5

Author Comment

by:knowlton
ID: 10904622
Turns out RegEvent.vbs is not needed.

Exchange Explorer  (found with Exchange 2003 SDK Tools) does the exact same thing.

Go here for details:

http://www.experts-exchange.com/Programming/Programming_Languages/C_Sharp/Q_20962654.html
0
 
LVL 5

Author Comment

by:knowlton
ID: 10904789
The tutorial at this link:

http://www.codeproject.com/csharp/CsManagedEventSinksHooks.asp


is very very good......................but it does have some flaws.

1)  You do NOT need to run RegEvent.vbs AT ALL......ignore this suggestion in the tutorial.  Instead, download and install the SDK Tools and run Exchange Explorer instead to register the Event and hook it into the EventSink code.

2)  I recommend using regsvcs /appname:YourAppName <full path to your DLL including extension>      from the command line, instead of using the Component Services GUI to register the COM DLL.  I have to do some further testing to see if the GUI works...but I know for sure the command line route using REGSVCS works well.

3)  After you have registered the COM DLL (your event sink) in Component Services......then go and register the Exchange Store Event using Exchange Explorer.   THEN go back to Component Services....right-click on your App Name and click on START.   This is what actually starts the EventSink (your C# DLL) talking to the Exchange Store.  Until you do this nothing will happen.   This was left out of the tutorial.  A small thing, but an important thing to mention.
0
 
LVL 5

Author Comment

by:knowlton
ID: 11119955
UPDATE:

Well, guess what?

I finally had a major breakthrough on this @!#$^% problem that has been driving me crazy for the last few weeks!!!!!!!


It is a very small change.

Apparently the method   MoveFirst(   ) does not work so well with Exchange.

This was the cause of my COMException:   "Interface not registered" error message this entire time.


The solution is to use    Move(1,0)     instead of MoveFirst(  ).


That's it.   Simple.

This answer came courtesy of Tom Rizzo, an author who was kind enough to correspond with me and help me figure-out finally what the problem was.:

Looking for a good book on programming Exchange, Outlook, ADSI and
SharePoint?  Check out http://www.microsoft.com/MSPress/books/5517.asp

My I also reommend:

.NET and COM: The Complete Interoperability Guide  ISBN:067232170X
http://www.amazon.ca/exec/obidos/ASIN/067232170X/componentsnot-20/701-9386310-4703553
0
 
LVL 5

Author Comment

by:knowlton
ID: 11120284
More on the MoveFirst problem I described:

http://support.microsoft.com/default.aspx?scid=kb;en-us;273791


If you are getting into Event Sinks....I recommend the following tutorial:

http://www.codeproject.com/csharp/CsManagedEventSinksHooks.asp

Make sure and read the article questions and follow-ups at the bottom!

There are a few caveats.  E-mail me at my Profile e-mail address and we can talk about them.  :)
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Title # Comments Views Activity
PrintingFoundIt(Almost!(Damn!)) 1 30
List<PaisEntity> - show some 1 28
What are the simplest ways to create a Merge Sort? 3 29
Change to file doesn't show up 16 54
This article is for Object-Oriented Programming (OOP) beginners. An Interface contains declarations of events, indexers, methods and/or properties. Any class which implements the Interface should provide the concrete implementation for each Inter…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
Microsoft Active Directory, the widely used IT infrastructure, is known for its high risk of credential theft. The best way to test your Active Directory’s vulnerabilities to pass-the-ticket, pass-the-hash, privilege escalation, and malware attacks …

828 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