<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://www.summsoft.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>VSTA Q &amp; A Blog : macro, Integration</title><link>http://www.summsoft.com/blogs/vstaqa/archive/tags/macro/Integration/default.aspx</link><description>Tags: macro, Integration</description><dc:language>en</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>VSTA: Add-ins, Macros, Debugging, and Integration Questions</title><link>http://www.summsoft.com/blogs/vstaqa/archive/2009/05/29/vsta-add-ins-macros-debugging-and-integration-questions.aspx</link><pubDate>Fri, 29 May 2009 12:28:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1819</guid><dc:creator>BillL</dc:creator><slash:comments>0</slash:comments><wfw:commentRss xmlns:wfw="http://wellformedweb.org/CommentAPI/">http://www.summsoft.com/blogs/vstaqa/rsscomments.aspx?PostID=1819</wfw:commentRss><comments>http://www.summsoft.com/blogs/vstaqa/archive/2009/05/29/vsta-add-ins-macros-debugging-and-integration-questions.aspx#comments</comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;Q&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;I have a couple of questions that I hope you can answer:&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;1)&amp;nbsp; It seems that any time the VSTA documentation discusses running end-user-code, it refers to that user code as an &amp;ldquo;addin,&amp;rdquo; even if that code comes from a macro recording.&amp;nbsp; Therefore, is it fair to say that all code that end-users write or record in a host application&amp;rsquo;s VSTA implementation is ultimately run as an &amp;ldquo;addin&amp;rdquo;? &amp;nbsp;&amp;nbsp;&lt;span style="text-decoration:underline;"&gt;Are macros and addins really the same thing in VSTA&lt;/span&gt;?&amp;nbsp; Is debugging an addin really the same thing as stepping through a &amp;ldquo;macro&amp;rdquo;? &amp;nbsp;&amp;nbsp;&amp;nbsp;I ask because in VBA, the user can either run or step through a macro, or he can write a compiled addin, and I want to be certain I understand the model that VSTA is trying to promote.&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;2) My VBA users are used to the idea of the simple VBA macro.&amp;nbsp; Therefore, I&amp;rsquo;d like to make my VSTA implementation as close to the traditional VBA experience as much as possible.&amp;nbsp; That being said, I think that an implementation that uses, as described by your documentation,&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;ldquo;Close&amp;rdquo; integration&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;ldquo;Non-destructive&amp;rdquo; debugging&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;ldquo;Seamless debugging experience&amp;rdquo;&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;Out-of-process addins&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;hellip;would best approximate this. Is my thinking correct?&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;i&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;A&lt;/span&gt;&lt;/i&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:Arial;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Here is some information that I hope answers your questions sufficiently:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;Question 1:&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;gt;&amp;gt;Are macros and addins really the same thing in VSTA&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;?&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;The &lt;/span&gt;&lt;a href="http://blogs.msdn.com/pstubbs/archive/2005/09/15/467778.aspx"&gt;&lt;span style="color:#365f91;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;VSTA Add-in&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt; model is, indeed, the model presently being promoted by Microsoft.&amp;nbsp; It is correct to say that all code written or recorded by the end user is ultimately run as an addin assembly.&amp;nbsp; The VB or C# code (or macro code) contained in a VSTA project is compiled into a full-fledged, .Net assembly, deployed as a .DLL, loaded, and then run with the CLR. &amp;nbsp;These assemblies are called VSTA &amp;lsquo;Addins&amp;rsquo;, because they use VSTA&amp;rsquo;s Managed Addin Framework (MAF) for design, debug, and run-time communication to/from the host application.&amp;nbsp; The VSTA Addin project can also be opened, built and debugged in VSTA or full Visual Studio. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;gt;&amp;gt; Is debugging an addin really the same thing as stepping through a &amp;ldquo;macro&amp;rdquo;?&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Debugging a macro or addin is comparable to debugging an assembly in VS with the &amp;lsquo;Start Action&amp;rsquo; set to &amp;lsquo;Start external program&amp;rsquo;&amp;nbsp; selection.:&amp;nbsp; The typical Addin debugging session has the host application running in a separate process from the addin assembly, but there are other options:.&amp;nbsp; &amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;There are three ways to enable &lt;/span&gt;&lt;a href="http://blogs.msdn.com/vsta/archive/2006/04/14/576690.aspx"&gt;&lt;span style="color:#365f91;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;add-in debugging&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:Calibri;mso-themecolor:accent1;mso-themeshade:191;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;"&gt;1.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Visual Studio-style Debugging:&amp;nbsp; Use the VSTA debugger without modifying the host application.&amp;nbsp; This approach requires little configuration and is the simplest option&amp;nbsp; for providing addin debugging support.&amp;nbsp; To enable this kind of debugging,&amp;nbsp; set the DebugInfoExeName element of the project template file to the name of the host application executable file.&amp;nbsp; This can also be done when generating the project template using ProjectGen.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;i&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;Note:&amp;nbsp; VSTA creates a new instance of the host application and runs that instance in the same process as the addin that is being debugged.&amp;nbsp; This means that the application will terminate abruptly at the end of the debugging session (in an unknown state) Terminating the application without performing clean-up tasks could lead to corrupt files and other problems.&lt;/span&gt;&lt;/i&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:Calibri;mso-themecolor:accent1;mso-themeshade:191;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;"&gt;2.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Simple Non-Destructive Debugging:&amp;nbsp; This approach gives the host application an opportunity to perform any clean up task necessary to exit properly.&amp;nbsp; To enable non-destructive debugging,&amp;nbsp; configure the host application to receive and handle notifications when the debug session starts and ends:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;Provide values in Project Templates&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Or&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;-&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;Parse command-line parameters passed into the host application (vstaHostDebugURI, vstaHostDebugReady parameters)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Then register the host application to receive Debug Notifications by passing the host debug URI value obtained from host app&amp;rsquo;s command-line parameters as a parameter to the Microsoft.VisualStudio.Tools.Applications.ExternalProcess.ExternalDebugging.RegisterExternalDebugHost(System.Uri.Microsoft.VisualStudio.Tools.Applications.ExternalProcess.IExternalDebugHost) method.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;i&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;Note:&amp;nbsp; With non-destructive debugging, the application and the add-in run in separate processes.&amp;nbsp; This provides a more robust debugging environment, but cross-process communication can decrease performance.&lt;/span&gt;&lt;/i&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:Calibri;mso-themecolor:accent1;mso-themeshade:191;mso-bidi-theme-font:minor-latin;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;"&gt;3.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Non-Destructive Debugging with Seamless User Experience:&amp;nbsp; For a seamless debugging experience, the user need not set values in the project templates,&amp;nbsp; Instead, at runtime, use the Microsoft.VisualStudio.Tools.Applications.ExternalProcess.ExternalDebugging.RegisterExternalDebugHost(System.Uri.Microsoft.VisualStudio.Tools.Applications.ExternalProcess.IExternalDebugHost) overload that returns a unique identifier.&amp;nbsp; Add this identifier to a command-line string and pass that string to the SetDebugInfo() method of the IVstaHostAdapter instance.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;gt;&amp;gt; I ask because in VBA, the user can either run or step through a macro, or he can write a compiled addin, and I want to be certain I understand the model that VSTA is trying to promote.&amp;nbsp; &lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;In VSTA v1.0, Microsoft has promoted &amp;lsquo;Addin&amp;rsquo;s primarily because addin assemblies provide independent versioning, isolation and security benefits not available with VBA macros, compiled or not. &amp;nbsp;However, Microsoft&amp;rsquo;s VSTA team is aware of the value VBA developers place on the simple power of authoring macros and &amp;lsquo;stepping through&amp;rsquo; or debugging them in place (without a prominent build step).&amp;nbsp; This is an important issue that they are reviewing for the next version of VSTA.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;If persisting macro code is important to you, VSTA&amp;rsquo;s DTE object makes it possible to extract the macro code, allowing the host application to store the macro code separately from the compiled assembly.&amp;nbsp; If, by design, the assembly is not persisted, then it is possible for the host application to use the DTE to &amp;ldquo;re-hydrate&amp;rdquo; an empty addin project with stored macros.&amp;nbsp; In fact, it is possible for the host app to create, author, and execute addins programmatically (without user intervention).&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;Question 2:&amp;nbsp; &amp;gt;&amp;gt;I&amp;rsquo;d like to make my VSTA implementation as close to the traditional VBA experience as much as possible&amp;hellip;&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;1)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;ldquo;Close&amp;rdquo; integration&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Close integration experience would mean allowing the application&amp;rsquo;s user to open the VSTA IDE with an Addin project already open and macro code already entered based on the context of the application or the user&amp;rsquo;s selection.&amp;nbsp; Close integration would mean providing a strongly-typed object model (in proxy) so that the Addin author could always use intellisense productively.&amp;nbsp; Close integration could mean running addins in-process, but I see that you have wisely specified otherwise &amp;ndash; running Addins in a separate AppDomain avoids security and stability problems present with Addins that run in-process with the host app (ie: VBA macros). Close integration could mean using an In-Process Host, which allows the host application to interact with the VSTA IDE and interact with an open Addin project template.&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;2)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;ldquo;Non-destructive&amp;rdquo; debugging&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;3)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;ldquo;Seamless debugging experience&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;ldquo;Non-Destructive Debugging with Seamless User Experience&amp;rdquo; is also called the &lt;/span&gt;&lt;a href="http://blogs.msdn.com/vsta/archive/2006/04/14/576690.aspx"&gt;&lt;span style="color:#365f91;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Alt+ F11 debugging scenario&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt; by the VSTA team because it is similar to the VBA debugging experience.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:Arial;mso-themecolor:accent1;mso-themeshade:191;"&gt;4)&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;Out-of-process addins&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;VBA macros run in-process, and VSTA addins can too, but Microsoft recommends that VSTA Add-in run in a separate AppDomain from the host application.&amp;nbsp; A separate AppDomain is similar to a separate process.&amp;nbsp; Running add-ins in a separate app-domain provides &lt;/span&gt;&lt;a href="http://blogs.summsoft.com/blogs/garyvsta/archive/2006/07/31/VSTA_1920_s-proxied-types-provide-version-independence_2C00_-process-isolation_2C00_-and-security.aspx"&gt;&lt;span style="color:#365f91;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;process isolation, and security&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;gt;&amp;gt;Is my thinking correct?&lt;/span&gt;&lt;/b&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;Yes!&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=1819" width="1" height="1"&gt;</description><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/VSTA/default.aspx">VSTA</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/add-in/default.aspx">add-in</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/VBA/default.aspx">VBA</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/Integration/default.aspx">Integration</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/macro/default.aspx">macro</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/debugging/default.aspx">debugging</category></item></channel></rss>