Last week I presented an Introduction to Office 2010 Development as part of the Office 2010 Channel Launch for Microsoft South Africa in Johannesburg and Cape Town.
The session was an introduction to the types of applications that you can build on top of the Office 2010 platform and the tools at your disposal. The demos covered Office 2010 customization using Visual Studio 2010, including the Ribbon Fluent UI, Backstage View and Outlook Form Regions.
The event went well and I thought it would be useful to share the slide deck and code samples* that went along with the session.
* Warning: the code is for demonstration purposes only! The code does not necessarily follow best practices for Office development and should not be considered of production quality.
There were a few questions that came up in the sessions and I thought this would be a good place to answer them in case other people had similar questions.
Yes, you can. Visual Studio 2010 includes project templates for .NET 4.0 and .NET 3.5.
No, Outlook Form Regions are a customization of the Outlook client.
The short answer is: I’m not sure! The longer answer is that there’s a Microsoft Support article that details some changes to the way custom properties are handled. After reading this it seems that custom properties need to be defined in Exchange first before they can be stored in Exchange, although it does seem that there are ways to store and transmit messages with custom properties.
I’ll check back with the Exchange gurus and update this post with a clearer answer!
Update 2010-03-10: I’ve asked people that know more about Exchange than I do. Custom properties used in Outlook should be persisted in Exchange to ensure that other users can work with messages that contain custom properties. The most common way that they get stored in Exchange is via organizational forms (which after forms published to Exchange from Outlook). They are stored as named properties within Exchange. More information:
For additional information on developing for Office 2010, have a look at the following resources:
I hope this is useful!