Installing the Outlook Help Desk
2.4 Event Sink
For Exchange 2000
Crow Canyon Systems, Inc.
support@crowcanyon.com
Overview
Exchange
2000 introduced the use of Event Sinks to replace the Agents and scripts that
ran on folders as part of the Microsoft Exchange Event Service in Exchange 5.5.
These Event Sinks react to Web Storage System events, such as the addition or
deletion of a message in a folder. The Event Sinks are compiled DLLs installed as
a COM+ Components on the Exchange Server. They are faster and more efficient
than folder Agents. We provide “OHD242ES.DLL” to convert emails to Help Desk
tickets as part of the Outlook Help Desk program.
There are
five steps to installing the Event Sink:
A. Choose or set up User
Account for running Event Sinks
B. Install and register
the DLL on the Exchange 2000 Server
C. Create a COM+ Application
on the Exchange 2000 Server
D. Add Components to the
COM+ Application
E. Add an Event
Registration to the Help Desk folder
A. Set up User Account and Permissions for running
Event Sinks
Exchange
2000 Event Sinks run out-of-process and therefore some form of authentication
is required before the code in the DLL can execute. For the Event Sink to run
correctly, you must specify a user account under whose security context the
code will execute. This account is specified when setting up the Component in
Step C below.
The
code will always run with the permissions of this user account, regardless of
who wrote the DLL or who installed it. Anything the account can do, the code
can do, and conversely, anything the account is denied from doing, the code
will be denied from doing. The account needs:
To
explain:
Accepting
messages from outside the organization
If
you want to convert emails from addresses outside the Exchange organization,
the Help Desk folder must accept messages from the outside. Give Anonymous at
least Contributor permissions to the Help Desk folder to allow the folder to
accept emails from external users. Make sure it has the email address you want.
In Exchange System Manager, find the Help Desk folder under Folders/Public
Folders, go to Properties and check the E-mail Addresses tab for the SMTP
address.
Place the DLL in a directory on the Exchange 2000 Server. We recommend the “\Program Files/Exchsrvr/Bin” directory on your system drive, but this is not a requirement. It needs to go in a directory with sufficient security so it will not be inadvertently deleted and so that other users or administrators can recognize it as a DLL that system is using. Once the DLL is copied to the server, it needs to be registered using Regsvr32. This utility comes with Windows 2000 Server and should already be in the System32 directory.
To use Regsvr32, go to Start, Run, then type this in the box (substituting in the full path to the DLL for “YourPath”):
regsvr32
“YourPath\OHD242ES.DLL”
Regsvr32
returns a success message if the DLL is registered successfully.





With the
new COM+ application created, you can now add components to it.






We use RegEvent.vbs to register Event Sinks in the Help Desk folder. For the nitty-gritty details on using RegEvent.vbs see this link. You need to have RegEvent.vbs, which is included in the Outlook Help Desk package (it is also in the Exchange Server SP1, the Exchange SDK and other places).
To use
RegEvent.vbs, you use 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 OHD242.AsyncEvents “file://./backofficestorage/domain/public folders/help desk/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.
help desk = you must put in the correct path to the “Help Desk” folder. The above example assumes Help Desk is right under the All Public Folders. If not, you must put in each folder level, such as “file://./backofficestorage/domain/public folders/IT Support/help desk/regevent.eml”.
Here is
an example with RegEvent in the root of C drive, a domain of singleflower.com,
and the Help Desk right under All Public Folders (all on one line):
Cscript “C:\RegEvent.vbs” Add OnSave OHD242.AsyncEvents “file://./backofficestorage/singleflower.com/public folders/help desk/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/public folders/help desk”
To delete all Event Registrations on the folder, use this (all on one line):
Cscript “C:\RegEvent.vbs” Delete “file://./backofficestorage/singleflower.com/public folders/help desk”
Troubleshooting Event Registration
“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 Commiting Transaction : -2147024891 Access is denied.”
This is most likely caused by the account you are using does not have Owner rights to the folder. The account that you are logged into when running regevent.vbs needs to have an associated mailbox that has Owner rights on the folder.