Building Outlook Add-ins with .NET Managed Code

Why would you want to do that you ask? Well for developers, probably the main reason would be to rewrite or wrap up some ugly lotus notes application (or all of lotus notes for that matter) and expose it in outlook. But seriously, there is a good chance your end user might spend more time in Outlook then any other application they have installed. And then of course, outlook has some context that might be helpful. Maybe, just maybe, when a user wants to talk to a customer, they open up their contact details in outlook first. Nothing worst than having to then alt-tab to another application and lookup the same contact in another system, perhaps to lookup their order history, etc. Or maybe you'd just like to rip through the information in outlook (contacts, appointments, emails) and integrate that data with some other application.

The outlook support for VSTO 2005 was a well kept secret until yesterday at TechEd when this was demonstrated at the keynote. How long are you going to have to wait before you can get your hands on this? How fast is your internet connection?

Release Date for Visual Studio 2005, SQL Server 2005, BizTalk 2006

At TechEd today, Paul Flessner announced that these products will be released the week of November 7th. Also of interest is that SQL Server 2005 Reporting Services will be available in the express edition. Report Builder will also be pushed down into Standard, Workgroup and up.

Anybody else think it's funny that MS is releasing products touted with “2005” and “2006” labels during the same week?

DevTeach Conference in Montreal

I'm going to be heading out in a couple of weeks to DevTeach in Montreal. In addition to my regular session talk on Datasets, I'll also be participating in an architecture panel discussion as part of Groupe d’usagers Visual Studio Montréal, Software Architecture Special Interest Group's Special Software Architecture Meeting. The meeting is open to conference attendees, members of the user group, and anybody else for $5. Here's the details....

Speaker: Joel Semeniuk, Microsoft Regional Director, Winnipeg

Subject: Software architecture from the trenches


Architecture is the soul of our software. Software Architecture truly helps to define our success since if our architecture fails us, our software fails us. However, what makes a good architecture? What truly drives architectural decisions? Is one architecture better than another? In this session we will explore and discuss some of these questions while taking a close look at a few real-world examples. In each real-world scenario we will explore the resulting architecture and review the constraints the project faced both during design and during production and maintenance phases. We will also look retrospectively at each architecture presented and discuss ways that it could be improved upon with Microsoft .NET 2.0.


Joel Semeniuk is a founder and VP of Software Development at ImagiNET Resources Corp, a Manitoba based Microsoft Gold Partner in Ecommerce and Enterprise Systems. Joel is also the Microsoft Regional Director for Winnipeg, Manitoba. With a degree in Computer Science from the University of Manitoba, Joel has spent the last twelve years providing educational, development and infrastructure consulting services to clients throughout North America. Joel is the author of "Exchange and Outlook: Constructing Collaborative Solutions", from New Riders Publishing and contributing author of "Microsoft Visual Basic.NET 2003 KickStart" from SAMS. Joel has also acted as a technical reviewer on many other books and regularly writes articles for .NET Magazine and Exchange and Outlook Magazine on a variety of infrastructure and development related topics. Reach Joel by email at


Followed by a software architecture expert panel:

Beth Massi, Software Architecture MVP

Joel Semeniuk, Software Architecture MVP, Microsoft Regional Director Winnipeg

Barry Gervin, Software Architecture MVP, Microsoft Regional Director Toronto

Mario Cardinal, Software Architecture MVP

Carol Roy, Microsoft Canada .NET architecture specialist for the public sector


Well known Nick Landry (MVP .NET Compact Framework) will act as the moderator.


Come hear these experts talk about software architecture hot topics.  You'll also have the chance to ask questions and talk to the panelists.


Monday June 20th, 5:30PM to 9:30PM

Location: Sheraton Centre, 1201 Boulevard Rene-Levesque West

Cost: free for all the DevTeach attendees and the Groupe d’usagers Visual Studio Montréal members.  $5 for non members or non DevTeach attendees.

Note: this session will be held in English

More info: or


From Rainier to Orcas and beyond.

This past 3 days I've spent traveling to and from Redmond to visit with a few of the developer tools teams as part of an Software Design Review (SDR). These are a kind of focus group, with the intention of getting qualitative information from folks about what they'd like to see in upcoming development tools. Hopefully I'll be able to talk more about the content after PDC in the fall so stay tuned. It was a refreshing trip in that normally, I'm traveling to either learn or teach. During this trip I was there more to discuss and influence and I got a real sense of just how careful Microsoft listens to the community.

It's fitting that I drove down to Redmond from Vancouver, passing through the town of Everett and past the Whidbey and Orcas islands (part of the San Juan Islands). These names are probably familiar to some of you as code names for Visual Studio 2003 (Everett), 2005 (Whidbey) and beyond (Orcas). For the sake of completeness we should add Rainier as well which was the code name for Visual Studio 2002. Geographically, these go from south east to north west passing more or less through Redmond.

Not unlike the development of these versions, the journey between these stops is a windy road, taking you over hill and vale, and over several bodies of water.  What's after Orcas? Well the next leg of the journey is as ambitious as the following version after Orcas, namely Hawaii. If you look at this path on a map, you'll see that this is indeed quite a leap.

The most interesting thing that happened is that I realized that come Orcas, I'm likely only going to be interested in coding in Visual Basic, and not C#.

Ready to Go Live

One of the reasons that I've been eagerly awaiting Beta 2 is the Go Live license.  This means that I'll be moving bits and pieces of the ObjectSharp web site to Whidbey over the next few weeks.  It gives us ObjectSharpees a chance to see what, if any, problems are encountered when creating, testing and deploying in the real world.  While our site is not nearly as complicated or demanding as some of the projects that we have under our belt, there is always something that is not quite what we anticipated.

For those of you who might be worried about the dangers associated with putting a Beta product into production, consider this post from Scott Guthrie describing some of the stress testing that must be endured before the beta version got released. If that doesn't give you some sense of security that the beta is worth working with, nothing will.

Installing Beta 2

I just finished installing Beta 2 of Whidbey. For the most part, it went pretty smoothly. 

I initially started with a VPC image that had the February CTP installed.  I tried to uninstall the bits using the technique suggested on the download page.  Didn't work for me.  To be fair, I didn't uninstall in the same order that they listed.  I just started at the top of the Add/Remove Programs list and went down. I was unable to uninstall any of the SQL Server Express pieces.  The uninstall threw up a fatal error during installation message box.

Since it was just a VPC image and I was in a hurry ;), I just created a VMC image from scratch.  Now the installation worked to perfection. And I have a Beta 2 version to play with.  There goes the evening.

Now featuring Go Live

In case you hadn't heard, Beta 2 is now available for download for anyone who is an MSDN subscriber.  As someone who is just 20 minutes from completing, a couple of points to consider.

  • These are large images.  I'm pulling down the Team Suite and it lists at 3.6 GB.
  • There is a list of the pre-beta 2 components (from beta 1 or the CTP) that need to be removed from your system before installation.
  • Did I mention that it's large.  Which means long download times.  Mine seems to be coming in at around 15 hours overnight.  So don't be holding your breath after clicking "Download"

Enjoy playing with the pieces and try not to blow all of Sunday.  Although, if you haven't started the download yet, the weekend is already safe.

Why the VSTS Logical Datacenter Designer (er, Deployment Designer) Sucks

I've had this question in many of the VSTS bootcamps I'm teaching across canada. “From my Application Diagram, how do I create a deployment diagram that shows my web application and database being deployed on the same box“.

So I posed the question to my friend and fellow RD Joel Semeniuk. The answer is:

with the LDD you CAN NOT represent a web site and a database server on the same logical server.

The Logical Datacenter Designer is used to create diagrams of interconnected logical servers that represent the logical structure of a datacenter.  They key here is the term “logical server.

Full post here:

My understanding (hope) was different. My understanding of the term “Logical“ was that in the datacenter diagram, a logical server was a “type“ of server, not a physical instance of a named machine. But if this is the way the LDD is going to work, then it's useless and I guess what we really need is a Physical Datacenter Designer. To be honest, I don't think we need a LDD, just a DD that works correctly. Otherwise, how the hell can you create a deployment diagram out of something that doesn't represent real machines - or at least a type of machine?

If the LDD is going to continue to work this way, then the deployment diagram (and even the LDD) start to look just like your Application Diagram. Furthermore, if a Logical Server is intended to be (possibly) aggregated with another Logical server to become a physical server, then why would you ever be allowed to put them in different zones. There is some serious impedence going on here. I seriously hope this gets fixed/repositioned before RTM. It would be sad to come this close to getting it right on a great suite of modelling tools.

Canadian Developer Community Radio

Mark Relph (MS Canada) posted his first blogcast as part of “Canadian Developer Community Radio“. It was recorded a few weeks ago at the ASP.NET 2.0 Deep Dive in Toronto. Lots of good discussion with the speakers, their favourite features, etc. etc. There is also a brief interview with me in which I don't say anything terribly interesting.

Click Here.

Whidbey Beta 2 Availability

We were expecting this first week of April but now this seems to be delayed 2 or 3 weeks. MS EMEA has a page quoting April 25th. 

Beta 2 will include a Go Live license for the .NET Framework so from my understanding they are taking some extra stabilizing precautions to get a supportable runtime out there.