<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>BizTalk</title>
        <link>http://geekswithblogs.net/cmcneill/category/1477.aspx</link>
        <description>BizTalk</description>
        <language>en-GB</language>
        <copyright>Campbell McNeill</copyright>
        <managingEditor>me@campbellmcneill.com</managingEditor>
        <generator>Subtext Version 0.0.0.0</generator>
        <item>
            <title>Patching issue on SQL 2000 breaking BizTalk Deployment.</title>
            <link>http://geekswithblogs.net/cmcneill/archive/2007/03/21/109378.aspx</link>
            <description>Had this issues when I tried to deploy a BizTalk 2004 assembly to a recently patched SQL 2000 SP4 Instance:
&lt;p&gt;
[Microsoft.BizTalk.Deployment.DeploymentException] [System.Data.SqlClient.SqlException] Failed to load msxmlsql.dll. [System.Data.SqlClient.SqlException] Failed to load msxmlsql.dll. 
&lt;/P&gt;
&lt;p&gt;
A few sites pointed to potential fixes but these appeared to be red herrings. In the end our DBA re-applied SP4 and the issue was cleared up. Most bizarre. Will teach us to deploy security updates so quickly!
&lt;/P&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109378"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=109378" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cmcneill/aggbug/109378.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Campbell McNeill</dc:creator>
            <guid>http://geekswithblogs.net/cmcneill/archive/2007/03/21/109378.aspx</guid>
            <pubDate>Wed, 21 Mar 2007 16:24:00 GMT</pubDate>
            <comments>http://geekswithblogs.net/cmcneill/archive/2007/03/21/109378.aspx#feedback</comments>
            <slash:comments>4</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cmcneill/comments/commentRss/109378.aspx</wfw:commentRss>
        </item>
        <item>
            <title>NAnt Deployment and Log4net for BizTalk</title>
            <link>http://geekswithblogs.net/cmcneill/archive/2005/08/12/49993.aspx</link>
            <description>
All, Just to let you know that Scott Colestock has released new versions of many of his very useful tools.
&lt;p&gt;
Someone I know gets a notable mention with the log4net stuff too ;)&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=49993"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=49993" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cmcneill/aggbug/49993.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Campbell McNeill</dc:creator>
            <guid>http://geekswithblogs.net/cmcneill/archive/2005/08/12/49993.aspx</guid>
            <pubDate>Fri, 12 Aug 2005 16:46:00 GMT</pubDate>
            <comments>http://geekswithblogs.net/cmcneill/archive/2005/08/12/49993.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cmcneill/comments/commentRss/49993.aspx</wfw:commentRss>
        </item>
        <item>
            <title>A noteable mention to Scott Colestock</title>
            <link>http://geekswithblogs.net/cmcneill/archive/2005/07/06/45585.aspx</link>
            <description>&lt;p&gt;
I'd like to take a moment to blog about the excellent work Scott Colestock is doing with regards to BizTalk supplemental tools&lt;/p&gt;

&lt;p&gt;I've been working with both his Nant deployment script and his implementation of Log4net. Both are absolutly must haves for the BizTalk developer. If you haven't checked this stuff out then I sincerely hope that you do. Your life will be better with it!&lt;/p&gt;

&lt;p&gt;I even updated his Log4net library to use the latest version. Hope he gets it up on his site soon&lt;/p&gt;

&lt;P&gt;Many thanks for your good work Scott. Check him out at &lt;a href="http://www.traceofthought.net"&gt;Trace of Thought&lt;/a&gt;&lt;/p&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=45585"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=45585" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cmcneill/aggbug/45585.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Campbell McNeill</dc:creator>
            <guid>http://geekswithblogs.net/cmcneill/archive/2005/07/06/45585.aspx</guid>
            <pubDate>Thu, 07 Jul 2005 03:40:00 GMT</pubDate>
            <comments>http://geekswithblogs.net/cmcneill/archive/2005/07/06/45585.aspx#feedback</comments>
            <wfw:commentRss>http://geekswithblogs.net/cmcneill/comments/commentRss/45585.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Useful BizTalk FAQ</title>
            <link>http://geekswithblogs.net/cmcneill/archive/2005/07/04/45365.aspx</link>
            <description>Enjoy:


&lt;a href="http://www.netologi.se/default.aspx?Contents=BizTalkFAQ"&gt;http://www.netologi.se/default.aspx?Contents=BizTalkFAQ&lt;/a&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=45365"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=45365" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cmcneill/aggbug/45365.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Campbell McNeill</dc:creator>
            <guid>http://geekswithblogs.net/cmcneill/archive/2005/07/04/45365.aspx</guid>
            <pubDate>Mon, 04 Jul 2005 20:48:00 GMT</pubDate>
            <comments>http://geekswithblogs.net/cmcneill/archive/2005/07/04/45365.aspx#feedback</comments>
            <slash:comments>2</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cmcneill/comments/commentRss/45365.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Adding / Removing a BizTalk Adapter using a Custom Action</title>
            <link>http://geekswithblogs.net/cmcneill/archive/2005/04/05/28336.aspx</link>
            <description>Just been working on getting a BizTalk adapter to install using windows installer. I used the adpater wizard to create the adapter, which kindly provides a nice .reg file to handle the registry stuff. This is nice and easy to use in conjunction with the registry editor function of the setup project in VS.NET.

What I also wanted to do was add in support for getting the adapter to show up in the BizTalk admin and also remove it from there when you uninstall it. You can do this by using WMI in a custom action.

First what you need to do is add an installer class to your adapter project. You can do this using visual studio. This is covered in the documentataion.

Then you need to add in the following statment at the top. You also need to add in the System.Management assembly.
&lt;p&gt;
&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;pre class="csharpcode"&gt;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.Management;&lt;/pre&gt;
&lt;/p&gt;
For the install action, use the following, changing the relevant sections:

&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;            &lt;span class="rem"&gt;//Run the base class stuff.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;            &lt;span class="kwrd"&gt;base&lt;/span&gt;.Install(stateSaver);&lt;/pre&gt;
&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;            &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;            {&lt;/pre&gt;
&lt;pre&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre class="alt"&gt;                PutOptions options = &lt;span class="kwrd"&gt;new&lt;/span&gt; PutOptions();&lt;/pre&gt;
&lt;pre&gt;                options.Type = PutType.CreateOnly;&lt;/pre&gt;
&lt;pre class="alt"&gt; &lt;/pre&gt;
&lt;pre&gt;                &lt;span class="rem"&gt;//create a ManagementClass object and spawn a ManagementObject instance&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;                ManagementClass newAdapterClass = &lt;span class="kwrd"&gt;new&lt;/span&gt; ManagementClass(&lt;span class="str"&gt;"root\\MicrosoftBizTalkServer"&lt;/span&gt;, &lt;span class="str"&gt;"MSBTS_AdapterSetting"&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;                ManagementObject newAdapterObject = newAdapterClass.CreateInstance();&lt;/pre&gt;
&lt;pre class="alt"&gt;           &lt;/pre&gt;
&lt;pre&gt;                &lt;span class="rem"&gt;//set the properties for the Managementobject&lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;                newAdapterObject[&lt;span class="str"&gt;"Name"&lt;/span&gt;] = &lt;span class="str"&gt;"&amp;lt;YOURADAPTER&amp;gt;"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre&gt;                newAdapterObject[&lt;span class="str"&gt;"Comment"&lt;/span&gt;] = &lt;span class="str"&gt;"&amp;lt;Comment you want to appear in BizTalk&amp;gt;"&lt;/span&gt;;&lt;/pre&gt;
&lt;pre class="alt"&gt;                newAdapterObject[&lt;span class="str"&gt;"Constraints"&lt;/span&gt;] = &lt;span class="str"&gt;"&amp;lt;Constraint Bit Mank&amp;gt;"&lt;/span&gt;;  &lt;span class="rem"&gt;//Bitmask appears in registry file.&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;                newAdapterObject[&lt;span class="str"&gt;"MgmtCLSID"&lt;/span&gt;] = &lt;span class="str"&gt;"&amp;lt;Adapter Management Class Id&amp;gt;"&lt;/span&gt;; &lt;span class="rem"&gt;//Guid that appears in the registry file.            &lt;/span&gt;&lt;/pre&gt;
&lt;pre class="alt"&gt;                &lt;span class="rem"&gt;//create the Managementobject&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;                newAdapterObject.Put(options);&lt;/pre&gt;
&lt;pre class="alt"&gt;                System.Diagnostics.Trace.WriteLine(&lt;span class="str"&gt;"Adapter has been created successfully"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;            }&lt;/pre&gt;
&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception ex)&lt;/pre&gt;
&lt;pre&gt;            {&lt;/pre&gt;
&lt;pre class="alt"&gt;                System.Diagnostics.Trace.WriteLine(ex.ToString());&lt;/pre&gt;
&lt;pre&gt;                &lt;span class="kwrd"&gt;throw&lt;/span&gt;;&lt;/pre&gt;
&lt;pre class="alt"&gt;            }&lt;/pre&gt;
&lt;/div&gt;

And the following for the uninstall:

&lt;!-- code formatted by http://manoli.net/csharpformat/ --&gt;
&lt;div class="csharpcode"&gt;
&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;try&lt;/span&gt;&lt;/pre&gt;
&lt;pre&gt;            {&lt;/pre&gt;
&lt;pre class="alt"&gt;                ManagementClass adapterClass = &lt;span class="kwrd"&gt;new&lt;/span&gt; ManagementClass(&lt;span class="str"&gt;"root\\MicrosoftBizTalkServer"&lt;/span&gt;, &lt;span class="str"&gt;"MSBTS_AdapterSetting"&lt;/span&gt;, &lt;span class="kwrd"&gt;null&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;                ManagementObjectCollection adapterObjects = adapterClass.GetInstances();&lt;/pre&gt;
&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;                System.Diagnostics.Trace.WriteLine(&lt;span class="str"&gt;"We have {0} management objects"&lt;/span&gt;, adapterObjects.Count.ToString());&lt;/pre&gt;
&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;                &lt;span class="kwrd"&gt;foreach&lt;/span&gt; (ManagementObject adapterObject &lt;span class="kwrd"&gt;in&lt;/span&gt; adapterObjects)&lt;/pre&gt;
&lt;pre class="alt"&gt;                {&lt;/pre&gt;
&lt;pre&gt;                    System.Diagnostics.Trace.WriteLine(&lt;span class="str"&gt;"Current adapter object is {0}"&lt;/span&gt;, adapterObject[&lt;span class="str"&gt;"Name"&lt;/span&gt;].ToString());&lt;/pre&gt;
&lt;pre class="alt"&gt;&amp;nbsp;&lt;/pre&gt;
&lt;pre&gt;                    &lt;span class="kwrd"&gt;if&lt;/span&gt;( adapterObject[&lt;span class="str"&gt;"Name"&lt;/span&gt;].ToString().ToUpper() == &lt;span class="str"&gt;"&amp;lt;YOURADAPTER&amp;gt;"&lt;/span&gt; )&lt;/pre&gt;
&lt;pre class="alt"&gt;                        adapterObject.Delete();&lt;/pre&gt;
&lt;pre&gt;                }&lt;/pre&gt;
&lt;pre class="alt"&gt;                System.Diagnostics.Trace.WriteLine(&lt;span class="str"&gt;"Adapter has been removed successfully"&lt;/span&gt;);&lt;/pre&gt;
&lt;pre&gt;            }&lt;/pre&gt;
&lt;pre class="alt"&gt;            &lt;span class="kwrd"&gt;catch&lt;/span&gt; (Exception ex)&lt;/pre&gt;
&lt;pre&gt;            {&lt;/pre&gt;
&lt;pre class="alt"&gt;                System.Diagnostics.Trace.WriteLine(ex.ToString());&lt;/pre&gt;
&lt;pre&gt;                &lt;span class="kwrd"&gt;throw&lt;/span&gt;;&lt;/pre&gt;
&lt;pre class="alt"&gt;            }&lt;/pre&gt;
&lt;/div&gt;&lt;p&gt;&lt;a href="http://www.pheedo.com/click.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=28336"&gt;&lt;img src="http://www.pheedo.com/img.phdo?x=6cda6ad746d942b9a1110d0715a4fa12&amp;u=28336" border="0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;iframe src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;PageID=31016&amp;amp;SiteID=1" width=1 height=1 Marginwidth=0 Marginheight=0 Hspace=0 Vspace=0 Frameborder=0 Scrolling=No&gt;
&lt;script language='javascript1.1' src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Browser=NETSCAPE4&amp;amp;NoCache=True&amp;PageID=31016&amp;amp;SiteID=1"&gt;&lt;/script&gt;
&lt;noscript&gt;&lt;a href="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Click&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" target="_blank"&gt;
&lt;img src="http://ads.geekswithblogs.net/a.aspx?ZoneID=5&amp;amp;Task=Get&amp;amp;Mode=HTML&amp;amp;SiteID=1&amp;amp;PageID=31016" width="1" height="1" border="0"  alt=""&gt;&lt;/a&gt;
&lt;/noscript&gt;
&lt;/iframe&gt;
&lt;img src="http://geekswithblogs.net/cmcneill/aggbug/28336.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Campbell McNeill</dc:creator>
            <guid>http://geekswithblogs.net/cmcneill/archive/2005/04/05/28336.aspx</guid>
            <pubDate>Wed, 06 Apr 2005 03:13:00 GMT</pubDate>
            <comments>http://geekswithblogs.net/cmcneill/archive/2005/04/05/28336.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://geekswithblogs.net/cmcneill/comments/commentRss/28336.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>