473,320 Members | 1,863 Online
Bytes | Software Development & Data Engineering Community
Post Job

Home Posts Topics Members FAQ

Join Bytes to post your question to a community of 473,320 software developers and data experts.

Managed OnSave Event Sink Errors on x64

Don
Getting errors after following the MSDN article on using VB.NET (and VS2005)
for "Implementing a Managed OnSave Event Sink" for Exchange Server 2007. Not
sure, but part of the problem may be that it's the 64-bit version of
Exchange 2007 installed on Windows Server 2003 Enterprise x64, while the
Exchange 2007 SDK samples seem mostly geared toward 32-bit. Even at that, I
was able to build the TLB and install it into COM+ Component Services, then
use Exchange Explorer to register the event in a Public Folder. The event
fired when I saved a message to the Folder, but the following two errors
were logged. Permissions seem to be okay in Component Services, DCOM Config,
and on the Folder. I even tried installing VS2005 on the Server, but no
change in results. I also made sure that I followed the steps in the
prerequisite article "Building Managed Event Sink DLLs". Has anyone been
able to get the OnSave example to work on an all-64-bit setup?
Event Type: Error
Event Source: EXOLEDB
Event Category: Events
Event ID: 108
Date: 2/8/2007
Time: 7:46:21 AM
User: N/A
Computer: ENGNT3
Description:
Microsoft Exchange OLEDB was unable to either create
an event sink object or get necessary interface(s)
from the sink class specified by
SampleEvtSinkVB.AsyncEvents, HRESULT = 0x80004002.

Event Type: Error
Event Source: EXOLEDB
Event Category: Events
Event ID: 114
Date: 2/8/2007
Time: 7:46:21 AM
User: N/A
Computer: ENGNT3
Description:
Microsoft Exchange OLEDB has disabled the event binding
due to the problems in the event sink.
Binding ID = {D180271E-0F75-48AD-A402-FDDE9156398E}.
You may need to contact the event sink author and get a
fixed or updated copy.

Feb 9 '07 #1
7 5118
Don,

Have you already looked what the debug options can do for you.

On some places the throwing of a break is off, maybe can you set that more
on.

Cor

"Don" <do***@newsgroup.nospamschreef in bericht
news:uN*************@TK2MSFTNGP05.phx.gbl...
Getting errors after following the MSDN article on using VB.NET (and
VS2005)
for "Implementing a Managed OnSave Event Sink" for Exchange Server 2007.
Not
sure, but part of the problem may be that it's the 64-bit version of
Exchange 2007 installed on Windows Server 2003 Enterprise x64, while the
Exchange 2007 SDK samples seem mostly geared toward 32-bit. Even at that,
I
was able to build the TLB and install it into COM+ Component Services,
then
use Exchange Explorer to register the event in a Public Folder. The event
fired when I saved a message to the Folder, but the following two errors
were logged. Permissions seem to be okay in Component Services, DCOM
Config,
and on the Folder. I even tried installing VS2005 on the Server, but no
change in results. I also made sure that I followed the steps in the
prerequisite article "Building Managed Event Sink DLLs". Has anyone been
able to get the OnSave example to work on an all-64-bit setup?
Event Type: Error
Event Source: EXOLEDB
Event Category: Events
Event ID: 108
Date: 2/8/2007
Time: 7:46:21 AM
User: N/A
Computer: ENGNT3
Description:
Microsoft Exchange OLEDB was unable to either create
an event sink object or get necessary interface(s)
from the sink class specified by
SampleEvtSinkVB.AsyncEvents, HRESULT = 0x80004002.

Event Type: Error
Event Source: EXOLEDB
Event Category: Events
Event ID: 114
Date: 2/8/2007
Time: 7:46:21 AM
User: N/A
Computer: ENGNT3
Description:
Microsoft Exchange OLEDB has disabled the event binding
due to the problems in the event sink.
Binding ID = {D180271E-0F75-48AD-A402-FDDE9156398E}.
You may need to contact the event sink author and get a
fixed or updated copy.

Feb 9 '07 #2
Hi Don,

In order to resolve such issue (Exchange development issue) more quickly,
we would like to suggest you may post in
"microsoft.public.exchange.development", because to special Exchange
Development issue, the people in those groups will be more likely to be
able to help and familiar in such field.

Have a great day.
Sincerely,
Wen Yuan

Feb 9 '07 #3
Don
Hi Cor,
Tried it, but couldn't get the "Launch in debugger" option of the component
to work. Getting errors about not registering with DCOM within the timeout
period, and Event ID 4096 for the VsJITDebugger where "The request is not
supported". I'm using the default entry for the "Launch", which is
"C:\Windows\system32\VSJitDebugger.exe" C:\Windows\SysWOW64\dllhost.exe
/ProcessID:{ID#}

Don
"Cor Ligthert [MVP]" <no************@planet.nlwrote in message
news:uz**************@TK2MSFTNGP03.phx.gbl...
Don,

Have you already looked what the debug options can do for you.

On some places the throwing of a break is off, maybe can you set that more
on.

Cor

Feb 9 '07 #4
Don
Hi Wen Yang,

Thank you for the suggestion. I've posted this now to
"microsoft.public.exchange.development"

Don

""WenYuan Wang"" <v-******@online.microsoft.comwrote in message
news:bX*************@TK2MSFTNGHUB02.phx.gbl...
Hi Don,

In order to resolve such issue (Exchange development issue) more quickly,
we would like to suggest you may post in
"microsoft.public.exchange.development", because to special Exchange
Development issue, the people in those groups will be more likely to be
able to help and familiar in such field.

Have a great day.
Sincerely,
Wen Yuan

Feb 9 '07 #5
Don

Finally got the MSDN "Implementing a Managed OnSave Event Sink" working for
Exchange Server 2007 x64 on Windows Server 2003 Enerprise x64 Edition. Could
be because of one or all of the following reasons (Note: these items were
just the result of my own tests, so may or may not work for you):

1. clean up some of the items in the VB.NET code: change "Imports
ExevtsnkLib = SignedExevtsnk" to "Imports ExevtsnkLib = Interop.Exevtsnk",
and avoid warnings by setting the objects = Nothing when Dim'ing rec and
conn.

2. For Component Services, use the "Install new component(s)" button instead
of "Import component(s)". This will permit you to review the interfaces and
methods to make sure you've got IExStoreAsyncEvents on the list.

3. For Component Services select the DLL file, not the TLB file, when
installing the component. Using the TLB file appears to work, but the
Exchange Explorer Registration Wizard may believe that your component is not
properly registered. It also seems that in one of my attempts, using the TLB
file resulted in IExStoreAsyncEvents missing from the component's list of
interfaces.

4. COM Security: For Default Access and Default Launch and Activation: Be
sure that the list includes SYSTEM, INTERACTIVE, and the "run under" account
you selected on the Identity Tab of the Component Properties.
Feb 13 '07 #6

Thanks, Don.:)
We greatly appreciate for your post back.

Have a great day!
Wen Yuan

Feb 14 '07 #7
Don
Here's a problem I had on my x64 machines, and a suggested fix:

Problem:
I deployed the OnSave Event Sink by simply copying the project Release
folder files to the destination Server, added it manually to Component
Services, then created an Event Registration on a Public Folder using
Exchange Explorer. All seemed to go well, but the Sink didn't work.

Cause:
When I saw "Imports ADODB" in the MSDN sample code for "Implementing a
Managed OnSave Event Sink", I selected adodb" from the list of .NET
References. This points to the file at "C:\Program Files
(x86)\Microsoft.NET\Primary Interop Assemblies\adodb.dll" on my Development
Server. Unfortunately, this file did not exist on the destination Server
because VB.NET was not installed, so the Event Sink failed.

Solution:
Delete the .NET ADODB Reference and add a Reference instead in one of the
following two ways: 1) browse to and select the Interop.msado28.dll file in
the "C:\Program Files\Microsoft\Exchange Server\Bin" folder. Then revise the
line in the project code to read "Imports ADODB = Interop.msado28", or 2)
select "Microsoft ActiveX Data Objects 2.8 Library" from the list of COM
References. For solution 2 you don't even need to change the code since the
CDO Reference appears on the list using the same "ADODB" name as the .NET
version.

Hope this helps,
Don
Mar 8 '07 #8

This thread has been closed and replies have been disabled. Please start a new discussion.

Similar topics

0
by: Notlwonk | last post by:
I have written an event sink in C# that hooks into our Exchange Server 2000 store. The sink fires and the various LOG files are created, but for some reason I cannot seem to read-in the e-mail...
1
by: Bob Whiton | last post by:
I have an unmanaged class which has a member variable: gcroot<DataTable*> myDataTable; I would like to sink the RowDeleting event in my UNmanaged class. However, I can't declare an event...
0
by: Arnaud Debaene | last post by:
Hello all. I've got a bunch of existing, non managed, C++ DLLs that export types with, among other things, public events implemented using the boost::signals library. Now, I need to have...
0
by: techie | last post by:
I have created an event sink in my ATL COM project. The event sink receives events from a C# component. There is no problem with receving events but when my COM object is released I get an access...
1
by: MLM450 | last post by:
I have created a .NET component in C# that has 2 interfaces. One is an incoming interface with methods being exposed to COM-aware clients. The other is an outgoing event interface that the...
6
by: Carmon | last post by:
I am using Managed C++ with a CFormView and a MaskedTextBox and have used MAKE_DELEGATE to sink the LostFocus event of this control. I have other events I've sinked off this control and they all...
1
by: Apu Nahasapeemapetilon | last post by:
Hello and thank you in advance for your help. Can anyone think of a reason why this code would work properly on one PC, but not another? I've got a System.Windows.Forms.UserControl that...
6
by: fshawish | last post by:
Hello all, I have a C# Class Lib that exposes a public events, methods and properties. I am referencing this ClassLib from an MFC DIalog app that is compiled with /CLR. I use gcroot<T> to...
4
by: Dan Soendergaard | last post by:
Hello fellow developers, I've created a control which derives from the .NET TextBox. I then wanted to add two events to the new control, so I added the following to the control code: public...
0
by: DolphinDB | last post by:
The formulas of 101 quantitative trading alphas used by WorldQuant were presented in the paper 101 Formulaic Alphas. However, some formulas are complex, leading to challenges in calculation. Take...
0
by: DolphinDB | last post by:
Tired of spending countless mintues downsampling your data? Look no further! In this article, you’ll learn how to efficiently downsample 6.48 billion high-frequency records to 61 million...
0
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
1
isladogs
by: isladogs | last post by:
The next Access Europe meeting will be on Wednesday 6 Mar 2024 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM). In this month's session, we are pleased to welcome back...
0
by: Vimpel783 | last post by:
Hello! Guys, I found this code on the Internet, but I need to modify it a little. It works well, the problem is this: Data is sent from only one cell, in this case B5, but it is necessary that data...
0
by: CloudSolutions | last post by:
Introduction: For many beginners and individual users, requiring a credit card and email registration may pose a barrier when starting to use cloud servers. However, some cloud server providers now...
0
by: Defcon1945 | last post by:
I'm trying to learn Python using Pycharm but import shutil doesn't work
1
by: Shællîpôpï 09 | last post by:
If u are using a keypad phone, how do u turn on JavaScript, to access features like WhatsApp, Facebook, Instagram....
0
by: Faith0G | last post by:
I am starting a new it consulting business and it's been a while since I setup a new website. Is wordpress still the best web based software for hosting a 5 page website? The webpages will be...

By using Bytes.com and it's services, you agree to our Privacy Policy and Terms of Use.

To disable or enable advertisements and analytics tracking please visit the manage ads & tracking page.