title: ClickOnce, VSTO, or simple auto update for an COM DLL used by Outlook
body: <p>I have a COM component written in C# that implements <a href="http://msdn.microsoft.com/en-us/library/aa140238%28office.10%29.aspx" rel="nofollow">ISmartTagAction</a> to add actions to the right click menu for things like mail recipients and senders.</p>
  
  <p>It's just a .NET class library that exposes some classes through COM interop.  Currently, I deploy this with a Visual Studio Setup project.  That installer just registers the DLL for COM and adds an additional extra registry key to tell Outlook about the new smart tag class.</p>
  
  <p>This works ok, but I have done two unrelated projects recently that were deployed with click once in one case and as a VSTO Outlook addin in another case, and that was a much nicer experience for end users, mostly because of the auto-update features of clickonce.</p>
  
  <p>I did some investigation, and I haven't found any way to distribute this COM dll via click once because there appears to be no way to have click once register a DLL.  Is this correct?  Is there some way to make this work?</p>
  
  <p>The other idea I had was to create an Outlook addin project and somehow put these classes in that project and use the VSTO publishing functionality to push it out.  I don't know of a way to register the smart tag on the fly though.</p>
  
  <p>Can anyone think of an approach that would make this work?  Mostly I am looking for the auto-update feature so that it is painless for non-technical people to get updates when they are available.</p>