Limitations of VSTO 2005’s Outlook Implementation

I have been getting a number of emails with questions on the limitation of VSTO 2005’s Outlook Implementation.  Let me first say that although this 1.0 VSTO version seems really limited, it’s really not the VSTO team fault at all.  Outlook 2003 is a black box.  at an api level it’s locked down through unpublished and sealed interfaces.  there’s very little of the object model that is open.  the VSTO team did a damn good job wrapping and exposing the small amount of interfaces that they have exposed.  this all gets fixed in the office 12 timeframe when we get nicely packaged interfaces from the office suite, but that’s a year away, minimum.  so, what do you do for the next 12-18 months? 

i am writing an article on how to best implment vsto 2005 outlook applications (strengths and weaknesses) for Esther Schindler at DevSource.    Check out her related story on the problem, from tech ed at: http://www.devsource.com/article2/0,1759,1825812,00.asp.  i’m not done with the article yet, but i should finish by end of year.  keep an eye out for it. 

in the mean time the most frequent question i get is similar to the one i just got from Matt Winkler at KnowledgeLake:  I’m really looking to do something similar to the teched demo’s in Outlook (having a large area with a custom form to process through the work I have to do).   

unfortunately, the demos we saw at teched and pdc were a bit of a ruse.  we saw these kickass demos where a winforms appeared in the outlook shell.  really, what they did was embedd a winforms control in an html page – a total hack – but that is the only way to do it using the vsto 2005 implementation of outlook.  you can instantiate a winform app from the menus or toolbar easily, but that kind of defeats the purpose of an integrated scenario. 

if you want to start exploring this “hack“, you can learn how to Use a Winforms control in IE here: 

http://samples.gotdotnet.com/quickstart/winforms/doc/WinFormsIeSourcing.aspx

Leave a Reply

Your email address will not be published. Required fields are marked *