Collaboration Data Objects (CDO) is a COM wrapper of the MAPI library. CDO implements most but not all MAPI functionality, although far more than Simple MAPI.
CDO for Exchange Server (CDOEX) provides the fundamental Component Object Model (COM) classes and interfaces that are used to manage most types of information in the Exchange store.
CDOSYS is a proper subset of the functionality offered by CDO for Exchange, so all applications will continue to function properly. When Microsoft Exchange installed, CDOSYS.DLL is unregistered from the system and COM runtime.
Both components share a common set of GUID values, interface definitions, module constants and so on. Applications do not need to be recompiled.
If you use CDOEX to develop an application that will also run without Microsoft Exchange Server, you can only use the following ProgIDs, interfaces, collections, enumerations and events:
ProgIDs: CDO.Configuration.1, CDO.DropDirectory.1, CDO.Message.1.
Interfaces: IBodyPart, IConfiguration, IDataSource, IDropDirectory, IMessage.
Collections: IBodyParts, IMessages.
Enumerations: CdoConfigSource, CdoDSNOptions, CdoEventStatus, CdoImportanceValues, CdoMessageStat, CdoMHTMLFlags, CdoNNTProcessingField, CdoPostUsing, CdoPriorityValues, CdoProtocolsAithentication, CdoReferenceType, CdoSendUsing, CdoSensitivityValues, CdoTimeZoneId.