CCS HELPDESK 4.0
Manual Installation of the Event Sink for
Exchange 2000/2003/2007 in a Shared Mailbox
Crow Canyon Systems, Inc.
support@crowcanyon.com
All emails to a Mailbox first come to the Inbox. The Event Sink goes on the Inbox of the Mailbox, where it will convert emails into new Tickets in the Help Desk folder. The Help Desk folders must be at that same level as the Inbox.

There is no Setup.exe for this process. The Event Sink on the Inbox can be installed following the procedure below. There are five steps to installing the Event Sink:
A. Choose or set up User
Account for running Event Sinks
B. Copy the DLL to the
Exchange Server
D. Add Components to the
COM+ Application
E. Add an Event
Registration to the Help Desk folder
INSTALLATION
For a
Shared Mailbox, the User Account is the Mailbox owner.
Place the CCSHD40S.DLL in the “\Program Files/Exchsrvr/Bin” directory on your system drive so that the DLL is with other Exchange-related DLLs.




5.
On
the “Set Application Identity” page, select “This user:” and Browse for the appropriate
account for running Event Sinks, along with the password (this is the Mailbox
owner’s account).
ON EXCHANGE 2000

ON
EXCHANGE 2003:

6. ON EXCHANGE 2003/2007:
Press Next
on the next screen, since the CreaterOwner role is
the only one needed.

7. ON EXCHANGE 2003/2007:
Press
Next on the next screen, since the account is already
in the CreatorOwner role.

8. Select “Finish” on the last Thank you
screen.
With
the new COM+ application created, you can now add components to it.






There are a variety of methods to create an Event Registration item. We offer two methods here. One is using the regevent.vbs on the command line. The other is using a utility in the Exchange SDK. You can either of these two methods.
Notes: This must be done directly on the Exchange Server and not through Terminal Services. Also, you must be log in with an account that is an Owner of the Mailbox. See Event Registration Errors at the end of this section if you run into any errors.
1. USING REGEVENT.VBS
You can use RegEvent.vbs to register Event Sinks in the Inbox of the Shared Mailbox. For the nitty-gritty details on using RegEvent.vbs see this link. You need to have RegEvent.vbs, which is included in the CCS HelpDesk package (it is also in the Exchange Server SP1, the Exchange SDK and other places).
To use RegEvent.vbs, run Cscript on the command line. The syntax to add an Event Registration to the Help Desk folder is as follows (all on one line):
Cscript “path\RegEvent.vbs” Add OnSave CCSHD40S.AsyncEvents “file://./backofficestorage/domain/mbx/mailbox alias/inbox/regevent.eml”
Explanation of parts in bold:
“path\RegEvent.vbs” = the full path to the RegEvent.vbs
domain = domain needs to be your email domain. This is often also your Active Directory domain, but not always.
Mailbox alias = the alias of the shared Mailbox
Here
is an example with RegEvent in the root of C drive, a
domain of singleflower.com, and the Mailbox alias of “fflintstone”:
Cscript “C:\RegEvent.vbs” Add OnSave CCSHD40S.AsyncEvents “file://./backofficestorage/singleflower.com/mbx/fflintstone/inbox/regevent.eml”
To see what Event Registrations are on the Folder, use “Enum” instead of “Add” as follows (all on one line):
Cscript “C:\RegEvent.vbs” Enum “file://./backofficestorage/singleflower.com/mbx/fflintstone/inbox”
To delete all Event Registrations on the folder, use this (all on one line):
Cscript “C:\RegEvent.vbs” Delete “file://./backofficestorage/singleflower.com/mbx/fflintstone/inbox”
2. USING THE EXCHANGE SDK
A. One of the Exchange SDK tools is “Exchange Explorer”. Start this utility and log in using the following URL: “http://<server name>/exchange/<mailbox alias>”
B. In the Exchange Explorer screen, choose the Inbox.
C. From the File menu, choose “Add Event Registration”
D. The “Exchange Store Event Sink Registration” wizard starts:
I. The name you give the sink is not critical and is used only for later reference.

II. The default kind of event is “Asynchronous”, which is what you want.

III. Check “OnSave”

IV. Leave this at the defaults as shown below:

V. Select “COM Event Sink”

VI. The “class” is “CCSHD40S.AsyncEvents”

VII. Finally, there is the Finish screen. If there
are any errors, it will tell you after you press Finish.
In the Details view of Exchange Explorer, the folder Items can be listed. The event registration shows up like other messages, except that it is hidden, has a different icon and its DAV:contentclass is "urn:content-class:storeeventreg". You can right-click the event registration item to modify it. It also can be deleted from this screen.

“Error Opening Connection”
This means the URL (the part that starts with file://) is wrong. This is usually the domain portion. Try another domain. It should be the email domain of your Exchange server, not the Active Directory domain. See also Q286336 if you have subdomains.
“Error Opening Connection : -2147217895 Object or data matching the name,
or selection criteria was not found within the scope of this operation.”
This is usually because you are attempting the Event Registration while logged in with an account that does not have Owner permissions on the Mailbox.
“Error Committing Transaction : -2147024891 Access is denied.”
This is usually because you are attempting the Event Registration while logged in with an account that does not have Owner permissions on the Mailbox.
“Error Committing Transaction : -2141913011 Event Registration failure: The specified event sink (ProgID: % 1) is not allowed to run in-proc.”
This usually means the COM+ component was not added as a Server application. It needs to be a server application, not a library application. Right-click the component in Component Services, go to Properties and set it to a server application on the Application tab.
Troubleshooting the Event Sink
After installing the Event Sink, you should be able to send an email to Mailbox and it should get converted to a new Help Desk ticket in the Help Desk folder. This usually only takes a few seconds. If this does not work, here are some troubleshooting tips:
The email conversion is a two-step process. First, the email has to arrive at the folder. After arriving, it gets converted into a ticket.
Emails arrive at the Help Desk folder
but are converted into regular Tasks
The most common reason for this is that you are using the wrong DLL. Make sure you have the correct DLL, that is, the one that matches the version of the program that you are using, and put it in place of the existing DLL that you have there now.
Emails arrive at the Inbox but
are not converted
If the emails do arrive in the Inbox, but are not converted into tickets, then that could be an issue with the Event Sink configuration.
Check COM+ Application
Account
The account that the COM+ Application runs under needs to be the Owner of the Mailbox.
Make sure registered
DLL matches DLL in Component Services
Another crucial part is that the
DLL is installed and registered on the server. It is very likely that it is,
otherwise you could not add it under the Components folder in the COM+
Application. However, there are times when it gets registered twice. Therefore,
you can check the Class ID in the registry against the Class ID in the
Component, as follows:
Go to Regedit on the Exchange Server, then HKEY_Classes_Root. Find the DLL in the list (this will be the same listing as under the Components folder in the COM+ Application, something like “CCSHD40S.AsyncEvents”). Under it is a Clsid folder. See what the number is there and compare it to the number found on the Component Service. These long GUID numbers should match.

![]()
![]()
Compare to number in the component under Components of the COM+ Application:

Right-click component and go to Properties:

Check if there is more
than one Event Registration on the Inbox
There should only be one Event Registration for this Event Sink on the Inbox. You can see this in Exchange Explorer. Check the full list of Items in the Inbox and make sure there is only one with the icon of the hammer lying across a piece of paper.

The only reason there might be two Registrations is if they are for different Event Sinks. You can look in the Property of the Event Registrations for the SinkClass and make sure a) that it is correct; and b) that there is only one Registration for that SinkClass.
![]()
Event Sink Error Handling
The Event Sink contains Error Handling code that writes errors out to the Event Viewer on the Exchange Server where it is running. The errors have a source of “VBRuntime” and Event ID of 1.

The error details screen gives important information in the description:
