<?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/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"><channel><title>Summit Software</title><link>http://www.summsoft.com/blogs/</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2008 SP1 (Build: 30619.63)</generator><item><title>Corel now shipping VSTA</title><link>http://www.summsoft.com/blogs/davesblog/archive/2010/03/09/corel-now-shipping-vsta.aspx</link><pubDate>Tue, 09 Mar 2010 17:41:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:2050</guid><dc:creator>dschneid</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;Summit Software is pleased to announce that Corel is now shipping VSTA in CorelDraw X5.&amp;nbsp; &lt;/p&gt;
&lt;p&gt;CorelDraw is a versatile graphic design software that provides it all - vector illustration, page layout, photo editing, tracing, Web graphics and animation - in one tightly integrated suite.&lt;/p&gt;
&lt;p&gt;For more information and to download CorelDraw X5, visit &lt;a href="http://www.corel.com/coreldraw"&gt;www.corel.com/coreldraw&lt;/a&gt;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=2050" width="1" height="1"&gt;</description><category domain="http://www.summsoft.com/blogs/davesblog/archive/tags/VSTA+2.0/default.aspx">VSTA 2.0</category><category domain="http://www.summsoft.com/blogs/davesblog/archive/tags/Corel+DRAW+X5/default.aspx">Corel DRAW X5</category></item><item><title>64-bit setup script for ShapeAppMacroRecordingCSHarp sample</title><link>http://www.summsoft.com/blogs/garyvsta/archive/2010/01/06/64-bit-setup-script-for-shapeappmacrorecordingcsharp-sample.aspx</link><pubDate>Wed, 06 Jan 2010 15:10:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:2014</guid><dc:creator>Gary</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;With 64-bit Windows,&amp;nbsp;vsta registry entries&amp;nbsp;must be changed from &lt;/p&gt;
&lt;p&gt;32-bit registry: HKLM\\SOFTWARE\\ &lt;/p&gt;
&lt;p&gt;TO&lt;/p&gt;
&lt;p&gt;64-bit registry: HKLM\\SOFTWARE\\Wow6432Node\\&amp;nbsp;&lt;/p&gt;
&lt;p&gt;I&amp;#39;ve attached &lt;span id="ctl00_ctl00_OuterTaskRegion_TaskRegion_TaskRegion_CreatePost_ctl03_PostAttachment_ctl00_serverfilename"&gt;SetupShapeAppMacroRecordingCSharp64.js to demonstrate these changes.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;Since&amp;nbsp;setup scripts write to the registry,&amp;nbsp;remember to run the setup scripts as administrator in Windows Vista and Windows 7.&amp;nbsp; &amp;quot;run as administrator&amp;quot; can be accomplished by running&amp;nbsp;CMD (commandline window)&amp;nbsp;as adminstrator or by right-clicking on an executable and selecting run as administrator.&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=2014" width="1" height="1"&gt;</description><enclosure url="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.20.14/SetupShapeAppMacroRecordingCSharp64.js" length="8382" type="application/octet-stream" /></item><item><title>Chapter Six: Loading VSTA Addins with MEF</title><link>http://www.summsoft.com/blogs/vstanewbie/archive/2009/08/13/chapter-six-loading-vsta-addins-with-mef.aspx</link><pubDate>Thu, 13 Aug 2009 16:53:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1941</guid><dc:creator>BillL</dc:creator><slash:comments>1</slash:comments><description>&lt;p class="MsoNormalCxSpFirst"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;My integration journey has come to an end. For my last post, I am going to write about a new way of loading VSTA AddIns: MEF. I have talked about MEF some in my &lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstanewbie/default.aspx"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;color:#800080;"&gt;previous posts&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;, and have successfully used both VSTA and MEF together before. This time, I have successfully used MEF to load VSTA AddIns. To do this, I had to edit part of the MEF library to prevent it from locking the .dll and .pdb files, so the debugging and rebuilding of AddIns would still be possible. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Instead of having NEF load the assembly itself, which it usually does, I had it load a byte array of the .dll and .pdb files. All that I needed to edit was part of AssemblyCatalog.cs in the &lt;/span&gt;&lt;a href="http://mef.codeplex.com/Release/ProjectReleases.aspx?ReleaseId=30098"&gt;&lt;span style="font-family:Times New Roman;color:#800080;"&gt;MEF Preview 6 source&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;"&gt;. I changed the LoadAssembly method from this:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;private&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;static&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;"&gt;Assembly&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt; LoadAssembly(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;string&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt; codeBase)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Requires.NotNullOrEmpty(codeBase, &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;"&gt;&amp;quot;codeBase&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;AssemblyName assemblyName;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;try&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assemblyName = AssemblyName.GetAssemblyName(codeBase);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;catch&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt; (ArgumentException)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assemblyName = &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;new&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt; AssemblyName();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assemblyName.CodeBase = codeBase;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;return&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt; Assembly.Load(assemblyName);&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Segoe UI&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#30332d;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#30332d;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;to this:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Segoe UI&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#30332d;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Segoe UI&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#30332d;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;private&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;span style="color:#0000ff;"&gt;static&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Assembly&lt;/span&gt; LoadAssembly(&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; codeBase)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;byte&lt;/span&gt;[] assemStream = &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;, pdbStream = &lt;span style="color:#0000ff;"&gt;null&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;FileStream&lt;/span&gt; fs = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;FileStream&lt;/span&gt;(codeBase, &lt;span style="color:#2b91af;"&gt;FileMode&lt;/span&gt;.Open))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assemStream = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;byte&lt;/span&gt;[fs.Length];&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;fs.Read(assemStream, 0, (&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;)fs.Length);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;string&lt;/span&gt; pdbPath = &lt;span style="color:#2b91af;"&gt;Path&lt;/span&gt;.Combine(&lt;span style="color:#2b91af;"&gt;Path&lt;/span&gt;.GetDirectoryName(codeBase), &lt;span style="color:#2b91af;"&gt;Path&lt;/span&gt;.GetFileNameWithoutExtension(codeBase) + &lt;span style="color:#a31515;"&gt;&amp;quot;.pdb&amp;quot;&lt;/span&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;bool&lt;/span&gt; hasPdb = &lt;span style="color:#0000ff;"&gt;false&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;File&lt;/span&gt;.Exists(pdbPath))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;using&lt;/span&gt; (&lt;span style="color:#2b91af;"&gt;FileStream&lt;/span&gt; fs = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;FileStream&lt;/span&gt;(pdbPath, &lt;span style="color:#2b91af;"&gt;FileMode&lt;/span&gt;.Open))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pdbStream = &lt;span style="color:#0000ff;"&gt;new&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;byte&lt;/span&gt;[fs.Length];&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;fs.Read(pdbStream, 0, (&lt;span style="color:#0000ff;"&gt;int&lt;/span&gt;)fs.Length);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;hasPdb = &lt;span style="color:#0000ff;"&gt;true&lt;/span&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Debug.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Cannot find the pdb file: &amp;quot;&lt;/span&gt; + pdbPath);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;if&lt;/span&gt; (!hasPdb)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Assembly&lt;/span&gt;.Load(assemStream);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;{&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;return&lt;/span&gt; &lt;span style="color:#2b91af;"&gt;Assembly&lt;/span&gt;.Load(assemStream, pdbStream);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Now we have the ability to load files without locking them, and also have the discoverability benefits of using MEF. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Here is part of the &lt;a href="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.19.41/Contact_5F00_Manager_5F00_with_5F00_MEF_5F00_Loading_5F002800_OneMacroAddIn_2C00_MultipleAppAddIns_2900_.zip" title="Code"&gt;code&lt;/a&gt; from the application that allows it to load AddIns with MEF:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Compose()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Dir &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; [String] = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), &lt;span style="color:#a31515;"&gt;&amp;quot;ContactManager\AppAddins&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Dir2 &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; [String] = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), &lt;span style="color:#a31515;"&gt;&amp;quot;ContactManager\MacroAddIns&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;If&lt;/span&gt; Directory.Exists(Dir) &lt;span style="color:#0000ff;"&gt;And&lt;/span&gt; Directory.Exists(Dir2) &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Catalog &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; AggregateCatalog(&lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; DirectoryCatalog(Dir), &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; DirectoryCatalog(Dir2))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Container &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; CompositionContainer(Catalog)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Container.SatisfyImportsOnce(&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;macroBool = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;appLevelBool = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;ElseIf&lt;/span&gt; Directory.Exists(Dir) &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Catalog &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; DirectoryCatalog(Dir)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Container &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; CompositionContainer(Catalog)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Container.SatisfyImportsOnce(&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;macroBool = &lt;span style="color:#0000ff;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;appLevelBool = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;ElseIf&lt;/span&gt; Directory.Exists(Dir2) &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Catalog &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; DirectoryCatalog(Dir2)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Container &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; CompositionContainer(Catalog)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Container.SatisfyImportsOnce(&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;macroBool = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;appLevelBool = &lt;span style="color:#0000ff;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Import((&lt;span style="color:#a31515;"&gt;&amp;quot;MacroAddIn&amp;quot;&lt;/span&gt;), &lt;span style="color:#0000ff;"&gt;GetType&lt;/span&gt;(IAddIn))&amp;gt; &lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; myMacroAddIn &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; _AppAddIns &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt; IAddIn)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;ImportMany((&lt;span style="color:#a31515;"&gt;&amp;quot;AppAddIn&amp;quot;&lt;/span&gt;), &lt;span style="color:#0000ff;"&gt;GetType&lt;/span&gt;(IAddIn))&amp;gt; _&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; AppAddIns() &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt; IAddIn)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; _AppAddIns&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Set&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; value &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt; IAddIn))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_AppAddIns = value&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; LoadAppLevelAddIns()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Compose()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;If&lt;/span&gt; appLevelBool = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;For&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Each&lt;/span&gt; appaddin &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IAddIn &lt;span style="color:#0000ff;"&gt;In&lt;/span&gt; AppAddIns&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;StartAddIn(appaddin)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;.appLevelAddIns.Add(appaddin)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Diagnostics.Trace.WriteLine(ex.ToString())&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;Private&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt; StartAddIn(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; myAddIn &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IAddIn) &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;myAddIn.Startup(&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;.application)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; myAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Diagnostics.Trace.WriteLine(ex.ToString())&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt; CurrentDomain_AssemblyResolve(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; sender &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Object&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; args &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ResolveEventArgs) &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; Assembly&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Friend&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; LoadMacrosInProcess()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LoadMacros()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;.m_macroAddInLoadedInProc = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; LoadMacros()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Compose()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;If&lt;/span&gt; macroBool = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;StartAddIn(myMacroAddIn)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m_macroAddIn = myMacroAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Diagnostics.Trace.WriteLine(ex.ToString())&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;If&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;.application.MacroManager &lt;span style="color:#0000ff;"&gt;IsNot&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Nothing&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;.application.MacroManager.CloseThreadSafe()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Times New Roman;"&gt;This allows the user to load multiple AppAddIns to be run at startup, and one Macro AddIn to be debugged and run, etc. (Of course, you can always &lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstanewbie/archive/2009/08/10/chapter-five-integrating-mef-into-a-vsta-add-in.aspx"&gt;&lt;span style="font-family:Times New Roman;color:#800080;"&gt;make your Macro AddIn extensible&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;"&gt; as well, which will still work even if you load the AddIns themselves with MEF.) &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;I hope you have found this blog helpful in your own integration journey. &lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-no-proof:yes;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Please feel free to email me with any questions.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&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=1941" width="1" height="1"&gt;</description><enclosure url="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.19.41/Contact_5F00_Manager_5F00_with_5F00_MEF_5F00_Loading_5F002800_OneMacroAddIn_2C00_MultipleAppAddIns_2900_.zip" length="2925483" type="application/x-zip-compressed" /><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/VSTA/default.aspx">VSTA</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/MEF/default.aspx">MEF</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/AddIn/default.aspx">AddIn</category></item><item><title>Chapter Five: Integrating MEF into a VSTA Add-In</title><link>http://www.summsoft.com/blogs/vstanewbie/archive/2009/08/10/chapter-five-integrating-mef-into-a-vsta-add-in.aspx</link><pubDate>Mon, 10 Aug 2009 17:36:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1940</guid><dc:creator>BillL</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;This is one of&amp;nbsp;my last posts in this series. If you have not yet read my previous posts, here are the links to them: &lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstanewbie/archive/2009/06/18/chapter-one-a-sample-program-and-inversion-of-control.aspx" title="Chapter One"&gt;&lt;span style="font-family:Calibri;color:#800080;"&gt;Chapter One&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;, &lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstanewbie/archive/2009/06/29/chapter-two-loading-add-ins.aspx" title="Chapter Two"&gt;&lt;span style="font-family:Calibri;color:#800080;"&gt;Chapter Two&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;, &lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstanewbie/archive/2009/07/02/chapter-three-mef2.aspx" title="Chapter Three"&gt;&lt;span style="font-family:Calibri;color:#800080;"&gt;Chapter Three&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;, &lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstanewbie/archive/2009/07/28/chapter-four-integrating-the-vsta-ide.aspx" title="Chapter Four"&gt;&lt;span style="font-family:Calibri;color:#800080;"&gt;Chapter Four&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;. &lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;(I would especially read Chapter Three, as that is where I introduce MEF, and I would also read the MEF Overview and the Programming Guide, which are linked to in Chapter Three.)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;If you remember from my last post, I successfully integrated the VSTA IDE into my Contact Manager application. I have now gone a step further, and integrated MEF into the AddIn itself. To do this, I have created two templates: A regular Macro AddIn template, and a MEF Extension Template. &lt;br /&gt;Here is the default code for each of them.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;Macro AddIn code:&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; System.ComponentModel.Composition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; System.ComponentModel.Composition.Hosting&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; System.ComponentModel.Composition.ImportAttribute&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt; AppAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; Application &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactClass&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; MyContact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactObj&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Startup(&lt;span style="color:#0000ff;"&gt;ByRef&lt;/span&gt; app &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactClass) &lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IAddIn.Startup&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Application = app&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MyContact = Application.CreateNewContactObj()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Compose()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Shutdown() &lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IAddIn.Shutdown&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39; do nothing&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Compose()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Dir &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; [String] = Path.Combine(System.Environment.GetFolderPath(System.Environment.SpecialFolder.MyDocuments), &lt;span style="color:#a31515;"&gt;&amp;quot;ContactManager\Macros\Extensions&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Catalog &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; DirectoryCatalog(Dir)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Container &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; CompositionContainer(Catalog)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Container.SatisfyImportsOnce(&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; _Macros &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt; IMEFMacro)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;ImportMany(&lt;span style="color:#0000ff;"&gt;GetType&lt;/span&gt;(IMEFMacro))&amp;gt; _&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; Macros() &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt; IMEFMacro) &lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IAddIn.Macros&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; _Macros&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Set&lt;/span&gt;(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; value &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IEnumerable(&lt;span style="color:#0000ff;"&gt;Of&lt;/span&gt; IMEFMacro))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;_Macros = value&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Set&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; RunMacro(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; MacroName &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt;) &lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IAddIn.RunMacro&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;For&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Each&lt;/span&gt; m &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IMEFMacro &lt;span style="color:#0000ff;"&gt;In&lt;/span&gt; Macros&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;If&lt;/span&gt; m.Name = MacroName &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;m.Run(Application, MyContact)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Next&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&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;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;MEF Extension code:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; System.ComponentModel.Composition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; Interfacelibrary&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;lt;Export(&lt;span style="color:#0000ff;"&gt;GetType&lt;/span&gt;(IMEFMacro))&amp;gt; _&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt; AddJohnSmith&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IMEFMacro&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;ReadOnly&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; Name() &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IMEFMacro.Name&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; &lt;span style="color:#a31515;"&gt;&amp;quot;Add John Smith&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Run(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; Application &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactClass, &lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; Contact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactObj) &lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IMEFMacro.Run&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Contact.FirstName = &lt;span style="color:#a31515;"&gt;&amp;quot;John&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Contact.LastName = &lt;span style="color:#a31515;"&gt;&amp;quot;Smith&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Application.AddContact(Contact)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;lt;Export(&lt;span style="color:#0000ff;"&gt;GetType&lt;/span&gt;(IMEFMacro))&amp;gt; _&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt; AddJaneDoe&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IMEFMacro&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;ReadOnly&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; Name() &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IMEFMacro.Name&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; &lt;span style="color:#a31515;"&gt;&amp;quot;Add Jane Doe&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Get&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Run(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; Application &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactClass, &lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; Contact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactObj) &lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IMEFMacro.Run&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Contact.FirstName = &lt;span style="color:#a31515;"&gt;&amp;quot;Jane&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Contact.LastName = &lt;span style="color:#a31515;"&gt;&amp;quot;Doe&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Application.AddContact(Contact)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;Now let&amp;rsquo;s walk through what this code does. When the user first builds the Macro addIn, and then after any subsequent builds, the AddIn runs the Compose method. This method looks in My Documents\&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;ContactManager\Macros\Extensions for the MEF AddIn Extension. (When the MEF Extension template is built, it automatically installs Extension to this folder.) If an Extension is found, The Macro AddIn imports a collection of Macros from the extension. These Macros are then displayed in the Macro Manager, and can be run. This allows for AddIns themselves to be extensible. A user can import Macros from one or multiple files, and import them into the current Macro addIn project.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;Here&amp;nbsp;is a&amp;nbsp;brief walkthrough&amp;nbsp;of this process:&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;First, run the install file in the root folder of the &lt;a href="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.19.40/Contact_5F00_Manager_5F00_MEF_5F00_Extensions.zip" title="Source Code"&gt;source code&lt;/a&gt;.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;Open the App, then select File then click Load IDE.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;Build the Macro AddIn.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;Click New Project at the top and select MEFAddIn.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;Build the MEFAddIn.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;Close and then Re-Open the IDE.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;Rebuild the Macro AddIn.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;Now select file and Click Run Macro.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;You should see all the Macros specified in the Macro AddIn.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&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%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;strong&gt;The Final Result:&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&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%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img height="451" width="1039" src="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.97.71/screenshot4.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;I hope this journey has been beneficial in your understanding of VSTA and MEF. Please feel free to email me with any questions.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=1940" width="1" height="1"&gt;</description><enclosure url="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.19.40/Contact_5F00_Manager_5F00_MEF_5F00_Extensions.zip" length="2928807" type="application/x-zip-compressed" /><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/VSTA/default.aspx">VSTA</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/MEF/default.aspx">MEF</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/AddIn/default.aspx">AddIn</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/Extension/default.aspx">Extension</category></item><item><title>David Schneid named CEO of Summit Software</title><link>http://www.summsoft.com/blogs/davesblog/archive/2009/07/31/david-schneid-named-ceo-of-summit-software.aspx</link><pubDate>Fri, 31 Jul 2009 18:43:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1939</guid><dc:creator>dschneid</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Summit Software Company is pleased to announce that David Schneid has been promoted to&amp;nbsp;Chief Executive&amp;nbsp;Officer.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;This decision was approved by the Board of Directors of Summit Software Company.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;David replaces Bill Fisher, a founder of Summit, who has accepted the opportunity to become the Deputy County&amp;nbsp;Executive of Onondaga County under the leadership of County Executive Joanie Mahoney.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;Mr. Fisher will continue to serve as the Chairman of the Board of Summit Software Company.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;David joined Summit Software in April 2006 as the General Manager, managing Summit&amp;rsquo;s role as Microsoft&amp;rsquo;s authorized licensing agent for both Microsoft Visual Studio Tools for Applications (VSTA) and Microsoft Visual Basic for Applications (VBA).&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;In his new role as CEO, David will continue to manage these businesses while executing the strategic directives set forth by the Board of Directors.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:Calibri;"&gt;Raised in Syracuse, David graduated from Cornell University and received his MBA from Columbia Business School.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;David returned to Syracuse in 2005 to lead the US expansion efforts for UK-based technology merchant bank Interregnum, and previously had been an Assistant Vice-President at PaineWebber (now UBS) and Director of Business Development for GeoVideo Networks (a venture backed startup).&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;About Summit&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Founded in 1991, Summit Software&amp;rsquo;s relationship with Microsoft dates back more than 12 years, beginning as Microsoft&amp;rsquo;s authorized licensing agent for VBA.&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp; &lt;/span&gt;In 2006, Summit was appointed as the authorized licensing agent for VSTA, which represents Microsoft&amp;rsquo;s strategic direction for application extensibility.&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=1939" width="1" height="1"&gt;</description></item><item><title>VSTA IDE Hangs Up when Stepping Into Code</title><link>http://www.summsoft.com/blogs/vstaqa/archive/2009/07/31/vsta-ide-hangs-up-when-stepping-into-code.aspx</link><pubDate>Fri, 31 Jul 2009 13:23:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1937</guid><dc:creator>BillL</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal" style="line-height:200%;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-themecolor:accent1;mso-themeshade:191;"&gt;Q&lt;/span&gt;&lt;/i&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;mso-themecolor:accent1;mso-themeshade:191;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:200%;margin:0in 0in 10pt;"&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;The VSTA IDE keeps hanging up while debugging when I try to step into code. Why is it doing this?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:200%;margin:0in 0in 10pt;"&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;p class="MsoNormal" style="line-height:200%;margin:0in 0in 10pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;i style="mso-bidi-font-style:normal;"&gt;&lt;span style="line-height:200%;color:#365f91;font-size:12pt;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-themecolor:accent1;mso-themeshade:191;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" style="line-height:200%;margin:0in 0in 10pt;"&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;The IDE may be hanging because you have left PDB files in your application directory. Even if you are running the Release version, make sure that you have no PDB files in the same directory as your application.&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=1937" 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/IDE/default.aspx">IDE</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/Freezes/default.aspx">Freezes</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/Hang-up/default.aspx">Hang-up</category></item><item><title>Chapter Four: Integrating the VSTA IDE</title><link>http://www.summsoft.com/blogs/vstanewbie/archive/2009/07/28/chapter-four-integrating-the-vsta-ide.aspx</link><pubDate>Tue, 28 Jul 2009 14:35:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1936</guid><dc:creator>BillL</dc:creator><slash:comments>1</slash:comments><description>&lt;p class="MsoNormalCxSpFirst"&gt;&lt;span style="LINE-HEIGHT:200%;FONT-SIZE:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;My integration journey is taking some exciting turns. As always, I would encourage you to read the first three posts in this series (&lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstanewbie/archive/2009/06/18/chapter-one-a-sample-program-and-inversion-of-control.aspx"&gt;&lt;span style="font-family:Times New Roman;color:#800080;"&gt;Chapter One&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;"&gt;, &lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstanewbie/archive/2009/06/29/chapter-two-loading-add-ins.aspx"&gt;&lt;span style="font-family:Times New Roman;color:#800080;"&gt;Chapter Two&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;"&gt;, and&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstanewbie/archive/2009/07/02/chapter-three-mef2.aspx"&gt;&lt;span style="font-family:Times New Roman;color:#800080;"&gt;Chapter Three&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Times New Roman;"&gt;) before reading this one. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="LINE-HEIGHT:200%;FONT-SIZE:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;I have finally integrated the VSTA IDE into my Contact Manager program. I am going to go through how I did this, show some code, and talk about some of the problems I encountered. Here is a link to my code: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="LINE-HEIGHT:200%;FONT-SIZE:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;The first thing to do is to run SetupContactManager.js (Right-click it and select Open&amp;nbsp;with Commmand Prompt so you will. Now look in your MyDocuments folder. There should be a new folder with the name ContactManager. This is where the application will store the add-in and macro data for the program. All the files needed for this sample are included in the ZIP file, so you should not have to download any external dependencies (You will have to have the VSTA 2.0 SDK and SQL Server 2005 Express Edition installed, however.) Make sure any dependency errors are resolved, and then build the project. Open the application and click File then click Load IDE.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="LINE-HEIGHT:200%;FONT-SIZE:12pt;"&gt;&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;The VSTA IDE should open.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="line-height:115%;font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-theme-font:minor-bidi;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:Calibri;mso-fareast-theme-font:minor-latin;mso-ansi-language:EN-US;mso-fareast-language:EN-US;mso-bidi-language:AR-SA;"&gt;Now resolve the Interface Library dependency, by pointing it to the InterfaceLibrary.dll file under the main application&amp;#39;s Debug folder.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpFirst"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Now create a method called Macro1 under the Startup and Shutdown methods. Make it do whatever you want.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;When you are finished programming this method, go back to the main application and select &lt;em&gt;File&lt;/em&gt; then &lt;em&gt;Run Macro&lt;/em&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpFirst"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;You should see this window:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.97.71/scrnshot7.jpg" alt="" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormalCxSpFirst"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Click Run, and the code in your Macro1 method will execute.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Here is an example:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;img height="402" width="669" src="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.97.71/scrnshot9.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormalCxSpFirst"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;Now I will walk you through the steps I took to get this functionality.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;First, let me go over the features in VSTA that made this integration possible.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;As you may already know, VSTA is software that allows the user of an application to run custom code in an application while the application is running, through a Visual Studio-like IDE. These custom bits of code are called &lt;b style="mso-bidi-font-weight:normal;"&gt;AddIns&lt;/b&gt;. These Add-Ins are stored in a templates folder that is in the same folder as the application. When the user runs the Install batch file, it registers the application with the VSTA runtime using a specified name for the application called the &lt;b style="mso-bidi-font-weight:normal;"&gt;HostID&lt;/b&gt;, and creates a folder for its Add-Ins in the MyDocuments folder. The user can now create &lt;b style="mso-bidi-font-weight:normal;"&gt;Macros &lt;/b&gt;(custom user-created methods) in his Add-In.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Now let&amp;rsquo;s dig a little deeper in to the code that makes this possible. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;If you look at my code, you will notice that I have added four new files to the solution: VSTADesignTimeIntegration.vb, VSTARuntimeIntegration.vb, MacroManager.vb, and MessageFilter.vb. I am not going to get into MessageFilter.vb, but I will give a brief overview of the other three:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;VSTADesignTimeIntegration.vb is in charge of showing the IDE, opening and creating Macro projects, and debugging the Add-In. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;VSTARuntimeIntegration.vb is in charge of loading and unloading Add-Ins and Macros.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;MacroManager.vb contains the Macro manager user interface, updates the list of Macros, and gets the Macros&amp;rsquo; names.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;I encourage you to explore these files, and see how they work in the application. Also, look over the documentation provided with the VSTA SDK, especially the part about registering your application.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I am now going to walk you through what happens behind the scenes with VSTA in my application. In the AppLoad method, when the program is not run from script, the first workings of VSTA are started. The messagefilter is instantiated first. Once the messagefilter has been instantiated, the application instantiates VSTARuntimeIntegration and VSTADesignTimeIntegration, and runs their Connect methods. Because VSTARuntimeIntegration comes first, I will walk you through what happens when the application calls its Connect method. First, the application passes an instance of the host class (ContactClass) to VSTARuntimeIntegration. Then the application finds and loads the Add-ins, and runs their Startup methods. The Macros themselves are now loaded. Now the application instantiates VSTADesignTimeIntegration and runs its Connect method. Just like in VSTARuntimeIntegration, the VSTADesignTimeIntegration&amp;lsquo;s Connect method passes in ContactClass. The application calls the methods in VSTADesignTimeIntegration when the application loads the IDE and on other IDE events, and when debugging Add-Ins. The Macro Manager provides a dialog box for viewing the available macros in the Add-In. It finds these macros by searching for methods in the Add-In that contain the string &amp;ldquo;Macro.&amp;rdquo; It then allows the user to either edit or run a macro based on what button the user clicks.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; I have used in this application a type of integration called &amp;ldquo;design-time only.&amp;rdquo; This method of integration differs from the method outlined in the VSTA SDK documentation. This integration&amp;nbsp;does not have&amp;nbsp;the Add-In connect to the host using a proxy object, which is the standard integration procedure. Instead, the host imports the add-in using a byte-stream, and does not utilize a proxy object. Without the use of a proxy object, the integration process becomes much simpler. The downside to this is that once the Add-In loads, the host can&amp;rsquo;t unload the Add-In. In addition, any crash of the Add-In will also crash the host, and debugging the Add-In will pause the host. These downsides, while not necessarily an issue, must be kept in mind when deciding which integration method to use.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Now I will go over some problems I had while integrating VSTA, in hopes that you will know what to do if you run across these same issues. First, make sure that your Add-In template is located in the right folder (the folder specified in the CreateNewMacroProject method in the VSTADesignTimeIntegration.vb file), and that if you are using a setup file like the one in my application, you have the paths and HostID defined correctly. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; One of the specific mistakes I made was to instantiate more variables than the program required. This caused various errors in getting my application to run properly. Utilizing good programming practices in general will be immensely beneficial to you in any programming scenario. Also, be very careful in translating code from one language to another: be sure that you recognize the differences in the languages you are translating (the language&amp;rsquo;s syntax, what you must explicitly define, how the language handles variables, etc.).&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; One other note:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;If your program crashes or closes unexpectedly, check the processes in Task Manager to make sure an orphaned vsta.exe is not running. If it is, end it, or your computer will not shut down.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;One other thing you may have noticed that has changed is the lack of a message box before the program loads. To ruin the Script, now you must specify a command-line argument of -s. I have created a shortcut to do this and put it in the Debug and Release folders.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormalCxSpMiddle"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;"&gt;&lt;span style="font-family:Times New Roman;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; In my previous post, I discussed the Managed Extensibility Framework. However, MEF cannot be used to import VSTA Add-Ins for one reason: once MEF has loaded an Add-In, it cannot alter the Add-In, because the Add-in is locked. That is why VSTA must get a byte stream of the Add-in and work with that, instead of loading the Add-In files themselves. I have integrated MEF into an Add-in itself, however, and will talk about this in my next post.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=1936" width="1" height="1"&gt;</description><enclosure url="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.19.36/Contact_5F00_Manager_5F00_with_5F00_Script_5F002800_MEF_29005F00_and_5F00_VSTA_5F00_IDE.zip" length="3164380" type="application/x-zip-compressed" /><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/integration/default.aspx">integration</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/VSTA/default.aspx">VSTA</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/IDE/default.aspx">IDE</category></item><item><title>Error loading VB add-ins - token count 0</title><link>http://www.summsoft.com/blogs/vstaqa/archive/2009/07/08/error-loading-vb-add-ins-token-count-0.aspx</link><pubDate>Wed, 08 Jul 2009 20:57:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1910</guid><dc:creator>BillL</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;&lt;i&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;Q&lt;/span&gt;&lt;/i&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;:&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;I have a problem with loading VB add-ins. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;The method call:&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;ObjectModel::Collection&amp;lt;AddInToken^&amp;gt;^ addInToken = AddInStore::FindAddIn(IEntryPoint::typeid, AddInStoreExtensions::DefaultPipelinePath, FilePath, TypeName);&lt;br /&gt;&lt;br /&gt;&lt;/i&gt;returns an empty collection when called on a dll created using VB. The &lt;i&gt;FilePath&lt;/i&gt; parameter points to a dll, the &lt;i&gt;TypeName&lt;/i&gt; is an &amp;quot;ApplicationAddIn.ThisApplication&amp;quot; string where an &amp;quot;ApplicationAddIn&amp;quot; is a RootNamespace of a &lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;VB project, and &amp;quot;ThisApplication&amp;quot; is a class defined in a VB project. The ApplicationAddIn.ThisApplication type is&amp;nbsp;a VS Object Browser in a VB Add-in project.&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;b&gt;&lt;font face="&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;" color="#365f91" style="mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;font size="3" style="font-size:small;"&gt;
&lt;p class="MsoNormal"&gt;
&lt;p&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;
&lt;p class="MsoNormal"&gt;The C#-based projects works fine, using templates created at the same time. Can you help me with loading VB-based add-ins?&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/font&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;b&gt;&lt;font face="&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;" color="#365f91" style="mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;
&lt;p class="MsoNormal"&gt;
&lt;p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;i&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;A&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;VB add-ins require the proxy to be registered in the VSTA pipeline as well as the GAC; C# add-ins can function without the proxy in the VSTA pipeline.&amp;nbsp; So you should confirm that the proxy is registered in the VSTA pipeline (C:\Program &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;Files\Common Files\Microsoft Shared\VSTA\Pipeline\AddInViews).&amp;nbsp; The SDK samples register the proxy in the pipeline with the file InstallForVB.bat and a post build event which runs it.&amp;nbsp; Once you have confirmed that the proxy is registered &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;you can rebuild the pipeline with the code below or through the command prompt.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;InstallForVB.bat:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;SET TARGET=%1&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;SET FrameworkDir=%SystemRoot%\Microsoft.NET\Framework\v3.5&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;REM Copy the Proxy Assembly to AddInViews for VB and update Pipeline&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;copy %TARGET% &amp;quot;%CommonProgramFiles%\microsoft shared\VSTA\Pipeline\AddInViews\&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;quot;%FrameworkDir%\AddInUtil&amp;quot; -PipelineRoot:&amp;quot;%CommonProgramFiles%\microsoft shared\VSTA\Pipeline&amp;quot; -Rebuild&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;Post build event:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;call &amp;quot;$(ProjectDir)InstallForVB.bat&amp;quot; &amp;quot;$(TargetPath)&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;Code to manually rebuild pipeline:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;#39;CYA- run addinstore update for the pipeline and add-in location&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;#39;update the pipeline&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; warnings() &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;As&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;String&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; = AddInStore.Update(AddInStoreExtensions.DefaultPipelinePath)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;If&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; (warnings.Length &amp;gt; 0) &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Then&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;For&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Each&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; warning &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;As&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;String&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;In&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; warnings&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(warning)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Next&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;If&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;#39;update the add-in discovery folder&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Dim&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; warnings2() &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;As&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;String&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; = AddInStore.UpdateAddIns(Path.Combine(System.Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments), &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#a31515;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;quot;MyAppVB6&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;))&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;If&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; (warnings2.Length &amp;gt; 0) &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Then&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;For&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Each&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; warning &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;As&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;String&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;In&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; warnings2&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console.WriteLine(warning)&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Next&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;If&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;Make sure the proxy dll is in the GAC and in the AddInViews folder (C:\Program Files\Common Files\Microsoft Shared\VSTA\Pipeline).&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;If the proxy dll is missing from the AddInViews folder, make sure your proxy mirrors the ShapeAppBasicCSharp sample&amp;#39;s build events.&amp;nbsp; You&amp;#39;ll need to copy the InstalInGac.bat and InstallForVB.bat files and set up the build events like this:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;call &amp;quot;$(ProjectDir)InstallInGac.bat&amp;quot; &amp;quot;$(TargetPath)&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;
&lt;p class="MsoNormal"&gt;&lt;br /&gt;call &amp;quot;$(ProjectDir)InstallForVB.bat&amp;quot; &amp;quot;$(TargetPath)&amp;quot;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;The InstallForVB.bat copies the proxy dll to the pipeline folder and rebuilds the pipeline.&amp;nbsp; I&amp;#39;m not sure what that has to do with VB but this is necessary for C# as well.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;**Look in the output window during a build to see if these files have run successfully&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;Make sure your add-ins are setup so that there is one folder which contains a folder for each add-in,&amp;nbsp;each add-in folder contains the add-in dll, and the add-in dll name matches the containing folder&amp;#39;s name.&amp;nbsp; To have your add-ins organize &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;their dll&amp;#39;s like this automatically, use the InstallAddIn.js file and post build event (change the host name) from the ShapeApp sample add-ins.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;**Changing the add-in name after creating it causes the parent folder name not to match the assembly.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-size:small;"&gt;If the above suggestions do not work here is a more exhaustive list from our &lt;/span&gt;&lt;a href="http://www.summsoft.com/forums/p/396/899.aspx#899"&gt;&lt;span style="color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;forums&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size:small;"&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#1f497d;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;1)&amp;nbsp; Run the AddInStore update and re-build (shouldn&amp;#39;t have to do both but better safe than sorry).&amp;nbsp; You can do this programmatically by adding the lines below prior to the AddInStore.FindAddIn&amp;#39;s line you sited above, make sure you update&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&amp;nbsp;the paths to the pipeline if needed.&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;AddInStore.Update(&amp;quot;C:\\Program Files\\Common Files\\Microsoft Shared\\VSTA\\Pipeline&amp;quot;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;AddInStore.Rebuild(&amp;quot;C:\\Program Files\\Common Files\\Microsoft Shared\\VSTA\\Pipeline&amp;quot;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;Still getting the error?&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;2)&amp;nbsp; Use the AddInUtil to rebuild both the pipeline and the add-in root.&amp;nbsp; Here are the commands from the VS Command Prompt to do this for ShapeApp (ignore the warning):&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;C:\WINDOWS\Microsoft.NET\Framework\v3.5&amp;gt;addinutil -PipelineRoot:&amp;quot;C:\Program File&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;s\Common Files\Microsoft Shared\VSTA\Pipeline&amp;quot; -Rebuild&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;Warning: Add-in Adapter Microsoft.VisualStudio.Tools.Applications.AddInAdapter,&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;Microsoft.VisualStudio.Tools.Applications.AddInAdapter.v9.0, Version=9.0.0.0, Cu&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;lture=neutral, PublicKeyToken=b03f5f7f11d50a3a defines a constructor that doesn&amp;#39;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;t take one parameter.&amp;nbsp; This constructor can&amp;#39;t be used in the add-in model.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;C:\WINDOWS\Microsoft.NET\Framework\v3.5&amp;gt;addinutil -AddInRoot:&amp;quot;C:\Documents and Settings\Melody\My Documents\ShapeAppCSharp\AppAddins&amp;quot; -Rebuild&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;Finished updating cache&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;Still getting the error?&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;3)&amp;nbsp; Review or re-create the project template the add-in was based off of.&amp;nbsp; Make sure everything is&amp;nbsp;correct, including the add-in&amp;#39;s dll is in the correct location,&amp;nbsp;&lt;b&gt;the add-in start up class matches StartUpClass variable of&amp;nbsp;the &lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;b&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;b&gt;VstaRunTimeIntegration class,&lt;/b&gt; the add-in builds, and the add-in is looking at the most current version of the proxy.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;Still getting the error?&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;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:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;4)&amp;nbsp; If you are trying to write an add-in in VB, try doing it in CSharp 1st (make sure the VB add-in&amp;#39;s dll is removed).&amp;nbsp; This may work.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:Tahoma;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#365f91;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-themecolor:accent1;mso-themeshade:191;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=1910" 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/VB/default.aspx">VB</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/error/default.aspx">error</category></item><item><title>ShapeAppBasicMFC with Document Entry Point</title><link>http://www.summsoft.com/blogs/vstaqa/archive/2009/07/06/shapeappbasicmfc-with-document-entry-point.aspx</link><pubDate>Mon, 06 Jul 2009 16:11:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1901</guid><dc:creator>BillL</dc:creator><slash:comments>1</slash:comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;In this sample,&amp;nbsp;Melody modified the proxy to include an entry point for the CDocDrawing class (the CDocDrawing class was also modified to include events which become disassociated with ProxyGen- &lt;/span&gt;&lt;a href="http://www.summsoft.com/blogs/vstaqa/archive/2009/06/22/proxygen-has-an-inheritance-issue-with-com-hosts.aspx"&gt;&lt;span style="color:#800080;"&gt;&lt;span style="font-family:Calibri;"&gt;see this blog for related info on this bug&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family:Calibri;"&gt;) and the HostItemProvider to expose the CDocDrawing type.&amp;nbsp;&amp;nbsp;Melody also created a template for document level add-ins and used the template to create a sample add-in, ShapeAppMFCDocAddIn1.&amp;nbsp; Here is a link to the sample: &lt;a href="http://www.summsoft.com/media/p/1903/download.aspx" title="ShapeAppBasicMFC with DocEP"&gt;ShapeAppBasicMFC with DocEP&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&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:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;To use this sample:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;1)&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Remove the old proxy from the GAC by deleting or uninstalling C:\Windows\assembly\Proxy&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;2)&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Remove any VSTA v 1 add-in assemblies by deleting %MyDocuments%\ShapeAppMFC&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;3)&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Run the included setup file to register the host and updated templates (SetupShapeAppAdvancedMFC.js)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;4)&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Build the ShapeAppAdvancedMFC.sln solution, this includes the document level sample add-in.&amp;nbsp; This will register the updated proxy in the GAC and build the add-in assembly.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;5)&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Run the sample and notice the message box and shape added from the document level add-in.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&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:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Here are the changes&amp;nbsp;Melody made to add this functionality:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;1)&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;HostItemProvider&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Unchanged code excluded&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;internal&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;class&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;HostItemProvider&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; : &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;IHostItemProvider&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; HostItemProvider(ShapeApp.Proxy.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Application&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; application)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//SUMMIT- add drawing level HIP&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//store the active drawing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.drawing = application.ActiveDrawing;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;object&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; GetHostObject(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Type&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; primaryType, &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;string&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; primaryCookie)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//Check if primaryType is supported.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;else&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;if&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (primaryType == &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;typeof&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;(ShapeApp.Proxy.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;CDrawingDoc&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//SUMMIT- add drawing level HIP&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// update the drawing to ensure the current active drawing is returned&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.drawing = application.ActiveDrawing;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;return&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.drawing;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//SUMMIT- add drawing level HIP&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//store the active drawing&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;private&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; ShapeApp.Proxy.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;CDrawingDoc&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; drawing;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;}&lt;/span&gt;&lt;span style="color:#1f497d;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-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:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&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:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;2)&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Proxy and descriptor file&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Descriptor file:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Class&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;originalFullyQualifiedName&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;ShapeApp.Proxy.CDrawingDoc&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;GUID&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;6CBD1873-21F4-4386-B9BA-62555B7BCC12&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;SourceInterfaceGUID&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;CB42B8DA-44B1-4AAA-AFCC-7AFF84A5A481&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;isExcluded&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;false&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;b&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;isAddInEntryPoint&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;=&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;true&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;b&gt;&lt;span style="text-decoration:underline;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Proxy File:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;partial&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;class&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;CDrawingDocEntryPoint&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; : &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;global&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;::Microsoft.VisualStudio.Tools.Applications.Runtime.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;IExtendedEntryPoint&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;/*entry point class code*/&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;}&lt;/span&gt;&lt;span style="color:#1f497d;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-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:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&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:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;3)&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Template&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;AppAddIn.designer.xml:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#ff0000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;hostitem:baseType&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;=&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;ShapeApp.Proxy.CDrawingDocEntryPoint&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&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:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;misc changes to vstemplate file for updated project name and description&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&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:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;4)&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#1f497d;font-size:12pt;mso-fareast-font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;Add-in&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#1f497d;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;span style="font-family:Calibri;"&gt;No code changes required based on updated template, here is the code from the add-in&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;private&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;void&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; AppAddIn_Startup(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;object&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; sender, &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;EventArgs&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; e)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Windows.Forms.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#2b91af;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;MessageBox&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.Show(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#a31515;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;Document level add-in loaded&amp;quot;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.Shapes.Add(&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;this&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.Application.AvailableShapes[0].Clone());&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#000000;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/span&gt;&lt;span style="color:#1f497d;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=1901" width="1" height="1"&gt;</description><enclosure url="ftp://ftp.summsoft.com/vsta/ShapeAppBasicMFC_w_DocEP.zip" length="-1" type="application/x-compressed" /><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/Document+Entry+Point/default.aspx">Document Entry Point</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/ShapeAppBasicMFC/default.aspx">ShapeAppBasicMFC</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/ShapeAppAdvancedMFC/default.aspx">ShapeAppAdvancedMFC</category></item><item><title>Chapter Three: MEF</title><link>http://www.summsoft.com/blogs/vstanewbie/archive/2009/07/02/chapter-three-mef2.aspx</link><pubDate>Thu, 02 Jul 2009 17:20:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1900</guid><dc:creator>BillL</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;For chapter three, I will be introducing a framework from Microsoft called the Managed Extensibility Framework, or MEF (&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;color:#800080;"&gt;&lt;a target="_blank" href="http://mef.codeplex.com/" title="MEF on CodePlex"&gt;MEF on CodePlex&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;,&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a target="_blank" href="http://msdn.microsoft.com/en-us/library/dd460648(VS.100).aspx" title="MEF on MSDN"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;color:#800080;"&gt;MEF on MSDN&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt; ). If you are not familiar with MEF, you will certainly get more out of this post if you read the MEF overview and programming guide (&lt;a title="MEF Overview" target="_blank" href="http://mef.codeplex.com/Wiki/View.aspx?title=Overview"&gt;MEF Overview&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;, &lt;/span&gt;&lt;/span&gt;&lt;a title="MEF Guide" target="_blank" href="http://mef.codeplex.com/Wiki/View.aspx?title=Guide"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;color:#800080;"&gt;MEF Guide&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="line-height:200%;font-size:12pt;"&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%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Now I will give a synopsis of what has changed in my code since the last revision. If you would like to look at my code, please download the attached file: &lt;a target="_blank" href="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.19.00/Contact_5F00_Manager_5F00_with_5F00_AddIn_5F00_MEF.zip" title="Updated Sample with MEF"&gt;Updated Sample with MEF&lt;/a&gt;&lt;/span&gt;&lt;/span&gt; &lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;First, notice the Imports statements at the top of ContactClass.vb: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; System.ComponentModel.Composition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; System.ComponentModel.Composition.Hosting&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; System.ComponentModel.Composition.ImportAttribute&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; InterfaceLibrary&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;The top three statements import parts of the MEF library, and the bottom one is for the Interface Library, which we will get to a little later. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;These next two methods are where ContactClass utilizes MEF:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;"&gt;&lt;span style="font-size:small;"&gt;&amp;#39;Imports the an Instance of the IAddIn interface.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&amp;lt;Import(AllowDefault:=&lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;, AllowRecomposition:=&lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;)&amp;gt; _ &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;Public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt; IContactAddIn &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;Called by the ContactApp class&amp;#39;s ContactApp_Load() method; asks if the user wants to run the App in script mode. The method then stores the user&amp;#39;s response in a boolean variable, &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;and, if the user&amp;#39;s answer was yes, the method calls the Connect Method on the IContactAddIn Interface and passes in ContactClass.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; AppLoad()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;UpdateDataset()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; MBResult = MsgBox _ &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;(&lt;span style="color:#a31515;"&gt;&amp;quot;Would you like to run this program from Script?&amp;quot;&lt;/span&gt; + _ Environment.NewLine + &lt;span style="color:#a31515;"&gt;&amp;quot;(If Yes, the Interface will be hidden.)&amp;quot;&lt;/span&gt;, _ MsgBoxStyle.YesNo)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Select&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; MBResult&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; MsgBoxResult.Yes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ScriptBool = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="mso-tab-count:3;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;Compose()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;If&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Not&lt;/span&gt; IContactAddIn &lt;span style="color:#0000ff;"&gt;Is&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Nothing&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;IContactAddIn.Connect(&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MessageBox.Show(&lt;span style="color:#a31515;"&gt;&amp;quot;No script to run.&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ContactApp.Close()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; MsgBoxResult.No&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ScriptBool = &lt;span style="color:#0000ff;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;Creates a Catalog from Assemblies in the AddIns directory, then creates a Container and creates a batch to add parts, and Composes these.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Compose()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Catalog &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; DirectoryCatalog(&lt;span style="color:#a31515;"&gt;&amp;quot;AddIns&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Container &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; CompositionContainer(Catalog)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; Batch &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; CompositionBatch()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Batch.AddPart(&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Container.Compose(Batch)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-family:Calibri;"&gt;The top &amp;lt;Import&amp;gt; statement tells MEF that ContactClass wants an IContactAddIn, and the AllowDefault parameter prevents an exception if no Add-In exists. The AllowRecomposition parameter allows MEF to look for an AddIn whenever the container is composed or refreshed.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-family:Calibri;"&gt;The Appload method now calls a method called Compose. The Compose method creates a catalog, a container and a batch and composes them. (For a description of these, please see the &lt;a title="MEF Overview" target="_blank" href="http://mef.codeplex.com/Wiki/View.aspx?title=Overview"&gt;MEF Overview&lt;/a&gt;&amp;nbsp;and the wiki section on &lt;a target="_blank" href="http://mef.codeplex.com/Wiki/View.aspx?title=Composition%20Batch&amp;amp;referringTitle=Home"&gt;Composition Batch&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&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%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;If MEF finds a suitable AddIn, AppLoad calls its Connect method and passes in ContactClass. If MEF doesn&amp;rsquo;t find an AddIn, the program closes without issue. Remember that the program only uses an AddIn if the user selects to run the program in script mode.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;You may be wondering how the App and the AddIn communicate. The answer is found in the Interface Library: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&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:&amp;#39;Courier New&amp;#39;;color:#008000;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;#39;The Interface for ContactClass.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt; IContactClass&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; ContactArray()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Delegate&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; ContactEventHandler(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; ca &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactEventArgs)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Delegate&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; ActionEventHandler()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; AddedContact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ContactEventHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; DeletedContact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ContactEventHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; EditedContact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ContactEventHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; ContactsPrinted &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ActionEventHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; AddError &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ContactEventHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; DeleteError &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ContactEventHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; EditOldError &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ContactEventHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; EditNewError &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ContactEventHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; ContactsPrintedError &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ActionEventHandler&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt; CreateNewContactObj() &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactObj&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; AddContact(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; Contact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactObj)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; DeleteContact(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; Contact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactObj)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; EditContact(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; OldContact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactObj, _ &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;ByVal&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; NewContact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactObj)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; PrintList()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;#39;The interface for the ContactEventArgs in ContactClass.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt; IContactEventArgs&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; Contact() &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactObj&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;#39;The Interface for ContactObj.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt; IContactObj&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; FirstName()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; LastName()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; HomePhone()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; CellPhone()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; WorkPhone()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Property&lt;/span&gt; Email()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;#39;The Interface for the AddIn.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt; IAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Connect(&lt;span style="color:#0000ff;"&gt;ByRef&lt;/span&gt; TheContact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactClass)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt;&lt;/span&gt;&lt;span style="mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-family:Calibri;"&gt;The Interface Library provides the language with which the App and the Add-In speak to each other. It acts as a blueprint for what is contained in the App and the AddIn, and allows them both to communicate without holding design-time references to each other.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&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%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-family:Calibri;"&gt;Now let&amp;rsquo;s look at the AddIn itself. &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&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-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; System.IO&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; System.ComponentModel.Composition&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;Imports&lt;/span&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt; InterfaceLibrary&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;#39;This class is only used when the user runs the App in script mode.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;lt;Export(&lt;span style="color:#0000ff;"&gt;GetType&lt;/span&gt;(IAddIn))&amp;gt; &lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Class&lt;/span&gt; ContactAuto&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; MyContactClass &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactClass&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; MyArray &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; Array&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; stwr &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; StreamWriter(&lt;span style="color:#a31515;"&gt;&amp;quot;Log.txt&amp;quot;&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; AllContactsNormalized()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Event&lt;/span&gt; ContactsNormalizedError()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;Gets an instance of ContactClass and creates an instance of an array that is in that class. It also creates the log file.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Connect(&lt;span style="color:#0000ff;"&gt;ByRef&lt;/span&gt; TheContact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IContactClass) &lt;span style="color:#0000ff;"&gt;Implements&lt;/span&gt; IAddIn.Connect&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MyContactClass = TheContact&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;MyArray = MyContactClass.ContactArray&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;stwr.AutoFlush = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Run()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-family:Calibri;"&gt;Notice the Export statement, and how its specified type matches that of the Import statement in ContactClass. When MEF looks in the AddIns folder, it will add this to the catalog, and the container will match it with the Import statement in ContactClass.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&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%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-family:Calibri;"&gt;Here is a diagram of how the whole Application works: &lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;img height="127" width="509" src="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.97.71/MEF-Diagram.png" alt="" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-ascii-theme-font:minor-latin;mso-hansi-font-family:Calibri;mso-hansi-theme-font:minor-latin;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;ContactAuto references the Interface Library, as does ContactClass, but The Interface Library does not reference either of them,. If ContactAuto exists, ContactClass calls its Connect method, which it knows about through the Interface library.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;This design allows the AddIn to be free of the Application, and allows a programmer to alter the AddIn without altering the main program. All any new Add-Ins would have to do is reside in the right folder, have a Connect method, and specify an export statement. MEF provides this excellent way of discovering AddIns, and allows for a great amount of Application extensibility. There is a possibility for MEF use in a VSTA integration, so I would encourage you to experiment with this new concept.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&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%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=1900" width="1" height="1"&gt;</description><enclosure url="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.19.00/Contact_5F00_Manager_5F00_with_5F00_AddIn_5F00_MEF.zip" length="1852175" type="application/x-zip-compressed" /><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/add-in/default.aspx">add-in</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/MEF/default.aspx">MEF</category></item><item><title>Chapter Two: Loading Add-ins</title><link>http://www.summsoft.com/blogs/vstanewbie/archive/2009/06/29/chapter-two-loading-add-ins.aspx</link><pubDate>Mon, 29 Jun 2009 14:34:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1893</guid><dc:creator>BillL</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;Here is the second chapter in my integration journey. If you have not looked at the &lt;a target="_blank" href="http://www.summsoft.com/blogs/vstanewbie/archive/2009/06/18/chapter-one-a-sample-program-and-inversion-of-control.aspx"&gt;first blog post&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;, it would be a good idea to look there first, because that post will explain the application I am working with and my idea behind it.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;First, let&amp;rsquo;s look at a few things that have changed since my first app. If you open the &lt;a target="_blank" href="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.18.93/Contact-Manager-with-AddIn-_2800_Loadassembly_2900_.zip"&gt;attached .zip file&lt;/a&gt;, you will notice that I have separated the ContactClass and ContactObj classes into their own files. The largest change to this app by far, however, is the way the script (which I will refer to as an Add-In) loads and runs. You may recall that the app formerly had the script file right in the project. For this app revision, the script runs entirely from a .dll file (VB class library). I can do this now, because the main app no longer has to reference the script file. The script file must reference the main app, but not the other way around. Let me show you how I did this:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;IAddIn.vb:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#008000;font-size:10pt;mso-no-proof:yes;"&gt;&amp;#39;Defines an interface with which to connect to the addin.&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;Public&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt; IAddIn&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; Connect(&lt;span style="color:#0000ff;"&gt;ByRef&lt;/span&gt; TheContact &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; ContactClass)&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;End&lt;/span&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;font-size:10pt;mso-no-proof:yes;"&gt; &lt;span style="color:#0000ff;"&gt;Interface&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;font-size:10pt;mso-no-proof:yes;"&gt;&lt;span style="mso-tab-count:1;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-family:Calibri;"&gt;ContactClass.vb:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#008000;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;#39;Called by the ContactApp class&amp;#39;s ContactApp_Load() method; asks if the user wants to run the app in script mode. The method then stores the user&amp;#39;s response in a boolean variable, and, if the user&amp;#39;s answer was yes, the method calls the LoadAddin method and passes in the name of the addin file and the name of the addin class.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Public&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt; AppLoad()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;UpdateDataset()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; MBResult = MsgBox(&lt;span style="color:#a31515;"&gt;&amp;quot;Would you like to run this program from Script?&amp;quot;&lt;/span&gt; + Environment.NewLine + &lt;span style="color:#a31515;"&gt;&amp;quot;(If Yes, the Interface will be hidden.)&amp;quot;&lt;/span&gt;, MsgBoxStyle.YesNo)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Select&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; MBResult&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; MsgBoxResult.Yes&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ScriptBool = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;LoadAddin(&lt;span style="color:#a31515;"&gt;&amp;quot;AddIns/ContactAuto.dll&amp;quot;&lt;/span&gt;, &lt;span style="color:#a31515;"&gt;&amp;quot;ContactAuto.ContactAuto&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ContactApp.Close()&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Case&lt;/span&gt; MsgBoxResult.No&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;ScriptBool = &lt;span style="color:#0000ff;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Select&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Sub&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39;Loads the specified addin and runs its connect method.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Private&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt; LoadAddin(&lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; addinPath &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt;, &lt;span style="color:#0000ff;"&gt;ByVal&lt;/span&gt; startUpClass &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt;) &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IAddIn&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; assemStream() &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Byte&lt;/span&gt; = &lt;span style="color:#0000ff;"&gt;Nothing&lt;/span&gt;, pdbStream() &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Byte&lt;/span&gt; = &lt;span style="color:#0000ff;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Using&lt;/span&gt; fs &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; FileStream(addinPath, FileMode.Open)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assemStream = &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Byte&lt;/span&gt;(fs.Length) {}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;fs.Read(assemStream, 0, &lt;span style="color:#0000ff;"&gt;CType&lt;/span&gt;(fs.Length, &lt;span style="color:#0000ff;"&gt;Integer&lt;/span&gt;))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; pdbPath &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;String&lt;/span&gt; = Path.Combine(Path.GetDirectoryName(addinPath), Path.GetFileNameWithoutExtension(addinPath) + &lt;span style="color:#a31515;"&gt;&amp;quot;.pdb&amp;quot;&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; hasPdb &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Boolean&lt;/span&gt; = &lt;span style="color:#0000ff;"&gt;False&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;If&lt;/span&gt; File.Exists(pdbPath) &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Using&lt;/span&gt; fs &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; FileStream(pdbPath, FileMode.Open)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;pdbStream = &lt;span style="color:#0000ff;"&gt;New&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Byte&lt;/span&gt;(fs.Length) {}&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;fs.Read(pdbStream, 0, &lt;span style="color:#0000ff;"&gt;CType&lt;/span&gt;(fs.Length, &lt;span style="color:#0000ff;"&gt;Integer&lt;/span&gt;))&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;hasPdb = &lt;span style="color:#0000ff;"&gt;True&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Using&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;Debug.WriteLine(&lt;span style="color:#a31515;"&gt;&amp;quot;Cannot find the pdb file: &amp;quot;&lt;/span&gt; + pdbPath)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; assem &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; System.Reflection.Assembly&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;If&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Not&lt;/span&gt; hasPdb &lt;span style="color:#0000ff;"&gt;Then&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assem = Assembly.Load(assemStream)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Else&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;assem = Assembly.Load(assemStream, pdbStream)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;If&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;color:#0000ff;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; t &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; Type = assem.GetType(startUpClass)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Dim&lt;/span&gt; addin &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; IAddIn = &lt;span style="color:#0000ff;"&gt;CType&lt;/span&gt;((System.Activator.CreateInstance(t)), IAddIn)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;addin.Connect(&lt;span style="color:#0000ff;"&gt;Me&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; addin&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Catch&lt;/span&gt; ex &lt;span style="color:#0000ff;"&gt;As&lt;/span&gt; Exception&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#008000;"&gt;&amp;#39; Do not let error of this Add-in affect others&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Diagnostics.Trace.WriteLine(ex.ToString())&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;System.Diagnostics.Debug.Assert(&lt;span style="color:#0000ff;"&gt;False&lt;/span&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;Return&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Nothing&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Try&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;span style="mso-spacerun:yes;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="color:#0000ff;"&gt;End&lt;/span&gt; &lt;span style="color:#0000ff;"&gt;Function&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;Direct your attention first up to the IAddIn interface. You can see that all it references is the Connect method in ContactAuto. This interface provides a sort of bridge between the ContactAuto class library and the main application. Now look at the AppLoad method. Notice that it calls a method by the name of LoadAddIn and specifies two parameters. This LoadAddIn method is a part of a VSTA design-time-only integration and is the core to the whole scripting process in this app. All that the AppLoad method needs to do is call the LoadAddIn method and pass it the path to the .dll file (class library) and the class in the library in which to start. Once the method loads and parses the .dll file, it will call the Connect method in the IAddIn interface. The app does not need to reference the script library, it just knows how to load a certain file out of a certain directory, and call the Connect method on it through the IAddIn interface. The Add-In must still hold a reference to the main app, so it can call the app&amp;rsquo;s methods and handle the app&amp;rsquo;s events, but the Add-In can be separate from the app. The app does not have to know anything about it other than where it is, one of its classes, and that it has a Connect method. Here is a simple diagram of how ContactClass, IAddIn, and ContactAuto interact:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;img src="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.97.71/AddIn-Diagram.png" alt="" /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal" align="center"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-no-proof:yes;"&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;ContactAuto references ContactClass, but ContactClass does not reference ContactAuto. If ContactAuto exists, ContactClass calls its Connect method through the IAddIn interface.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;This design allows the Add-In to be free of the application, and allows a programmer to alter the Add-In without altering the main program. All any new Add-Ins would have to do is reside in the right folder, and have a Connect method and a class that is the same name as the one specified in the start-up class parameter of LoadAddIn. This is one way of discovering and loading Add-Ins. I will be showing you a different, even more &amp;ldquo;Loosely Coupled&amp;rdquo; way in my next post. &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=1893" width="1" height="1"&gt;</description><enclosure url="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.PostAttachments/00.00.00.18.93/Contact-Manager-with-AddIn-_2800_Loadassembly_2900_.zip" length="4089345" type="application/x-zip-compressed" /><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/add-in/default.aspx">add-in</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/integration/default.aspx">integration</category><category domain="http://www.summsoft.com/blogs/vstanewbie/archive/tags/VSTA/default.aspx">VSTA</category></item><item><title>Hang-ups during in-process debugging.</title><link>http://www.summsoft.com/blogs/vstaqa/archive/2009/06/22/hang-ups-during-in-process-debugging.aspx</link><pubDate>Mon, 22 Jun 2009 17:48:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1875</guid><dc:creator>BillL</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;b style="mso-bidi-font-weight:normal;"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;Here is Microsoft&amp;rsquo;s workaround for the problem hang-ups during in-process debugging:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;ldquo;The idea is that we want to wait for the type &amp;ndash;registering threads to finish before we call addin.FinishInitialization.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;What I did is to record the number of threads in the process before we activate add-in. After addin.Initialize (when the type-registering happens), I&amp;rsquo;ll track the thread number going up and down. When the thread number is exactly 1 + pre-addin-load number, I know the type registering is done. The workaround kicks in only during debugging. With the workaround, the problem goes away as I tried (note some time you may need to wait a while, as long as several seconds, for the break point to hit.)&amp;hellip;&amp;rdquo;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;private&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;IEntryPoint&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; LoadAddIn(&lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;string&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; addInPath, &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;string&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; startUpClass, &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;AddInProcess&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; addInProcess)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;try&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//Start Workaround for AddIn_Startup debug hanging problem&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Used to keep track the type registering threads.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;int&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; threadCountBeforeLoadingAddIn = &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Process&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.GetCurrentProcess().Threads.Count;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// End Workaround&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-family:&amp;#39;Times New Roman&amp;#39;,&amp;#39;serif&amp;#39;;color:#000000;font-size:12pt;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Search for the AddIn at the given location and make sure that it has &lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// the same Startup class. Also make sure that we can load this Addin&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// using the default VSTA pipeline. This function will return a token&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// to the AddIn which can be later on used to actually load the AddIn.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Collection&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;lt;&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;AddInToken&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;gt; addInToken = &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;AddInStore&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.FindAddIn(&lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;typeof&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;(&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;IEntryPoint&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;), &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;AddInStoreExtensions&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.DefaultPipelinePath, addInPath, startUpClass);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Assert the AddIn is valid.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Debug&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.Assert(addInToken.Count &amp;gt;= 1);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// If the AddIn is not valid then return false.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;if&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (addInToken.Count == 0)&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;return&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;null&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;IEntryPoint&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; addIn = &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;null&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Using the Token returned above, load the AddIn. This will create an&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// instance of AddIn EntryPoint class to activate the AddIn.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;if&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (addInProcess == &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;null&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Load the AddIn in the same process as the host.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addIn = addInToken[0].Activate&amp;lt;&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;IEntryPoint&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;gt;(&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;AddInSecurityLevel&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.FullTrust);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;else&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Load the AddIn in external process.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addIn = addInToken[0].Activate&amp;lt;&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;IEntryPoint&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;gt;(addInProcess, &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;AddInSecurityLevel&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.FullTrust);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Initialize AddIn by calling into functions of the AddIn EntryPoint instance.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addIn.Initialize(&lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;this&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.serviceProvider);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//Start Workaround for AddIn_Startup debug hanging problem&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Make sure the type-registering thread is started.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;int&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; timesToTry = 50; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// 5 seconds;&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;bool&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; typeRegisteringThreadStarted = &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;false&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;while&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; ((timesToTry--) &amp;gt; 0 &amp;amp;&amp;amp; System.Diagnostics.&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Debugger&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.IsAttached)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;int&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; count = &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Process&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.GetCurrentProcess().Threads.Count;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;if&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (count &amp;gt;= threadCountBeforeLoadingAddIn + 2)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; typeRegisteringThreadStarted = &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;true&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Debug&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="line-height:200%;color:#a31515;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;typeRegisteringThreadStartedt: true&amp;quot;&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;break&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Thread&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.Sleep(100);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//End Workaround&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addIn.InitializeDataBindings();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;//Start Workaround for AddIn_Startup debug hanging problem&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; timesToTry = 50;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;while&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; ((timesToTry--) &amp;gt; 0 &amp;amp;&amp;amp; System.Diagnostics.&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Debugger&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.IsAttached)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// assume the addin startup does not create new threads.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;int&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; count = &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Process&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.GetCurrentProcess().Threads.Count;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;if&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (count == threadCountBeforeLoadingAddIn + 1 &amp;amp;&amp;amp; typeRegisteringThreadStarted)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;break&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;else&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;if&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (count &amp;gt; threadCountBeforeLoadingAddIn + 1)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; typeRegisteringThreadStarted = &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;true&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Debug&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.WriteLine(&lt;/span&gt;&lt;span style="line-height:200%;color:#a31515;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;quot;thread count: &amp;quot;&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; + count);&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Thread&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.Sleep(100);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// End Workaround&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; addIn.FinishInitialization();&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Return the loaded AddIn.&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;return&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; addIn;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;catch&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; (&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Exception&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; ex)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#008000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;// Do not let error of this AddIn affect others&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Trace&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.WriteLine(ex.ToString());&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; System.Diagnostics.&lt;/span&gt;&lt;span style="line-height:200%;color:#2b91af;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;Debug&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;.Assert(&lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;false&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;);&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;return&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt; &lt;/span&gt;&lt;span style="line-height:200%;color:#0000ff;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;null&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Courier New&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="line-height:200%;color:#000000;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;color:#000080;font-size:12pt;mso-bidi-font-family:&amp;#39;Times New Roman&amp;#39;;mso-ascii-font-family:Calibri;mso-hansi-font-family:Calibri;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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;font-size:small;"&gt;&amp;nbsp;&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=1875" 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/in-process+debugging/default.aspx">in-process debugging</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/AddIn/default.aspx">AddIn</category></item><item><title>Building  and deploying a product that uses PIAs.</title><link>http://www.summsoft.com/blogs/vstaqa/archive/2009/06/22/building-and-deploying-a-product-that-uses-pias.aspx</link><pubDate>Mon, 22 Jun 2009 17:17:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1874</guid><dc:creator>BillL</dc:creator><slash:comments>0</slash:comments><description>&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#6585a9;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&lt;em&gt;Q&lt;/em&gt;:&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#6585a9;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#6585a9;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;My program uses about a dozen PIAs with built with tlbimp and needs about half of them installed with gacutil. Is the following&amp;nbsp;usage scenario correct?&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;&lt;span style="font-family:Calibri;color:#6585a9;font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#6585a9;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1.&amp;nbsp;My colleagues who build my product&amp;nbsp;would only need to do the tlbimp steps in order to generate a build.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#6585a9;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&amp;nbsp;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&lt;strong&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2. On our customer machines, we&amp;#39;d install the various PIA DLLs (built in #1)&amp;nbsp;in the setup process and run gacutil to register them.&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-size:small;"&gt;&lt;em&gt;A&lt;/em&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;Correct&amp;nbsp;on both counts.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&gt;&lt;span style="font-size:small;"&gt;&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#6585a9;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;mso-fareast-font-family:&amp;#39;Times New Roman&amp;#39;;"&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=1874" width="1" height="1"&gt;</description><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/GacUtil/default.aspx">GacUtil</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/PIA/default.aspx">PIA</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/tlbimp/default.aspx">tlbimp</category></item><item><title>ProxyGen has an inheritance issue with COM hosts.</title><link>http://www.summsoft.com/blogs/vstaqa/archive/2009/06/22/proxygen-has-an-inheritance-issue-with-com-hosts.aspx</link><pubDate>Mon, 22 Jun 2009 15:05:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1873</guid><dc:creator>BillL</dc:creator><slash:comments>0</slash:comments><description>&lt;p&gt;&lt;span style="LINE-HEIGHT:200%;FONT-SIZE:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;strong&gt;&lt;em&gt;Q&lt;/em&gt;:&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:200%;FONT-SIZE:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;strong&gt;When working with a COM host, such as the ShapeAppMFC sample included in the SDK, ProxyGen creates descriptor and proxy files which do not expose events due to the inheritance structure.&amp;nbsp; Three types are generated for a class: the classType, IClassType, and _IClassTypeEvents.&amp;nbsp; The classType implements both IClassType and _IClassTypeEvents.&amp;nbsp; IClassType is the type passed between the proxy and host; however, IClassType does not implement _IClassTypeEvents- therefore the events are not accessible to VSTA add-ins. How can I make them accessible?&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:200%;FONT-SIZE:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="LINE-HEIGHT:200%;FONT-SIZE:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;
&lt;p&gt;&lt;/p&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;em&gt;A&lt;/em&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&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%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;With COM hosts, descriptor or proxy files must be manually modified to add the inheritance of the _IClassTypeEvents to the IClassType to expose events to VSTA add-ins.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;(Also see &lt;a target="_blank" href="http://www.summsoft.com/blogs/vstaqa/archive/2009/06/05/inheritance-for-com-apps-in-proxygen.aspx"&gt;this blog post&lt;/a&gt;)&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;Included in &lt;a target="_blank" href="http://www.summsoft.com/media/p/1355.aspx"&gt;AutoProxyGen&lt;/a&gt;&amp;nbsp;is a VSTA addin AutoProxyGen_ShapeAppMFC_InheritenceFix that can help you with this, or you can follow these steps:&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;Add the inheritance of the _IDrawingEvents to the IDrawing type in the proxy&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;Alternative:&amp;nbsp; Use ProxyGen to create the descriptor file and add the inheritance of the _IDrawingEvents to the IDrawing type prior to using ProxyGen to create the proxy file.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;Rebuild the sample host.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="line-height:200%;font-size:12pt;mso-fareast-font-family:Calibri;mso-bidi-font-family:Calibri;"&gt;&lt;span style="mso-list:Ignore;"&gt;&lt;span style="font-family:Calibri;"&gt;You can now&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="line-height:200%;font-size:12pt;"&gt;&lt;span style="font-family:Calibri;"&gt;&amp;nbsp;hook into an event of the active drawing because the events are exposed through the IDrawing type.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp; &lt;/p&gt;
&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Proxy file w/ inheritance added:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;img src="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.97.71/addinevents.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Alternative- descriptor file w/ inheritance added:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.97.71/inhadd.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;Sample add-in w/ events for drawing accessible:&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&lt;span style="font-family:Calibri;font-size:small;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src="http://www.summsoft.com/cfs-file.ashx/__key/CommunityServer.Components.UserFiles/00.00.00.97.71/desc.jpg" alt="" /&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class="MsoListParagraph"&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=1873" 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/com/default.aspx">com</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/Proxygen/default.aspx">Proxygen</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/ShapeAppMFC/default.aspx">ShapeAppMFC</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/autoproxygen/default.aspx">autoproxygen</category></item><item><title>Custom Editors in VSTA</title><link>http://www.summsoft.com/blogs/vstaqa/archive/2009/06/19/custom-editors-in-vsta.aspx</link><pubDate>Fri, 19 Jun 2009 20:09:00 GMT</pubDate><guid isPermaLink="false">ff090588-e3d7-4538-8ee9-e75ea04444bb:1868</guid><dc:creator>BillL</dc:creator><slash:comments>1</slash:comments><description>&lt;p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-size:small;"&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:#000000;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;span style="font-size:small;"&gt;
&lt;p&gt;&lt;em&gt;&lt;b&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Q&lt;/span&gt;&lt;/b&gt;&lt;/em&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Would it be possible for me to create a Custom Editor using VSPackage and then use it with VSTA?&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;nbsp;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;nbsp;
&lt;p&gt;&lt;em&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;A&lt;/span&gt;&lt;/em&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;:&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;gt;&amp;gt; Would it be possible for me to create a Custom Editor using VSPackage&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Yes.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&amp;gt;&amp;gt;and then use it with VSTA?&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;No.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;However, you should be able to create ToolWindows in VSTA using an In-Process Host and &amp;#39;CreateToolWindow&amp;#39; off the DTE.&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family:&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;Also, with VSTA, you could create a custom editor in a host application and&amp;nbsp;use VSTA&amp;#39;s DTE to generate&amp;nbsp;(DOM or CodeModel), compile,&amp;nbsp;and run&amp;nbsp;VB or&amp;nbsp;C# code hidden behind the host application or alongside it.&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;font face="&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;" color="#000000" style="mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;&lt;font size="3" style="font-size:small;"&gt;
&lt;p&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;span style="font-family:&amp;#39;Verdana&amp;#39;,&amp;#39;sans-serif&amp;#39;;color:black;font-size:13pt;"&gt;&lt;/span&gt;&lt;/p&gt;
&lt;/span&gt;&lt;font face="&amp;#39;Calibri&amp;#39;,&amp;#39;sans-serif&amp;#39;" color="#000000" style="mso-bidi-font-family:Arial;mso-ascii-theme-font:minor-latin;mso-hansi-theme-font:minor-latin;"&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div style="clear:both;"&gt;&lt;/div&gt;&lt;img src="http://www.summsoft.com/aggbug.aspx?PostID=1868" 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/Custom+editor/default.aspx">Custom editor</category><category domain="http://www.summsoft.com/blogs/vstaqa/archive/tags/VSPackage/default.aspx">VSPackage</category></item></channel></rss>