Automating Business Contact Manager From a .NET Framework Application

Outlook Developer Reference
Automating Business Contact Manager From a .NET Framework Application

While there has been a somewhat heated discussion between the C/C++ and Microsoft Visual Basic® developer communities about which programming language to use, there is very little you can do in C# that you cannot do now in Visual Basic .NET. Developing an Office automation application with the Microsoft® .NET Framework can ease your deployment process. Application developers that target the common language runtime (CLR) can include Business Contact Manager objects in designing integrated software applications that connect businesses and individuals.

The .NET Framework enhances the application development process as follows:

  • Simplifies application deployment and versioning issues, such as distributing macros, deploying Microsoft Outlook Forms, registering dynamic link libraries (DLLs), and updating the COM add-ins.
  • Eliminates the dependency on the Windows registry or regsvr32.exe, which eliminates DLL and COM add-in version compatibility issues.
  • Provides support for building a rich user-interface, integration with XML Web Services as well as integrating with the Microsoft Windows Server System™, such as Microsoft Exchange Server, Microsoft SQL Server™, and Microsoft BizTalk™ Server.
  • Leverages the Microsoft Visual Studio 2005 power and productivity of the integrated development environment (IDE).

Outlook functionality is exposed through a COM-based, in-process server (msoutl.olb). To leverage the features provided by Business Contact Manager for Outook, you will need to do so using the interoperability layer through the Office Outlook primary interop assembly. This layer, in conjunction with a runtime-generated proxy termed the Runtime Callable Wrapper (RCW), takes care of various details regarding marshaling data types. For example, if an interface method was defined to take a COM-based BSTR parameter, .NET developers are free to pass a CLR-based System.String.

See Also

Welcome to the Business Contact Manager for Outlook Developer Guide | Starting an Outlook Automation Session | Referencing the Office Primary Interop Assembly | Automating Business Contact Manager From a VBA Application | Office Developer Center: Outlook 2007