<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007" xmlns:atom="http://www.w3.org/2005/Atom">
   <channel>
      <title>Team blog of MCS @ Middle East and Africa</title>
      <description>Pipes Output</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=b26888f5dfa09c81da8f7f87d3e90de4</link>
      <atom:link rel="next" href="http://pipes.yahoo.com/pipes/pipe.run?_id=b26888f5dfa09c81da8f7f87d3e90de4&amp;_render=rss&amp;page=2"/>
      <pubDate>Thu, 01 Oct 2015 23:13:33 +0000</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <item>
         <title>TCP CICS transactions integration and automated rollback</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2015/01/12/tcp-cics-transactions-integration-and-automated-rollback.aspx</link>
         <description>&lt;h1&gt;Introduction    &lt;p&gt;&lt;/p&gt; &lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Integrating BizTalk applications with Mainframe programs can be done using many methods. One of the most convenient methods is to use the TCP CICS integration model using the standard listener TRM or enhanced listener ELM program link. Both these methods requires installation of a concurrent server (listener) on the Mainframe to handle TCP and sockets communication. Host Integration Server comes packed with an example concurrent server. One problem that you might face when using this model is the case of a processing of a transaction on the Mainframe and while this processing is happening on the Mainframe the socket communication fails. In this case you will face a condition where the transaction is already done on the Mainframe but the application on BizTalk is not aware that the transaction is performed so if there is no mechanism against this then the same transaction can be executed twice. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h1&gt;Discussion &amp;amp; Resolution    &lt;p&gt;&lt;/p&gt; &lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;A resolution of this problem is to edit the concurrent server program on the Mainframe to issue a CICS ABEND in the case of a socket failure. This insures that if the response is not delivered to the application then the transaction would be rolled back on the Mainframe, this though requires that all Mainframe programs to be used should not implement any SYNCPOINT. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;To change the HIS provided sample for the concurrent listener to implement this approach the following should be added to the program MSCOMTI.cbl in the “STANDARD-LISTENER” procedure and after processing the “WRITE-BUF-TO-SOCKET” procedure. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style=&quot;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid;border-bottom:windowtext 1pt solid;padding-bottom:1pt;padding-top:1pt;padding-left:4pt;border-left:windowtext 1pt solid;padding-right:4pt;&quot;&gt;   &lt;p class=&quot;CodeBlock&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;PERFORM WRITE-BUF-TO-SOCKET THRU &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;CodeBlock&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;WRITE-BUF-TO-SOCKET-EXIT &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;CodeBlock&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;IF CHILD-SERVER-ERROR &amp;lt; 0 THEN &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;CodeBlock&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&lt;/span&gt;MOVE SS-CLOSE-SOCKET TO NEXT-STATE &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;CodeBlock&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&lt;/span&gt;&lt;span style=&quot;background:yellow;&quot;&gt;MOVE 'Y'&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;TO ABEND-STAT&lt;/span&gt; &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;CodeBlock&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;ELSE &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Then within the same procedure after the loop ends add the following code to issue the ABEND. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style=&quot;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid;border-bottom:windowtext 1pt solid;padding-bottom:1pt;padding-top:1pt;padding-left:4pt;border-left:windowtext 1pt solid;padding-right:4pt;&quot;&gt;   &lt;p class=&quot;CodeBlock&quot;&gt;IF ABEND-IS-REQUIRED THEN &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;CodeBlock&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;MOVE TP-ABEND-1 TO TRACE-ID &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;CodeBlock&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;PERFORM TRACE-POINTS THRU TRACE-POINTS-EXIT &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;CodeBlock&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;span style=&quot;background:yellow;&quot;&gt;EXEC CICS ABEND ABCODE('ABC') END-EXEC&lt;/span&gt; &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;CodeBlock&quot;&gt;END-IF. &lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;This will make sure that the transaction on the Mainframe will rollback if no response can be delivered to the application due to any connectivity problems. &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Full source of the customized listener is &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.technet.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-00-79-57/CicsTcpMsComtiCs_5F00_V11.cbl&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=10585709&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10585709</guid>
         <pubDate>Mon, 12 Jan 2015 09:27:25 +0000</pubDate>
      </item>
      <item>
         <title>Writing a custom HostApps ESB adapter provider to integrate ESB toolkit with a Mainframe</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2015/01/10/writing-a-custom-hostapps-esb-adapter-provider-to-integrate-esb-toolkit-with-a-mainframe.aspx</link>
         <description>&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;Adapter provider framework is how the ESB toolkit configures the off-ramps to send requests using dynamic send ports. An adapter provider is an implementation of the base abstract class &lt;b&gt;BaseAdapterProvider&lt;/b&gt;. The adapter provider is simply a component that is executed as part of the send pipeline to add the required context properties on the message before it is processed by the adapter on the dynamic send port to send the message. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;HostApps adapter is BizTalk way to communicate with Mainframe programs using CICS integration. To use this adapter as part of the BizTalk ESB toolkit then you will need to allow dynamic ports to be able to send requests to this adapter. The ESB way to do this is by implementing a custom adapter provider. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;The steps to implement a new custom adapter provider are simple. The following are the steps required to implement a HostApps adapter provider: &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;1-&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;Create a new C# class library DLL and strongly sign the DLL.          &lt;p&gt;&lt;/p&gt;       &lt;/span&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;2-&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;Add references to the following DLLs          &lt;p&gt;&lt;/p&gt;       &lt;/span&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;a.&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;Microsoft.BizTalk.Messaging.dll &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;b.&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;Microsoft.BizTalk.Pipeline.dll &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;c.&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;Microsoft.Practices.ESB.Adapter.dll &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;d.&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;Microsoft.Practices.ESB.Itinerary.Pipelines.dll &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;e.&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;Microsoft.XLANGs.BaseTypes.dll &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;     &lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;3-&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;Add a new class with any name and inherit from &lt;b&gt;BaseAdapterProvider&lt;/b&gt;           &lt;p&gt;&lt;/p&gt;       &lt;/span&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;4-&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;Override the public properties &lt;b&gt;AdapterName&lt;/b&gt; and &lt;b&gt;AdapterContextPropertyNamespace&lt;/b&gt; and return any name for your adapter provider. The following is an example for the HostApps adapter provider.&lt;/span&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ol&gt;  &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;div style=&quot;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid;border-bottom:windowtext 1pt solid;padding-bottom:1pt;padding-top:1pt;padding-left:4pt;border-left:windowtext 1pt solid;padding-right:4pt;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom:0pt;border-top:medium none;border-right:medium none;border-bottom:medium none;padding-bottom:0cm;padding-top:0cm;padding-left:0cm;border-left:medium none;line-height:normal;padding-right:0cm;&quot;&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:black;&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:blue;&quot;&gt;public&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:black;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:blue;&quot;&gt;override&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:black;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:blue;&quot;&gt;string&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:black;&quot;&gt; AdapterName &lt;/span&gt;      &lt;p&gt;&lt;/p&gt;       &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom:0pt;border-top:medium none;border-right:medium none;border-bottom:medium none;padding-bottom:0cm;padding-top:0cm;padding-left:0cm;border-left:medium none;line-height:normal;padding-right:0cm;&quot;&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:black;&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;{ &lt;/span&gt;      &lt;p&gt;&lt;/p&gt;       &lt;p&gt;&lt;/p&gt;    &lt;/div&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10585540</guid>
         <pubDate>Sat, 10 Jan 2015 14:53:35 +0000</pubDate>
      </item>
      <item>
         <title>Using Host Integration Server COBOL Import Wizard</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2014/06/07/using-host-integration-server-cobol-import-wizard.aspx</link>
         <description>&lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Introduction      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Host Integration Server allows application integration with the Mainframe system using the Transaction Integrator (TI) component. The method to implement this integration involves building what is called a TI assembly. TI Assembly is actually built using the definition of the interface between the Mainframe program and the definition of the input and output COM areas. This involves in many cases reading large COBOL files and manually adding them to the TI library. The HIS development tools have added the import utility to simplify importing from COBOL copy book files but as we will see in this post this still have many challenges and I will provide in this post a systematic approach to facilitate importing a COBOL copy book file. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Discussion      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;COBOL copy books are the way Mainframe programs define the inputs and outputs. You can think of these as the signature of C# methods. These are mainly text files with specific structure. You can find more details about the definition of the structure of the COBOL copy book files &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/COBOL&quot;&gt;here&lt;/a&gt;. A COBOL copy book file would look something like the below: &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4101.clip_5F00_image002_5F00_6A77165C.jpg&quot;&gt;&lt;img title=&quot;clip_image002&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;clip_image002&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1805.clip_5F00_image002_5F00_thumb_5F00_49863466.jpg&quot; width=&quot;756&quot; height=&quot;328&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt; &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Now usually you would receive two COM area definitions like the above, one for the input COM area and another for the output (if they are different) from the Mainframe team. So the challenge here is how to use the HIS import utility to import these into one method in the TI assembly. Usually when you try to import the import wizard would crash and would not give you enough description of where was the problem so you would end up adding these things manually and that would be ok for smaller programs (like the above) but for more complex programs where you have more than 20-50 fields in input and outputs that would be a very tedious task. The section below would provide a simple approach and walkthrough on how to import these files and use the import wizard successfully every time. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Solution &amp;amp; Walkthrough      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The HIS import wizard is very sensitive to the spaces and structure of the COBOL copy book file. So for example a following misalignment would fail the import. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1411.clip_5F00_image004_5F00_3B4A4C27.jpg&quot;&gt;&lt;img title=&quot;clip_image004&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;clip_image004&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6558.clip_5F00_image004_5F00_thumb_5F00_06404DA8.jpg&quot; width=&quot;756&quot; height=&quot;319&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt; &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;So the first thing you need to do when dealing with COBOL copy books is to align them perfectly. To do this I recommend using a tool such as Notepad ++ as it understands this type of file and it actually shows you very helpful vertical guidelines. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0724.clip_5F00_image005_5F00_110035AE.png&quot;&gt;&lt;img title=&quot;clip_image005&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;clip_image005&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3806.clip_5F00_image005_5F00_thumb_5F00_62A940B1.png&quot; width=&quot;713&quot; height=&quot;306&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt; &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;So this simplify spotting misalignments. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The second thing you need to do is to merge the inputs and outputs COM area definitions in one COBOL copy book file while aligning the outputs as if it is part of the input and I will show you later how these would be separated. Just give it a name with the same program name while adding any suffix such as “-OUT” to it. Please also note that every line has to be terminated with a dot. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0272.clip_5F00_image006_5F00_01EE7836.png&quot;&gt;&lt;img title=&quot;clip_image006&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;clip_image006&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2275.clip_5F00_image006_5F00_thumb_5F00_688905AC.png&quot; width=&quot;713&quot; height=&quot;306&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt; &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Now that you have created and saved the COBOL copy book file open Visual Studio and create a new client TI library in a TI project. Now import it as follows: &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;1-&lt;span style=&quot;font:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;     &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2627.clip_5F00_image007_5F00_20CA0D76.png&quot;&gt;&lt;img title=&quot;clip_image007&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;clip_image007&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4606.clip_5F00_image007_5F00_thumb_5F00_70A2C2B2.png&quot; width=&quot;566&quot; height=&quot;151&quot;/&gt;&lt;/a&gt;&lt;/span&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10532024</guid>
         <pubDate>Sat, 07 Jun 2014 10:37:04 +0000</pubDate>
      </item>
      <item>
         <title>Host Integration Server 2013 TI Assembly GAC deployment Walkthrough</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2014/05/27/host-integration-server-2013-ti-assembly-gac-deployment-walkthrough.aspx</link>
         <description>&lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Introduction      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Host Integration Server (HIS) is used to integrate with Legacy Host technology. One of the Host integration scenarios is to call Mainframe programs or transactions using a component in HIS called Transaction Integrator (TI). The way to use TI is to create what is called a TI assembly and then use this to call the Host systems from the Windows System. The TI assembly can be either used in a folder or deployed to the Global Assembly Cache (GAC). I wanted to deploy the assembly to the GAC to make sure it is available from anywhere in the integration solution and because I had strong named assemblies in the solution that required to reference this assembly. This blog post will provide the challenge and problems faced while trying to do this and how these were resolved to finally deploy the TI assembly to the GAC and use it from there in a BizTalk solution. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Discussion      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Host Integration Server (HIS) is used to integrate with Legacy Host technology. One of the Host integration scenarios is to call Mainframe programs or transactions using a component in HIS called Transaction Integrator (TI). TI technology has been around for a while (it was used to be called COMTI) but it went through many changes and updates. In HIS 2013 the TI component undergone major changes. There are two scenarios to use the TI, either Host Initiated Processing (HIP) where the call is initiated from the Host server to the Windows server, in this scenario the Windows server acts as the backend and the Host is acting as the channel or initiating system. The other scenario is Windows Initiated Processing (WIP) where the call is initiated from the Windows platform and it is routed to the Host system. The diagram below illustrates this scenario. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:center;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3301.clip_5F00_image002_5F00_05797B87.jpg&quot;&gt;&lt;img title=&quot;clip_image002&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;clip_image002&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7043.clip_5F00_image002_5F00_thumb_5F00_09865A0A.jpg&quot; width=&quot;543&quot; height=&quot;370&quot;/&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoCaption&quot; style=&quot;text-align:center;&quot; align=&quot;center&quot;&gt;Figure &lt;span style=&quot;&quot;&gt;1&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;: Windows Initiated Processing Scenario &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;To be able to implement a WIP scenario you need to implement what is called a TI assembly. This assembly actually governs the interface and mapping of parameters between the Windows system and the Host system. The way you create this assembly (as this is a special assembly type) is using the TI project template that ships with the HIS 2013. I am not going to describe how to create the TI assembly as you can find many references on how to do this in the HIS 2013 SDK &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.microsoft.com/en-us/download/details.aspx?id=41557&quot;&gt;here&lt;/a&gt; and on MSDN &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://msdn.microsoft.com/en-us/library/dd786670(v=bts.10).aspx&quot;&gt;here&lt;/a&gt;. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Once you have created the TI assembly you will have the following view in VS 2012. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:center;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4760.clip_5F00_image004_5F00_0269AE43.jpg&quot;&gt;&lt;img title=&quot;clip_image004&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;clip_image004&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2642.clip_5F00_image004_5F00_thumb_5F00_78A446CA.jpg&quot; width=&quot;756&quot; height=&quot;144&quot;/&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoCaption&quot; style=&quot;text-align:center;&quot; align=&quot;center&quot;&gt;Figure &lt;span style=&quot;&quot;&gt;2&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;: TI Assembly in VS 2012 &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Now to be able to deploy an assembly in the GAC you need to have that assembly signed with a key and then would have a strong name. If you click on the Library node (root node in the above figure) and check the properties you will see that it has the following properties: &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:center;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4670.clip_5F00_image006_5F00_6EDEDF52.jpg&quot;&gt;&lt;img title=&quot;clip_image006&quot; style=&quot;border-left-width:0px;border-right-width:0px;border-bottom-width:0px;display:inline;border-top-width:0px;&quot; border=&quot;0&quot; alt=&quot;clip_image006&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7840.clip_5F00_image006_5F00_thumb_5F00_278C1A11.jpg&quot; width=&quot;744&quot; height=&quot;618&quot;/&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoCaption&quot; style=&quot;text-align:center;&quot; align=&quot;center&quot;&gt;Figure &lt;span style=&quot;&quot;&gt;3&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;: TI Library Properties &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The property I am interested in is the KeyFile property which is according to the documentation if you provide a Key file in this property then the generated assembly would be signed with this key and would have a strong name (sweet). Unfortunately for some reason this does not work as expected and I could not get it to work and the assembly generated is always not signed. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;I have investigated many other options to sign the assembly after being compiled and this is doable but I wanted something more streamed and easier to be done if I needed to re-generate the assembly. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Once I signed the assembly (as I will show you in the next section) and GACed it. When I create a BizTalk port using the BAHA adapter and try to configure it with the GACed assembly I found that the dialog to select the assembly from the GAC is always empty! &lt;span style=&quot;&quot;&gt;&amp;#160;&lt;/span&gt;As per the below figure. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:center;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5621.clip_5F00_image007_5F00_79352514.png&quot;&gt;&lt;/a&gt;&lt;/span&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10528657</guid>
         <pubDate>Tue, 27 May 2014 09:42:13 +0000</pubDate>
      </item>
      <item>
         <title>SharePoint Provider Hosted App Walkthrough: Part 2 Dig deep</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2014/03/31/sharepoint-provider-hosted-app-walkthrough-part-2-dig-deep.aspx</link>
         <description>&lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Introduction      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;In the previous post &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.technet.com/b/meamcs/archive/2013/02/24/sharepoint-provider-hosted-app-walkthrough-part-1-preparation.aspx&quot;&gt;here&lt;/a&gt; I showed how to write a new provider hosted App using a step by step process. In this post I will build up on that knowledge and show you the following: &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;     &lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;How to customize your provider hosted app so that you get information from the SharePoint site. (Such as user email).          &lt;p&gt;&lt;/p&gt;       &lt;/span&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;How to customize the look and feel of your provider hosted App so that it reflects the SharePoint theme so that the user does not feel a completely disconnected experience. Also how that can be selective so that if the same web site was viewed outside of SharePoint it is displayed as a normal web site.          &lt;p&gt;&lt;/p&gt;       &lt;/span&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;How to link back to SharePoint and publish information back to the site including posting to the personal feeds.          &lt;p&gt;&lt;/p&gt;       &lt;/span&gt;&lt;/div&gt;   &lt;/li&gt;    &lt;li&gt;     &lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;How to host the provider hosted App on Azure web site and how to register this on your private tenant.          &lt;p&gt;&lt;/p&gt;       &lt;/span&gt;&lt;/div&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;So let’s get started, shall we. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Getting Information from SharePoint      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;To allow the application developers to connect to the source SharePoint site, the request coming from the SharePoint site has a query parameter called “&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:#a31515;line-height:107%;&quot;&gt;SPHostURl&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;” this contains the source URL of the SharePoint site. So to retrieve information you need to use the client object model to connect to the SharePoint site. Now another problem is how to establish authorization and get the current user identity to be able to perform actions using the currently logged on user identity. To establish this you will already find in any new SharePoint provider hosted App a class called “&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:107%;&quot;&gt;TokenHelper&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;” this will specifically help you to create the client context using the token. Now once you got the token you do not want to re-connect with the SharePoint site to retrieve the token with every request and hence the need of a token cache. I have included with this article a “&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;line-height:107%;&quot;&gt;TokenDictionary&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;” class that would allow you specifically to cache your tokens. &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;div style=&quot;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid;border-bottom:windowtext 1pt solid;padding-bottom:1pt;padding-top:1pt;padding-left:4pt;border-left:windowtext 1pt solid;padding-right:4pt;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;border-top:medium none;border-right:medium none;border-bottom:medium none;padding-bottom:0cm;padding-top:0cm;padding-left:0cm;border-left:medium none;padding-right:0cm;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Note: One thing extra to note while working with provider hosted apps is that you need to make sure you pass the “&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:black;line-height:107%;&quot;&gt;Request.QueryString&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;” from every page to the next so that you do not lose your SharePoint context. &lt;/span&gt;      &lt;p&gt;&lt;/p&gt;       &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Now let’s see the code to get the user email address: &lt;/span&gt;    &lt;p&gt;&lt;/p&gt;   &lt;p&gt;&lt;/p&gt;  &lt;div style=&quot;border-top:windowtext 1pt solid;border-right:windowtext 1pt solid;border-bottom:windowtext 1pt solid;padding-bottom:1pt;padding-top:1pt;padding-left:4pt;border-left:windowtext 1pt solid;padding-right:4pt;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom:0pt;border-top:medium none;border-right:medium none;border-bottom:medium none;padding-bottom:0cm;padding-top:0cm;padding-left:0cm;border-left:medium none;line-height:normal;padding-right:0cm;&quot;&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:green;&quot;&gt;// Retrieve Email address from SharePoint&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:black;&quot;&gt; &lt;/span&gt;      &lt;p&gt;&lt;/p&gt;       &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom:0pt;border-top:medium none;border-right:medium none;border-bottom:medium none;padding-bottom:0cm;padding-top:0cm;padding-left:0cm;border-left:medium none;line-height:normal;padding-right:0cm;&quot;&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:green;&quot;&gt;//&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:black;&quot;&gt; &lt;/span&gt;      &lt;p&gt;&lt;/p&gt;       &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom:0pt;border-top:medium none;border-right:medium none;border-bottom:medium none;padding-bottom:0cm;padding-top:0cm;padding-left:0cm;border-left:medium none;line-height:normal;padding-right:0cm;&quot;&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:green;&quot;&gt;// Set up SharePoint Context&lt;/span&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:black;&quot;&gt; &lt;/span&gt;      &lt;p&gt;&lt;/p&gt;       &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;margin-bottom:0pt;border-top:medium none;border-right:medium none;border-bottom:medium none;padding-bottom:0cm;padding-top:0cm;padding-left:0cm;border-left:medium none;line-height:normal;padding-right:0cm;&quot;&gt;&lt;span style=&quot;font-size:9.5pt;font-family:consolas;background:white;color:#2b91af;&quot;&gt;Uri&lt;/span&gt;&lt;/div&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10512452</guid>
         <pubDate>Mon, 31 Mar 2014 19:22:25 +0000</pubDate>
      </item>
      <item>
         <title>Small tip: Where is the XSD Definition Tab in Visual Studio 2012 with Host Integration Server 2013</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2014/01/07/small-tip-where-is-the-xsd-definition-tab-in-visual-studio-2012-with-host-integration-server-2013.aspx</link>
         <description>&lt;p&gt;Today I faced an issue that took me some time to figure out with Host Integration Server 2013. Usually when you develop transaction Integration (or application integration) with BizTalk server you require XSD schemas to be able to perform mappings and send messages using a send port. With Host Integration Server and up to 2010 version we did that by writing an application definition DLL within Visual Studio 2010 and then while you have the DLL description open in the designer you would click on the “XSD Definition” tab within your Visual Studio window as below:&lt;/p&gt;  &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4174.image_5F00_38F59005.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5428.image_5F00_thumb_5F00_31D8E43E.png&quot; width=&quot;509&quot; height=&quot;360&quot;/&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Then you copy all contents of this tab into a newly created XSD schema in a BizTalk project. &lt;/p&gt;  &lt;p&gt;Now the problem I faced was that this tab is missing in HIS 2013 :( So how can we do this. At first I thought that maybe this is an installation issue as I had in that environment HIS 2010 and VS 2010. But it was not. It turned out that now you simply save the DLL and VS 2012 automatically generates for you the XSD (along with many other things such as WCF and ASMX services) inside a bin folder. So Vola use that XSD.&lt;/p&gt;  &lt;p&gt;Happy HISing ;)&lt;/p&gt;&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=10487851&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10487851</guid>
         <pubDate>Tue, 07 Jan 2014 21:09:01 +0000</pubDate>
      </item>
      <item>
         <title>Using an IIS hosted MEX endpoint with an in-process WCF receive location in BizTalk Server</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/12/28/using-an-iis-hosted-mex-endpoint-with-an-in-process-wcf-receive-location-in-biztalk-server.aspx</link>
         <description>&lt;h2&gt;Introduction &lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Receiving messages and requests using WCF endpoints and receive locations is a very well-known practice that is used in many BizTalk integration projects. These WCF services can be either a published orchestration or using specific input and output schemas. In any of these there are two known messaging patterns that can be used either in-process or isolated. In-process means that the BizTalk server host instance will be responsible for hosting the WCF host and any requests will be directly received by the BizTalk host. Isolated model means that the WCF service host will be hosted inside IIS and a request received by this service will then be processed inside IIS W3WP worker process and once it requires persistence it will be submitted to the BizTalk Message Box database for normal publish and subscribe processing to occur. In this case this request can be picked up by any of the BizTalk processing host instances and hence will traverse the processes boundaries. In this post I will not go any further in describing these two models but I want to concentrate on a specific problem I faced.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;So imagine the following scenario, you want to implement an in-process WCF receive service but you want the MEX endpoint to be published on IIS so you want the consumer of this service to be able to submit specific requests and expect specific responses rather than submitting and receiving Message objects. This can be done easily if you want to host the processing or receiving endpoint inside IIS, so working in isolated mode. But unfortunately this is not supported for in-process. Usually we do this by using the WCF publishing wizard and publish a metadata exchange endpoint only to IIS and point to the receive location required to process the request which is usually hosted inside IIS (isolated). Now if you select an in-process receive location it will publish the endpoint as usual and you will be able to create the MEX WCF service on IIS but when you try to use it you will receive the following error.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:center;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4503.clip_5F00_image002_5F00_68244A81.jpg&quot;&gt;&lt;img title=&quot;clip_image002&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;clip_image002&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7610.clip_5F00_image002_5F00_thumb_5F00_153BC801.jpg&quot; width=&quot;785&quot; height=&quot;213&quot;/&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;This is normal and expected as the in-process receive location have to be specified using an absolute URL rather than a relative one as you usually would configure an isolated one. Since the URL is absolute the MEX host will try to add it as a new base address. Now the problem is that this address is not supported by IIS. Now if you try to configure the service using the suggested configuration in this error this will not work in any way.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;h2&gt;Solution&amp;#160;&amp;#160; &lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;Usually this is not a supported configuration and hence there is no out of the box method to get this to work. Now I wanted this configuration to work so I started reflecting the BizTalk assemblies to figure out the problem. &lt;/p&gt;  &lt;p&gt;Now if you open the MEX endpoint service SVC file you will find the following in it.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;div style=&quot;padding:1pt 4pt;border:1pt solid windowtext;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;padding:0cm;border:currentcolor;&quot;&gt;&lt;span style=&quot;background:yellow;color:black;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;&amp;lt;%&lt;/span&gt;&lt;span style=&quot;background:white;color:blue;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;@&lt;/span&gt;&lt;span style=&quot;background:white;color:black;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background:white;color:maroon;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;ServiceHost&lt;/span&gt;&lt;span style=&quot;background:white;color:black;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background:white;color:red;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;Language&lt;/span&gt;&lt;span style=&quot;background:white;color:blue;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;=&amp;quot;c#&amp;quot;&lt;/span&gt;&lt;span style=&quot;background:white;color:black;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background:white;color:red;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;Factory&lt;/span&gt;&lt;span style=&quot;background:white;color:blue;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;=&amp;quot;Microsoft.BizTalk.Adapter.Wcf.Metadata.MexServiceHostFactory, Microsoft.BizTalk.Adapter.Wcf.Runtime, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35&amp;quot;&lt;/span&gt;&lt;span style=&quot;background:white;color:black;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background:yellow;color:black;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;%&amp;gt;&lt;/span&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;So as you can see here it is using a custom host factory to create the WCF service host. This custom host factory is inside an assembly called “&lt;span style=&quot;background:white;color:blue;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;Microsoft.BizTalk.Adapter.Wcf.Runtime&lt;/span&gt;” that is hosted in the GAC. So I reflected this assembly to see what is happening there and here is what I found inside the CreateServiceHost.&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot; style=&quot;text-align:center;&quot; align=&quot;center&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1106.clip_5F00_image003_5F00_0FEF7201.png&quot;&gt;&lt;img title=&quot;clip_image003&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;clip_image003&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4331.clip_5F00_image003_5F00_thumb_5F00_2ABB980D.png&quot; width=&quot;649&quot; height=&quot;117&quot;/&gt;&lt;/a&gt;&lt;/span&gt; &lt;/p&gt;  &lt;p&gt;So as expected, it adds the URL to the list of base addresses if the address of the receive location is in absolute URL format. Now this is correct and needed if the processing endpoint is hosted inside the IIS but since this is hosted inside BizTalk worker process this is not needed and hence we would not need such a line.&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;So what I ended up doing is to create new service host factory. I started by thinking of inheriting from the already existing host factory, well you guessed it, this class is sealed&lt;span style=&quot;font-family:wingdings;&quot;&gt;&lt;span style=&quot;&quot;&gt;L&lt;/span&gt;&lt;/span&gt;. That leaved me with the only other option which is to create a new class with exactly the same code (reflected) but with these lines removed. So the CreateServiceHost function is now as follows:&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;removed. So the CreateServiceHost function is now as follows:   &lt;p&gt;&lt;/p&gt;   &lt;div style=&quot;padding:1pt 4pt;border:1pt solid windowtext;&quot;&gt;   &lt;/div&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10485301</guid>
         <pubDate>Sat, 28 Dec 2013 11:52:29 +0000</pubDate>
      </item>
      <item>
         <title>Integrating Apache ActiveMQ with BizTalk Server 2013 using WCF-WebHTTP adapter and REST API</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/12/11/integrating-apache-activemq-with-biztalk-server-2013-using-wcf-webhttp-adapter-and-rest-api.aspx</link>
         <description>&lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Introduction      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;In this blog post I will present a very simple solution to integrate with Apache ActiveMQ platform. Actually I got this question from a friend I could not believe how easy it is to integrate with this platform using the new BizTalk 2013 WCF-WebHTTP adapter. The adapter provides many features out of the box that really makes the integration engineer life much easier and better. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;In this scenario I have installed Apache ActiveMQ on a private VM, created a test queue and made sure that I am able actually to send messages to that test queue. The target then was to create a way to receive messages from this queue to BizTalk server. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Discussion      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The following procedure is what I did to perform this POC. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;1-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;First I started by installing ActiveMQ and to my surprise that was super easy. So I downloaded the binaries from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://apache.mesi.com.ar/activemq/apache-activemq/5.9.0/apache-activemq-5.9.0-bin.zip&quot;&gt;here&lt;/a&gt; and I also downloaded the JDK from &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://download.oracle.com/otn-pub/java/jdk/7u45-b18/jdk-7u45-windows-x64.exe&quot;&gt;here&lt;/a&gt;. I installed the JDK then extracted the ActiveMQ to any folder of my choice. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;2-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;I then had to set the JAVA_HOME environment variable (I do not know why the JDK setup did not do this) but I did that manually to point to the JDK folder as C:&amp;#92;Program Files&amp;#92;Java&amp;#92;jdk1.7.0_45 &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;3-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;I then started the ActiveMQ platform by browsing to the folder where I extracted it and then typing the command: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style=&quot;padding:1pt 4pt;border:1pt solid windowtext;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;padding:0cm;border:currentcolor;&quot;&gt;&lt;code&gt;&lt;span style=&quot;color:black;line-height:107%;font-size:10pt;&quot;&gt;bin&amp;#92;activemq&lt;/span&gt;&lt;/code&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt; &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;4-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Then I opened the new administration portal using the URL (&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://localhost:8161/hawtio&quot;&gt;http://localhost:8161/hawtio&lt;/a&gt;) then I logged in using the username admin and password admin. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;5-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Clicked on “ActiveMQ”      &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1754.clip_5F00_image001_5F00_5B421E8E.png&quot;&gt;&lt;img title=&quot;clip_image001&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;clip_image001&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0564.clip_5F00_image001_5F00_thumb_5F00_03E08A96.png&quot; width=&quot;477&quot; height=&quot;119&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;6-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Then I created a new Queue called “Testing” by clicking “Create” then “Create Queue”      &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1588.clip_5F00_image002_5F00_00CE2CA1.png&quot;&gt;&lt;img title=&quot;clip_image002&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;clip_image002&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7801.clip_5F00_image002_5F00_thumb_5F00_12AD511F.png&quot; width=&quot;663&quot; height=&quot;259&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;7-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Click on the queue on the left then click “Send” then make sure you change the format to XML type in a valid XML message and finally send the message.      &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5127.image_5F00_1007261F.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6646.image_5F00_thumb_5F00_13A7D1AD.png&quot; width=&quot;831&quot; height=&quot;130&quot;/&gt;&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10481171</guid>
         <pubDate>Wed, 11 Dec 2013 13:22:44 +0000</pubDate>
      </item>
      <item>
         <title>Creating an Active/Active SQL Cluster using Hyper-V: Part4 Configuration Revisited</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/12/04/creating-an-active-active-sql-cluster-using-hyper-v-part4-configuration-revisited.aspx</link>
         <description>&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;color:black;&quot; lang=&quot;EN-US&quot;&gt;In &lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/b/momalek/archive/2012/04/11/creating-an-active-active-sql-cluster-using-hyper-v-part1-virtualized-storage.aspx&quot;&gt;part 1&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;color:black;&quot; lang=&quot;EN&quot;&gt;of this series I showed you how to configure the virtual storage required&lt;span style=&quot;color:black;&quot; lang=&quot;EN-US&quot;&gt; for the cluster. In &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/b/momalek/archive/2012/04/11/creating-an-active-active-sql-cluster-using-hyper-v-part2-the-clustered-instances.aspx&quot;&gt;part 2&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;span&gt; of this series I showed you how to configure two SQL instances on the created windows cluster. In &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/b/momalek/archive/2012/04/18/creating-an-active-active-sql-cluster-using-hyper-v-part3-the-active-active-configuration.aspx&quot;&gt;part 3&lt;/a&gt; I showed you how to configure these two SQL instances into an Active/Active configuration.&lt;/span&gt;&lt;/span&gt; After a while and as I was playing around with the configuration I have noticed that I cannot really move the SQL server services from one node to another automatically! I had to move the DTC first then I can move the SQL server service. Then it hit me! Why am I complicating things and doing everything by hand although the Windows Failover cluster can do much of the plumping in the correct way. So in this follow-up post I will show you how you can configure things the right way (the windows failover cluster way &lt;/span&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1667.clip_5F00_image043_5F00_1B9534AB.png&quot;&gt;&lt;span style=&quot;text-decoration:none;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;img style=&quot;border:0px currentcolor;display:inline;&quot; title=&quot;clip_image002&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7608.clip_5F00_image002_5F00_1AF761F9.jpg&quot; alt=&quot;clip_image002&quot; width=&quot;25&quot; height=&quot;27&quot; border=&quot;0&quot;/&gt;&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style=&quot;color:black;&quot; lang=&quot;EN-US&quot;&gt;).&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;Introduction&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;In this series of posts I will walk you through the processes of creating an Active/Active SQL server cluster using Hyper-V and Microsoft iSCSI target software for virtualized SAN. The target is to create first a storage server hosted on a normal Windows 2008 R2 server. Then connect to this server using two other machines as iSCSI initiators. Then I will create the windows cluster along with the DTC clustered service. A clustered SQL server instance will then be created. Finally another clustered SQL server instance will be created and Active/Active configuration of both instances will be applied.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;Solution Architecture&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;The solution is fairly simple as per the below configuration.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2474.clip_5F00_image004_5F00_6AD01735.jpg&quot;&gt;&lt;img style=&quot;display:inline;&quot; title=&quot;clip_image004&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0601.clip_5F00_image004_5F00_thumb_5F00_47A2AC83.jpg&quot; alt=&quot;clip_image004&quot; width=&quot;775&quot; height=&quot;541&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;Revisiting the Cluster configuration and Dependencies&lt;/span&gt;&lt;/h2&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;The old dependency was not set correctly since the SQL server service and the associated DTC service are not the same clustered service but are managed differently and I established the link between them using an external service dependency. This rendered the SQL service not movable since the cluster really does not know that it is required to move the DTC service to be able to move the SQL service but instead it treats it as an external service that must exist for the SQL service to start.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;The old dependency diagram was like this:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2768.clip_5F00_image006_5F00_6034DA84.jpg&quot;&gt;&lt;img style=&quot;display:inline;&quot; title=&quot;clip_image006&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4300.clip_5F00_image006_5F00_thumb_5F00_16395992.jpg&quot; alt=&quot;clip_image006&quot; width=&quot;784&quot; height=&quot;214&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;The problem is actually in the dependency on an external clustered service rather than a cluster service resource.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;Then I remembered that the Failover Cluster can add the DTC as a generic service resource to the same clustered service, or even better it actually knows of DTC and has a special type of resource as per the below image:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/8372.clip_5F00_image007_5F00_619B8E07.png&quot;&gt;&lt;img style=&quot;display:inline;&quot; title=&quot;clip_image007&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/8836.clip_5F00_image007_5F00_thumb_5F00_77850057.png&quot; alt=&quot;clip_image007&quot; width=&quot;807&quot; height=&quot;551&quot; border=&quot;0&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;So to configure everything correctly I performed the following:&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 1-&lt;span style=&quot;font:7pt/normal 'Times New Roman';font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;Brought all services offline including all two SQL server services and even disks.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2-&lt;span style=&quot;font:7pt/normal 'Times New Roman';font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN&quot;&gt;I removed all DTC related configuration by deleting the two clustered services for DTC including all dependencies from the SQL server services.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10473762</guid>
         <pubDate>Wed, 04 Dec 2013 09:06:00 +0000</pubDate>
      </item>
      <item>
         <title>Solved: Nested and conditional parent and child Table Looping Functoid in BizTalk mapping</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/08/31/solved-nested-and-conditional-parent-and-child-table-looping-functoid-in-biztalk-mapping.aspx</link>
         <description>&lt;h2&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Introduction     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;BizTalk mapping tool is a very powerful tool once you get the hang of it. Sometimes you would need to produce some structure in the output schema that did not exist in the source schema, the Table Looping functoid is built for this specific task.      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;In some other cases you would need to generate a parent child kind of structure. In this blog post I will present the solution to use out of the box functoids to be able to generate this structure.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;h2&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Problem     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Suppose you have the following as the input schema.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2783.clip_5F00_image002_5F00_51EF6007.jpg&quot;&gt;&lt;img title=&quot;clip_image002&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;clip_image002&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7534.clip_5F00_image002_5F00_thumb_5F00_7E2BE6EB.jpg&quot; width=&quot;784&quot; height=&quot;188&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;And the following output schema.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/8883.clip_5F00_image004_5F00_6D643C3D.jpg&quot;&gt;&lt;img title=&quot;clip_image004&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;clip_image004&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0535.clip_5F00_image004_5F00_thumb_5F00_394F9CEA.jpg&quot; width=&quot;784&quot; height=&quot;520&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The requirement is to generate two Message elements in the ProcessRoot output schema. It is also required to generate some fields in the fields array inside each message. These fields are specific for each message and depend on the message ID field. So to be more specific let’s say that we have the following XML input:     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;div style=&quot;padding:1pt 4pt;border:1pt solid windowtext;margin-right:0cm;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;margin:0cm 0cm 0pt 24pt;padding:0cm;border:currentcolor;line-height:normal;&quot;&gt;&lt;span style=&quot;color:blue;font-size:10pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:rgb(153, 0, 0);font-size:10pt;&quot;&gt;ns0:ProcessRequest&lt;/span&gt;&lt;span style=&quot;color:red;font-size:10pt;&quot;&gt; xmlns:ns0&lt;/span&gt;&lt;span style=&quot;color:blue;font-size:10pt;&quot;&gt;=&amp;quot;&lt;/span&gt;&lt;b&gt;&lt;span style=&quot;color:red;font-size:10pt;&quot;&gt;http://BTSTest.InputSchema&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;color:blue;font-size:10pt;&quot;&gt;&amp;quot;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;margin:0cm 0cm 0pt 24pt;padding:0cm;border:currentcolor;line-height:normal;&quot;&gt;&lt;b&gt;&lt;span style=&quot;color:red;font-size:10pt;&quot;&gt;&amp;#160;&lt;/span&gt;&lt;/b&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt; &lt;span style=&quot;color:blue;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;color:rgb(153, 0, 0);&quot;&gt;Parameter&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;b&gt;Parameter_0&lt;/b&gt;&lt;span style=&quot;color:blue;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:rgb(153, 0, 0);&quot;&gt;Parameter&lt;/span&gt;&lt;span style=&quot;color:blue;&quot;&gt;&amp;gt;&lt;/span&gt;         &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;    &lt;p class=&quot;MsoNormal&quot; style=&quot;margin:0cm 0cm 0pt 24pt;padding:0cm;border:currentcolor;line-height:normal;&quot;&gt;&lt;span style=&quot;color:blue;font-size:10pt;&quot;&gt;&amp;lt;/&lt;/span&gt;&lt;span style=&quot;color:rgb(153, 0, 0);font-size:10pt;&quot;&gt;ns0:ProcessRequest&lt;/span&gt;&lt;span style=&quot;color:blue;font-size:10pt;&quot;&gt;&amp;gt;&lt;/span&gt;&lt;span style=&quot;font-size:10pt;&quot;&gt;       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt; &lt;/div&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;And we want to generate the following XML output from it:     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;div style=&quot;padding:1pt 4pt;border:1pt solid windowtext;&quot;&gt;   &lt;p class=&quot;MsoNormal&quot; style=&quot;padding:0cm;border:currentcolor;line-height:normal;margin-bottom:0pt;&quot;&gt;&lt;span style=&quot;background:white;color:blue;font-family:consolas;font-size:9.5pt;&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span style=&quot;background:white;color:rgb(163, 21, 21);font-family:consolas;font-size:9.5pt;&quot;&gt;ProcessRoot&lt;/span&gt;&lt;span style=&quot;background:white;color:blue;font-family:consolas;font-size:9.5pt;&quot;&gt; &lt;/span&gt;&lt;span style=&quot;background:white;color:red;font-family:consolas;font-size:9.5pt;&quot;&gt;ID&lt;/span&gt;&lt;/div&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10445614</guid>
         <pubDate>Sat, 31 Aug 2013 10:37:13 +0000</pubDate>
      </item>
      <item>
         <title>BizTalk Cop installation and configuration for VS 2012</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/08/17/biztalk-cop-installation-and-configuration-for-vs-2012.aspx</link>
         <description>&lt;p&gt;I faced a requirement today that I need to enable some BizTalk best practices and create a custom check-in policy for these practices while the developers are checking in code. While searching the internet I found the BizTalk Cop (which is a great tool) that does exactly that, but unfortunately this tool supports only Visual Studio 2010 and BizTalk 2010 and does not support BizTalk 2013 and visual studio 2012. So the challenge was how to enable this to work with Visual Studio 2012. Another challenge that I had was to create a default custom check-in policy and a rules set that is enabled by default on TFS that would only allow the developers to check-in their code if they enable this rule set.&lt;/p&gt;  &lt;p&gt;The solution that I performed involved the following changes (updates)&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;I copied the DLL “BizTalkCop.Rules.dll” to the folder “C:&amp;#92;Program Files (x86)&amp;#92;Microsoft Visual Studio 11.0&amp;#92;Team Tools&amp;#92;Static Analysis Tools&amp;#92;FxCop&amp;#92;Rules”&lt;/li&gt;    &lt;li&gt;I created a file called “BizTalkRules.ruleset” (attached at the end of this article) containing the set of rules that are enabled by default for the projects.&lt;/li&gt;    &lt;li&gt;I copied the file “BizTalkRules.ruleset” to the folder “C:&amp;#92;Program Files (x86)&amp;#92;Microsoft Visual Studio 11.0&amp;#92;Team Tools&amp;#92;Static Analysis Tools&amp;#92;Rule Sets”&lt;/li&gt;    &lt;li&gt;Changed the file “devenv.exe.config” in the folder “C:&amp;#92;Program Files (x86)&amp;#92;Microsoft Visual Studio 11.0&amp;#92;Common7&amp;#92;IDE” so that it redirects all FxCop dependencies from the 10.0 and 9.0 versions to the 11.0 version in the assembly binding section as follows:      &lt;br /&gt;&lt;/li&gt;    &lt;p&gt;&amp;lt;dependentAssembly&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;FxCopCommon&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;lt; /dependentAssembly&amp;gt;       &lt;br /&gt;&amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;FxCopSdk&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;lt; /dependentAssembly&amp;gt;       &lt;br /&gt;&amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;Microsoft.Cci&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;lt; /dependentAssembly&amp;gt;       &lt;br /&gt;&amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;Microsoft.VisualStudio.CodeAnalysis&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;lt; /dependentAssembly&amp;gt;       &lt;br /&gt;&amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;Microsoft.VisualStudio.CodeAnalysis.Common&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;lt; /dependentAssembly&amp;gt;       &lt;br /&gt;&amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;Microsoft.VisualStudio.CodeAnalysis.Interop&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;lt; /dependentAssembly&amp;gt;&lt;/p&gt;    &lt;li&gt;Changed the file “FxCopCmd.exe.config” in the folder “C:&amp;#92;Program Files (x86)&amp;#92;Microsoft Visual Studio 11.0&amp;#92;Team Tools&amp;#92;Static Analysis Tools&amp;#92;FxCop” so that it redirects all FxCop dependencies from the 10.0 and 9.0 versions to the 11.0 version in the assembly binding section as follows:      &lt;br /&gt;&lt;/li&gt;    &lt;p&gt;&amp;lt;assemblyBinding xmlns=&amp;quot;urn:schemas-microsoft-com:asm.v1&amp;quot;&amp;gt;      &lt;br /&gt;&amp;#160; &amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;FxCopCommon&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt;/dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;FxCopSdk&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt;/dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;Microsoft.Cci&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt;/dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;Microsoft.VisualStudio.CodeAnalysis&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt;/dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;Microsoft.VisualStudio.CodeAnalysis.Common&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt;/dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt; dependentAssembly&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; assemblyIdentity name=&amp;quot;Microsoft.VisualStudio.CodeAnalysis.Interop&amp;quot; publicKeyToken=&amp;quot;b03f5f7f11d50a3a&amp;quot; culture=&amp;quot;neutral&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt; bindingRedirect oldVersion=&amp;quot;9.0.0.0&amp;quot; newVersion=&amp;quot;11.0.0.0&amp;quot;/&amp;gt;       &lt;br /&gt;&amp;#160; &amp;lt;/dependentAssembly&amp;gt;       &lt;br /&gt;&amp;lt; /assemblyBinding&amp;gt;&lt;/p&gt;    &lt;li&gt;Restart VS 2012&lt;/li&gt;    &lt;li&gt;I enabled a default check-in policy using the source control settings as per the below screen shoots      &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4174.image_5F00_1C45AE27.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7510.image_5F00_thumb_5F00_158E90A5.png&quot; width=&quot;667&quot; height=&quot;424&quot;/&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2477.image_5F00_531B2CC7.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7610.image_5F00_thumb_5F00_4584A85A.png&quot; width=&quot;807&quot; height=&quot;646&quot;/&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7120.image_5F00_0C8A02F3.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5775.image_5F00_thumb_5F00_0918457E.png&quot; width=&quot;537&quot; height=&quot;409&quot;/&gt;&lt;/a&gt;       &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2728.image_5F00_623A0970.png&quot;&gt;&lt;/a&gt;&lt;/ol&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10442494</guid>
         <pubDate>Sat, 17 Aug 2013 18:13:51 +0000</pubDate>
      </item>
      <item>
         <title>SQL 2012 Unattended installation &amp; Configuration file creation</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/07/30/sql-2012-unattended-installation-amp-configuration-file-creation.aspx</link>
         <description>&lt;h2&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Introduction     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;In many cases you might be faced with a requirement to perform an unattended SQL Server 2012 installation. To perform SQL Server 2012 installation you need to perform many choices and steps to configure your installation so the question is how to provide all these details during an unattended installation?     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;h2&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Solution     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;There are many methods to perform SQL 2012 unattended installation, one of these methods is to perform image preparation which is greatly enhanced in SQL 2012. This might be a topic for a different post but for this post I wanted to concentrate on another method which is to use a configuration file to configure the installation.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;To perform an unattended installation using a configuration file it is simple you just need to write the following command line at a new command prompt.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Setup.exe /ConfigurationFile=SQLConfigurationFile.ini     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Simple, right? But the question now is how can I generate this configuration file?     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Actually the answer is also very simple.      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;1.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;You simply start setup normally by double clicking on Setup.exe     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;2.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Click on installation on the left.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;3.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Click on “New SQL server stand-alone installation or add features to an existing installation”     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;4.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Go through the normal setup and choose all components you wish to be installed during the unattended installation.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;5.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;On the “Ready to Install” screen you will find the path to the created configuration file as per the screen below     &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6683.clip_5F00_image002_5F00_1A03524F.jpg&quot;&gt;&lt;img title=&quot;clip_image002&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;clip_image002&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4760.clip_5F00_image002_5F00_thumb_5F00_76A637DC.jpg&quot; width=&quot;832&quot; height=&quot;629&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;6.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Copy the created configuration file and then cancel this installation.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;     &lt;p&gt;&amp;#160;&lt;/p&gt;   &lt;/span&gt;&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=10438035&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10438035</guid>
         <pubDate>Tue, 30 Jul 2013 12:18:22 +0000</pubDate>
      </item>
      <item>
         <title>Fixed: BizTalk 2013 BAM Portal configuration problem</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/07/28/fixed-biztalk-2013-bam-portal-configuration-problem.aspx</link>
         <description>&lt;h2&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The Problem     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;When configuring BizTalk Server 2013 RTM on a multi-computer environment you might face multiple issues that are new and did not exist in previous versions of BizTalk server. One of these issues that I faced was when you try to configure the BAM portal after you have configured the BAM Alerts service. Of course you already know that the BAM alerts in BizTalk 2013 is using a new model of Database mail instead of SQL server 2005 notification services (finally) but it seems this caused some problems. In this scenario the configuration failed and when you open the log you see this error.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;div style=&quot;padding:1pt 4pt;border:1pt solid windowtext;margin-right:0cm;margin-left:36pt;&quot;&gt;   &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;padding:0cm;border:currentcolor;margin-left:0cm;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Error encountered: Could not install BAM Portal, error with regard to “BAM Management Web Service User”       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt;    &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;padding:0cm;border:currentcolor;margin-left:0cm;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Error thrown: “Attempted to read or write protected memory. This is often an indication that other memory is corrupt.”       &lt;p&gt;&lt;/p&gt;     &lt;/span&gt; &lt;/div&gt;  &lt;h2&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The Solution     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h2&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;When I started looking at this error I started thinking that the BizTalk configuration application is corrupted so I restarted it, with no luck. I then restarted the entire machine with no luck. I then started to look into the log file more carefully and found that there is another error being reported before this one complaining about a problem with one database role called “NSSubscriberAdmin” in the BAM Alert Application database.     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;I opened this database and I could not find this role defined in it. I started to search the internet for someone who faced this problem with BizTalk 2013 and I found one &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.brauwers.nl/2013/03/23/biztalk-2013-rtm-installation-and-configuration-issues-i-encountered-and-how-to-fix-them/&quot;&gt;here&lt;/a&gt;. He is suggesting to just add the role “NSSubscriberAdmin” to the BAM Alert Application database. So I did this and it worked.       &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;BUT when I started thinking of what I did, I thought this is wrong since the configuration application did something using this role and this role is not used anywhere in the application so this must hunt me back sometime later. So I opened the SQL management studio and looked at this role and what the configuration application did to it. I found that it actually added the BAM Management Web Service user to this role! So this will be used by this service; what I found also is that there is another role in this database called “BTS_SubscriberAdmin” role (rings any bells ;) ) so I am thinking this is the true role that the configuration application should have used. So what I did is that I added the “BAM Management Web Service User” to this role “BTS_SubscriberAdmin”. I hope that this is enough to make the solution work with no problems. &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family:wingdings;&quot;&gt;&lt;span style=&quot;&quot;&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Happy BizTalking ;)     &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=10437546&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10437546</guid>
         <pubDate>Sun, 28 Jul 2013 10:23:40 +0000</pubDate>
      </item>
      <item>
         <title>Fixed: BizTalk 2013 BAM tools configuration problem</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/07/26/fixed-biztalk-2013-bam-tools-configuration-problem.aspx</link>
         <description>&lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The Problem      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;When configuring BizTalk Server 2013 RTM on a multi-computer environment you might face multiple issues that are new and did not exist in previous versions of BizTalk server. One of these issues that I faced was when the BizTalk Server and the database server are two separate servers. I was trying to configure only BAM tools and without the configuration of the BAM alerts. Of course you already know that the BAM alerts in BizTalk 2013 is using a new model of Database mail instead of SQL server 2005 notification services (finally) but it seems this caused some problems. In this scenario the configuration failed and when you open the log you see this error. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;div style=&quot;padding:1pt 4pt;border:1pt solid windowtext;margin-right:0cm;margin-left:36pt;&quot;&gt;   &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;padding:0cm;border:currentcolor;margin-left:0cm;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;[Info] BAMTools Determining version of Microsoft SQL Server installed on server. &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;padding:0cm;border:currentcolor;margin-left:0cm;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;[Error] BAMTools Error configuring &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;padding:0cm;border:currentcolor;margin-left:0cm;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&lt;/span&gt;Error determining version of Microsoft SQL Server installed on server. (Microsoft.BizTalk.Bam.CfgExtHelper.Utility) &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;padding:0cm;border:currentcolor;margin-left:0cm;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&lt;/span&gt;A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) (.Net SqlClient Data Provider) &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;padding:0cm;border:currentcolor;margin-left:0cm;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&amp;#160;&lt;/span&gt;The system cannot find the file specified () &lt;/span&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt;    &lt;p&gt;&lt;/p&gt; &lt;/div&gt;  &lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The Solution      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;This is a known and reported issue in BizTalk server 2013 and there are two workarounds for this issue: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;1-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Install SQL Server 2005 Notification services on the BizTalk server machine. (again &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family:wingdings;&quot;&gt;&lt;span style=&quot;&quot;&gt;L&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;) I personally do not like this option as you are installing something you are not using. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;2-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Configure the SQL server 2012 database mail and configure both the BAM tools and BAM alerts at the same time. This is a good option if you are going to use BAM alerts but if you are not going to use it then you are configuring a feature that you will not be using. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The official and recommended solution for this is to install the already available Hot Fix for this issue. This hot fix would be automatically installed on the BizTalk server if it has internet access, but like my case where the servers does not&lt;span style=&quot;&quot;&gt;&amp;#160; &lt;/span&gt;have internet access I had to manually download and install it. Please find the download for this hot fix here. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://support.microsoft.com/kb/2838133&quot;&gt;http://support.microsoft.com/kb/2838133&lt;/a&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;/span&gt;&lt;/p&gt;&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=10437268&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10437268</guid>
         <pubDate>Fri, 26 Jul 2013 12:48:57 +0000</pubDate>
      </item>
      <item>
         <title>Securing Dynamic Data ASP.NET SQL Azure Published Web Site with ACS and Facebook as an Identity Provider</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/04/27/securing-dynamic-data-asp-net-sql-azure-published-web-site-with-acs-and-facebook-as-an-identity-provider.aspx</link>
         <description>&lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The Scenario      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;I wanted to implement an Azure web site that is using the Azure Access Control Service and integrates with an external identity provider to authenticate and authorize users. At first I thought of using Windows Live ID but it has a problem that the only claim offered by WLID is the unique identified which is simply a number and represents nothing from the user. Then I thought why not make things more interesting and use Facebook. I think things got more interesting than I thought. &lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family:wingdings;&quot;&gt;&lt;span style=&quot;&quot;&gt;J&lt;/span&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt; &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;I wanted to implement a Dynamic database access web site so that it generates the views on top of an existing SQL Azure database and lets the end user manipulate the database tables and filter them. This is using Linq-to-SQL classes. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;I am using Visual Studio 2012 latest version. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;h1&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The Steps highlights      &lt;p&gt;&lt;/p&gt;   &lt;/span&gt;&lt;/h1&gt;  &lt;p class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;The steps at a glance of how to get this up and going are as below: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;1-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Create your project: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;a.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Create your database. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;b.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Create a new Dynamic ASP.NET project. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;c.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Add a Linq-To-SQL model to your database. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;d.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Change the Framework version of the project. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;e.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Set the “&lt;/span&gt;&lt;span style=&quot;background:white;color:black;line-height:107%;font-family:consolas;font-size:9.5pt;&quot;&gt;ScaffoldAllTables&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;” to true. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;2-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Download the latest “Identity and access tool” &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;3-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Create a new Azure web site and download the publishing settings. &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;4-&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Setup your identify provider: &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;a.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;Create a new Azure ACS namespace &lt;/span&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;p class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left:72pt;&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;b.&lt;span style=&quot;font:7pt/normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10414497</guid>
         <pubDate>Sat, 27 Apr 2013 16:06:11 +0000</pubDate>
      </item>
      <item>
         <title>SharePoint Group Calendar, Adding default users</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/04/10/sharepoint-group-calendar-adding-default-users.aspx</link>
         <description>&lt;h1&gt;The Problem&lt;/h1&gt;  &lt;p&gt;One feature of SharePoint is to create a calendar and make it a group calendar. This allows the user to see the schedule of list of people at the same time on the same view as per the image below.&lt;/p&gt;  &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/8666.image_5F00_7CDE8183.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3173.image_5F00_thumb_5F00_3AF79C35.png&quot; width=&quot;853&quot; height=&quot;397&quot;/&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;To configure the Calendar as a group Calendar you need to edit the List settings and then click on “&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;https://spsites.microsoft.com/sites/momalek/_layouts/15/ListGeneralSettings.aspx?List=%7BE6016C6E%2DB99E%2D4D1F%2DB354%2DF4C8FB88DAEB%7D&quot;&gt;List name, description and navigation&lt;/a&gt;” and finally select the radio button as per the image below.&lt;/p&gt;  &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0755.image_5F00_11A05437.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1030.image_5F00_thumb_5F00_36BD9EA3.png&quot; width=&quot;552&quot; height=&quot;477&quot;/&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;So all this is SharePoint out of the box functionality. So where is the problem?&lt;/p&gt;  &lt;p&gt;The problem is that to get the view of all calendar of your work group every time you open the calendar view you need to add each one of them individually! And I could not find any way to persist this information so that it would open the calendar view automatically with the people added as per the list you see in the first image. So lets get to work.&lt;/p&gt;  &lt;h1&gt;The Solution&lt;/h1&gt;  &lt;p&gt;The way I fixed this is using Java script. &lt;/p&gt;  &lt;p&gt;To be able to do this I used the following script.&lt;/p&gt;  &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;862&quot; border=&quot;0&quot;&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;860&quot;&gt;         &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;847&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;             &lt;tr&gt;               &lt;td valign=&quot;top&quot; width=&quot;845&quot;&gt;                 &lt;blockquote&gt;                   &lt;p&gt;var sel = SP.UI.ApplicationPages.CalendarSelector.instance().getSelector(1, 'WPQ12');                      &lt;br /&gt;sel.selectEntities(ret, true); &lt;/p&gt;                 &lt;/blockquote&gt;               &lt;/td&gt;             &lt;/tr&gt;           &lt;/tbody&gt;&lt;/table&gt;          &lt;p&gt;You need two things to be able to perform the above script, the ID of the calendar web part (WPQ12 above) and the XML script to be able to add the required individuals. The way to do this is to follow the following steps:            &lt;br /&gt;&lt;/p&gt;          &lt;h3&gt;Step 1: Getting the XML to add the required users&lt;/h3&gt;          &lt;ol&gt;           &lt;li&gt;Install and start Fiddler&lt;/li&gt;            &lt;li&gt;Click on the ribbon on the small arrow below “people” then “Add Person or Group”              &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4643.image_5F00_2D816362.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7608.image_5F00_thumb_5F00_251D8E0B.png&quot; width=&quot;430&quot; height=&quot;244&quot;/&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;This will give you the dialog to select the users, add all required users to be added by default to the Calendar view and then click “Ok” as image below              &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0743.image_5F00_02E58285.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2500.image_5F00_thumb_5F00_5202CB19.png&quot; width=&quot;732&quot; height=&quot;666&quot;/&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;See Fiddler log to find an entry to add the users as per the below.              &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3482.image_5F00_75DB7CA6.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3173.image_5F00_thumb_5F00_69012688.png&quot; width=&quot;773&quot; height=&quot;45&quot;/&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;Then click on the response as text view you will find the Entities string as per the image below.              &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5557.image_5F00_06FF347D.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6622.image_5F00_thumb_5F00_59DA21E1.png&quot; width=&quot;811&quot; height=&quot;452&quot;/&gt;&lt;/a&gt; &lt;/li&gt;            &lt;li&gt;Copy this text to be used later in your script.&lt;/li&gt;         &lt;/ol&gt;          &lt;h3&gt;Step 2: Getting the web part ID&lt;/h3&gt;          &lt;ol&gt;           &lt;li&gt;Open the page with the calendar web part&lt;/li&gt;            &lt;li&gt;Open the IE developer tools (F12)&lt;/li&gt;            &lt;li&gt;Click on the selector arrow and then on the calendar web part (most top level)&lt;/li&gt;            &lt;li&gt;In the developer tools view you should see Id of the web part as below              &lt;br /&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0361.image_5F00_035DC748.png&quot;&gt;&lt;img title=&quot;image&quot; style=&quot;display:inline;&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6710.image_5F00_thumb_5F00_22343B26.png&quot; width=&quot;779&quot; height=&quot;224&quot;/&gt;&lt;/a&gt; &lt;/li&gt;         &lt;/ol&gt;          &lt;h3&gt;Step 3: Create the required script file&lt;/h3&gt;          &lt;ol&gt;           &lt;li&gt;Use the information gathered to construct a JS file as below&lt;/li&gt;         &lt;/ol&gt;          &lt;table cellspacing=&quot;0&quot; cellpadding=&quot;2&quot; width=&quot;827&quot; border=&quot;1&quot;&gt;&lt;tbody&gt;             &lt;tr&gt;               &lt;td valign=&quot;top&quot; width=&quot;825&quot;&gt;                 &lt;p&gt;function _firstTime() { &lt;/p&gt;                  &lt;p&gt;//need to select the calendar tab so we can override the onlick method on some of the buttons.                    &lt;br /&gt;SelectRibbonTab('Ribbon.Calendar.Calendar', true); &lt;/p&gt;                  &lt;p&gt;//give the ribbon time to load                    &lt;br /&gt;setTimeout('_doWireUp();',2000); &lt;/p&gt;                  &lt;p&gt;} &lt;/p&gt;                  &lt;p&gt;function _doWireUp()                    &lt;br /&gt; {                     &lt;br /&gt; //change the onclick event for the group buttons to make sure it reloads our default group                     &lt;br /&gt;var weekElem = document.getElementById('Ribbon.Calendar.Calendar.Scope.WeekGroup-Large');                     &lt;br /&gt; if(weekElem)                     &lt;br /&gt;weekElem.onclick = function() {setTimeout('_setDefaultResources();',1000);return false;}; &lt;/p&gt;                  &lt;p&gt;var dayElem = document.getElementById('Ribbon.Calendar.Calendar.Scope.DayGroup-Large'); &lt;/p&gt;                  &lt;p&gt;if(dayElem)                    &lt;br /&gt;dayElem.onclick = function() {setTimeout('_setDefaultResources();',1000);return false;}; &lt;/p&gt;                  &lt;p&gt;_setDefaultResources();                    &lt;br /&gt; } &lt;/p&gt;                  &lt;p&gt;function _setDefaultResources() {&lt;/p&gt;                  &lt;p&gt;&lt;font color=&quot;#ff0000&quot;&gt;// This is the entities XML from step1&lt;/font&gt;                     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; var ret ='&amp;#92;u003cEntities c…………………………………………………………………………………………………………..&amp;#92;u002fEntities&amp;#92;u003e'; &lt;/p&gt;                  &lt;p&gt;&lt;font color=&quot;#ff0000&quot;&gt;// Put here the web part ID from step 2&lt;/font&gt; &lt;/p&gt;                  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; var sel = SP.UI.ApplicationPages.CalendarSelector.instance().getSelector(1, 'WPQ12');                    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; sel.selectEntities(ret, true);&lt;/td&gt;&lt;/table&gt;&lt;/td&gt;&lt;/table&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10409882</guid>
         <pubDate>Wed, 10 Apr 2013 06:22:23 +0000</pubDate>
      </item>
      <item>
         <title>A Small trick: How to extract a BizTalk BAM definition from an Excel sheet without installing Excel client</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/02/26/a-small-trick-how-to-extract-a-biztalk-bam-definition-from-an-excel-sheet-without-installing-excel-client.aspx</link>
         <description>&lt;p&gt;This is a small trick that I have been doing for sometime now and wanted to share. The scenario is that you have prepared the BizTalk BAM definition and you ready to deploy it to the production environment, you run the bm.exe command and you see the situation; the BAM definition file is an Excel sheet and since you do not have Excel installed on the production server the installation has failed. &lt;img class=&quot;wlEmoticon wlEmoticon-sadsmile&quot; alt=&quot;Sad smile&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1464.wlEmoticon_2D00_sadsmile_5F00_71E702AB.png&quot;/&gt;&lt;/p&gt;  &lt;p&gt;The options you have are either to your back to your development environment and export the XML from the Excel sheet or to install Excel on the production environment (not really an option).&lt;/p&gt;  &lt;p&gt;The trick is actually to open the Excel sheet in notepad as a normal text file and you would see something like this:&lt;/p&gt;  &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4682.image_5F00_1129A97F.png&quot;&gt;&lt;img style=&quot;display:inline;background-image:none;&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6761.image_5F00_thumb_5F00_34962817.png&quot; width=&quot;856&quot; height=&quot;345&quot;/&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;WOW wait a minute this XML seems familiar, right?&lt;/p&gt;  &lt;p&gt;Well you are correct this is the XML definition for the BAM view and activity. So simply copy this text and paste it in a new XML document and there you have it the XML definition of your BAM activity &lt;img class=&quot;wlEmoticon wlEmoticon-smile&quot; alt=&quot;Smile&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/0804.wlEmoticon_2D00_smile_5F00_3ED726AA.png&quot;/&gt;&lt;/p&gt;  &lt;p&gt;Happy BizTalking &lt;img class=&quot;wlEmoticon wlEmoticon-winkingsmile&quot; alt=&quot;Winking smile&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5265.wlEmoticon_2D00_winkingsmile_5F00_451DFD38.png&quot;/&gt;&lt;/p&gt;&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=10397045&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10397045</guid>
         <pubDate>Tue, 26 Feb 2013 06:36:51 +0000</pubDate>
      </item>
      <item>
         <title>How to configure SQL Database mail so send emails using Office 365 (Exchange Online): A walkthrough</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/02/25/how-to-configure-sql-database-mail-so-send-emails-using-office-365-exchange-online-a-walkthrough.aspx</link>
         <description>&lt;h1 style=&quot;margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:15pt;&quot; color=&quot;#17365d&quot;&gt;&lt;font style=&quot;font-weight:bold;&quot;&gt;Introduction&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h1&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;SQL Server has a feature called database mail. This feature allows the database server to send emails to any external entity using SMTP server. The problem happens if you have installed an on-premise SQL server and an online (Office 365) Exchange server in the cloud. How can you use this Exchange server in the cloud to send database emails?&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font color=&quot;#000000&quot; face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;This blog post provides a complete walkthrough on how to configure this. This is based on the description provided in the KB article &lt;/font&gt;&lt;/font&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;&lt;a rel=&quot;nofollow&quot; style=&quot;cursor:auto;&quot; target=&quot;_blank&quot; href=&quot;http://support.microsoft.com/kb/2600912&quot;&gt;&lt;font color=&quot;#0000ff&quot; face=&quot;Calibri&quot;&gt;&lt;u&gt;http://support.microsoft.com/kb/2600912&lt;/u&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h1 style=&quot;margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:15pt;&quot; color=&quot;#17365d&quot;&gt;&lt;font style=&quot;font-weight:bold;&quot;&gt;The Walkthrough&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h1&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/span&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;The steps start with the following.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h2 style=&quot;margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:13pt;&quot; color=&quot;#17365d&quot;&gt;&lt;font style=&quot;font-weight:bold;&quot;&gt;Step 1: Get the SMTP settings for your Exchange online server&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h2&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpFirst&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;1-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Go to the address &lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;&lt;a rel=&quot;nofollow&quot; style=&quot;cursor:auto;&quot; target=&quot;_blank&quot; href=&quot;http://dev.office.com&quot;&gt;&lt;font color=&quot;#0000ff&quot; face=&quot;Calibri&quot;&gt;&lt;u&gt;http://dev.office.com&lt;/u&gt;&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt; to sign up for a trial account for office 365.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;2-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;After the exchange service is provisioned go to the tenant administration page and click on Outlook&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;    &lt;br /&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1212.clip_5F00_image0024_5F00_3E3E7712.jpg&quot;&gt;&lt;img style=&quot;border:0px currentcolor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;&quot; title=&quot;clip_image002[4]&quot; border=&quot;0&quot; alt=&quot;clip_image002[4]&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4035.clip_5F00_image0024_5F00_thumb_5F00_745FEF61.jpg&quot; width=&quot;789&quot; height=&quot;327&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;3-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Click on the “&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3858.clip_5F00_image0034_5F00_1FC4105C.jpg&quot;&gt;&lt;img style=&quot;margin:0px;border:0px currentcolor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;&quot; title=&quot;clip_image003[4]&quot; border=&quot;0&quot; alt=&quot;clip_image003[4]&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4848.clip_5F00_image0034_5F00_thumb_5F00_70FE57B9.jpg&quot; width=&quot;21&quot; height=&quot;20&quot;/&gt;&lt;/a&gt;&lt;/span&gt;” icon and then click options&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;    &lt;br /&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3872.clip_5F00_image0054_5F00_05177443.jpg&quot;&gt;&lt;img style=&quot;margin:0px;border:0px currentcolor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;&quot; title=&quot;clip_image005[4]&quot; border=&quot;0&quot; alt=&quot;clip_image005[4]&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/4848.clip_5F00_image0054_5F00_thumb_5F00_23158237.jpg&quot; width=&quot;209&quot; height=&quot;232&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;4-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Click on “Settings for POP or IMAP access…”&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;    &lt;br /&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7585.clip_5F00_image0074_5F00_07FCB329.jpg&quot;&gt;&lt;img style=&quot;margin:0px;border:0px currentcolor;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;&quot; title=&quot;clip_image007[4]&quot; border=&quot;0&quot; alt=&quot;clip_image007[4]&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7585.clip_5F00_image0074_5F00_thumb_5F00_1030D8C0.jpg&quot; width=&quot;570&quot; height=&quot;706&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpLast&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;/font&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10396764</guid>
         <pubDate>Mon, 25 Feb 2013 13:17:55 +0000</pubDate>
      </item>
      <item>
         <title>SharePoint Provider Hosted App Walkthrough: Part 1 Preparation</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2013/02/24/sharepoint-provider-hosted-app-walkthrough-part-1-preparation.aspx</link>
         <description>&lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;SharePoint and office development model is changing to a new App model. This is the new development model for SharePoint. In this blog series I will walk you through creating a provider hosted SharePoint App that is hosted in an App part. This will show the following key features:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpFirst&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;How to prepare your environment for your App development?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;How to develop a provider hosted App that is hosted in Azure websites and linked to SharePoint Online?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;How to use the Client Object Model (CSOM) to read and write data back to SharePoint using the credentials of the logged in user?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;How to handle multi-tenancy in your App?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpLast&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;How to package and sell your App on the market place?&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;In this blog post (which is first of the series) I will provide some introduction and then will walk you through how to prepare and test your development environment with your first hello world provider hosted App.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;h1 style=&quot;margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:15pt;&quot; color=&quot;#17365d&quot;&gt;&lt;font style=&quot;font-weight:bold;&quot;&gt;Introduction&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h1&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;So the question here is, why the new development model? Looking back at SharePoint 2010, the common development approaches had a few challenges associated with them. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;With Farm Solutions, AKA Fully Trusted Solutions, custom code was deployed to the server. These types of solutions generally meant there were a lot of things to deploy to the server, even if they were all deployed in a SharePoint solution package. This also meant that most deployments required a server touch as an IT Pro with console access would need to upload the solution to the server’s solution store for deployment. In addition server outages and most SharePoint errors could usually be traced to custom code deployed to the server. These types of solutions are only available with on-prem deployments and not with hosted deployments that only allow sandbox solutions.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Sandbox solutions have their own challenges in that they are limited in the number of things you can do. Developers can work within a subset of the full server-side API and are blocked from making external database or web service calls. &lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Both of these options, farm &amp;amp; sandbox solutions, require the developer to have a solid understanding and be familiar with the SharePoint server-side API.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;To address many of the challenges developers and site owners had in previous versions of SharePoint, Microsoft has introduced a new development option for SharePoint 2013: The SharePoint App Model.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;In this new model apps do not necessary live within SharePoint. Instead the app’s business logic executes within the context of the client (browser) or externally from SharePoint. This external option could be another non-SharePoint Web server or a cloud server. Apps are also more secure in that when they need to access SharePoint resources such as lists and libraries they must be explicitly granted permissions to do so. This is implemented using OAuth. When an app is created, the developer specifies which permission the app needs in order to function. When the app is installed, the user installing the app is prompted to accept the permission requests the app needs (if they deny the permissions, the app is not installed). Once granted permissions, the apps can then talk to SharePoint using the Client Side Object Model (CSOM) or using some of the new OData services in SharePoint.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10396578</guid>
         <pubDate>Sun, 24 Feb 2013 16:24:47 +0000</pubDate>
      </item>
      <item>
         <title>Create a password dialog for Visual Studio deployment project</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2012/09/19/create-a-password-dialog-for-visual-studio-deployment-project.aspx</link>
         <description>&lt;p style=&quot;margin:0cm 0cm 0pt;&quot; class=&quot;Publishwithline&quot;&gt;&lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;&lt;/p&gt;&lt;div style=&quot;border-width:medium medium 1pt;border-style:none none solid;border-color:currentcolor currentcolor rgb(79, 129, 189);padding:0cm 0cm 2pt;list-style-type:disc;&quot;&gt;&lt;p style=&quot;margin:2pt 0cm 0pt;padding:0cm;&quot; class=&quot;underline&quot;&gt;&lt;font style=&quot;font-size:1pt;&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt;   &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;&lt;/div&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;p style=&quot;margin:0cm 0cm 6pt;list-style-type:disc;&quot; class=&quot;PadderBetweenControlandBody&quot;&gt;&lt;font style=&quot;font-size:1pt;&quot;&gt;&amp;#160;&lt;/font&gt;&lt;/p&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;h1 style=&quot;margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;&quot;&gt;&lt;font style=&quot;font-size:15pt;&quot;&gt;Introduction&lt;/font&gt;&lt;/h1&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Most of us have worked with Visual Studio deployment projects to create setup projects for components we developed. In many cases we used the custom user interface dialogs that come with Visual Studio to take extra parameters from the user. The problem happens when you require extra parameters than Visual Studio provides or custom user interface dialogs. In my case what I needed is a dialog to take username and password fields from the user and hence I wanted to apply a style to one of the edit box controls to be a password field. In the following I will show you how to create a new custom dialog and how to mark an edit box as a password field.&lt;/font&gt;&lt;/p&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;h1 style=&quot;margin:10pt 0cm 0pt;line-height:normal;clear:none;list-style-type:disc;&quot;&gt;&lt;font style=&quot;font-size:15pt;&quot;&gt;How to create a custom Visual Studio Setup dialog?&lt;/font&gt;&lt;/h1&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Visual Studio setup project has the functionality to add extra dialogs from a library of custom dialogs as shown in the figure below.     &lt;br /&gt;&lt;/font&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2625.clip_5F00_image002_5F00_611CD161.jpg&quot;&gt;&lt;img style=&quot;margin:0px;border:0px currentcolor;display:inline;background-image:none;&quot; title=&quot;clip_image002&quot; border=&quot;0&quot; alt=&quot;clip_image002&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2210.clip_5F00_image002_5F00_thumb_5F00_6C65E59E.jpg&quot; width=&quot;576&quot; height=&quot;420&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;So what I wanted to do is to customize one of the three textboxes dialog and create new one where I change one of the fields to be a password field. To do this you will need ORCA MSI editor from the Windows SDK Components for Windows Installer Developers &lt;a rel=&quot;nofollow&quot; style=&quot;cursor:auto;&quot; target=&quot;_blank&quot; href=&quot;http://msdn.microsoft.com/en-us/library/windows/desktop/aa370834(v=vs.85).aspx&quot;&gt;here&lt;/a&gt;. The steps are as follows.&lt;/font&gt;&lt;/p&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpFirst&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;1-&lt;/font&gt;&lt;span style=&quot;line-height:normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Close the Visual Studio.&lt;/font&gt;&lt;/p&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;2-&lt;/font&gt;&lt;span style=&quot;line-height:normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Browse to the folder “C:&amp;#92;Program Files (x86)&amp;#92;Microsoft Visual Studio 10.0&amp;#92;Common7&amp;#92;Tools&amp;#92;Deployment&amp;#92;VsdDialogs&amp;#92;0”and make a copy of the file “VsdCustomText3Dlg.wid” and rename it to “VsdUsernamePasswordDlg.wid”&lt;/font&gt;&lt;/p&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;3-&lt;/font&gt;&lt;span style=&quot;line-height:normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Open the file “VsdUsernamePasswordDlg.wid”in ORCA.     &lt;br /&gt;&lt;/font&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/6825.clip_5F00_image004_5F00_56BB8734.jpg&quot;&gt;&lt;img style=&quot;margin:0px;border:0px currentcolor;display:inline;background-image:none;&quot; title=&quot;clip_image004&quot; border=&quot;0&quot; alt=&quot;clip_image004&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3683.clip_5F00_image004_5F00_thumb_5F00_32D2AFDA.jpg&quot; width=&quot;576&quot; height=&quot;304&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;4-&lt;/font&gt;&lt;span style=&quot;line-height:normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Change all occurrences of “CustomTextC”to “CustomTextD” in all tables and all values.&lt;/font&gt;&lt;/p&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;5-&lt;/font&gt;&lt;span style=&quot;line-height:normal;font-size-adjust:none;font-stretch:normal;&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;In the module signature table make sure you edit the GUID and replace it with a new GUID     &lt;br /&gt;&lt;/font&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3364.clip_5F00_image006_5F00_102E715F.jpg&quot;&gt;&lt;img style=&quot;margin:0px;border:0px currentcolor;display:inline;background-image:none;&quot; title=&quot;clip_image006&quot; border=&quot;0&quot; alt=&quot;clip_image006&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3364.clip_5F00_image006_5F00_thumb_5F00_2484111D.jpg&quot; width=&quot;641&quot; height=&quot;378&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;/p&gt; &lt;font style=&quot;font-size:12pt;&quot;&gt;&lt;/font&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10350824</guid>
         <pubDate>Wed, 19 Sep 2012 13:58:10 +0000</pubDate>
      </item>
      <item>
         <title>Hyper-V Physical to virtual: Moving a natively booted VHD to be a real virtual machine</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2012/08/08/hyper-v-physical-to-virtual-moving-a-natively-booted-vhd-to-be-a-real-virtual-machine.aspx</link>
         <description>&lt;h2 style=&quot;margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Cambria&quot;&gt;&lt;font style=&quot;font-size:13pt;&quot; color=&quot;#4f81bd&quot;&gt;&lt;font style=&quot;font-weight:bold;&quot;&gt;Introduction&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;I had a requirement to migrate an existing native boot Windows Server 2008 R2 machine that was booting from an attached VHD on a physical machine to be a virtual machine in Hyper-V. The problem is that this machine had multiple boots and so the booting record was on the physical drive and the VHD image really did not have any booting information. Also because of the fact that it is booting in a physical machine it was using SATA AHCI of that machine and had the drivers to use that which is completely different form the Hyper-V implementation of the feature so I had to switch to Native IDE storage controller instead.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2 style=&quot;margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Cambria&quot;&gt;&lt;font style=&quot;font-size:13pt;&quot; color=&quot;#4f81bd&quot;&gt;&lt;font style=&quot;font-weight:bold;&quot;&gt;Resolution&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;What I did was first I created a differencing VHD disk from that virtual machine as I wanted to make sure I am not changing anything in the source VHD in case I decided to switch back to native boot. Then I created the virtual machine and used IDE controller for the HDD pointing to the differencing VHD file. Now because the VHD did not have any booting information I had to build it and I had to add the boot manager to that machine. So here are the steps.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpFirst&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;1-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Mounted the VHD using the host storage disk management.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;2-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Copied the files “bootmgr” and all contents of the folder “Boot” from a similar OS machine (Windows 2008 R2) to the root of the VHD.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;3-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Made sure that the copied files still have the system attribute set correctly.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;4-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Un-mounted the VHD from the host.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;5-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Attached a Windows 2008 R2 setup DVD to the DVD drive of the virtual machine.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;6-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Started the Virtual machine and booted from the setup DVD.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;7-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Clicked next on the setup screen with default options.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;8-&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot;&gt;Clicked repair my computer and opened command prompt.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;font color=&quot;#000000&quot;&gt;&lt;/font&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10337655</guid>
         <pubDate>Tue, 07 Aug 2012 21:28:47 +0000</pubDate>
      </item>
      <item>
         <title>ADFS 2.0 Client Certificate Authentication using test certificates</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2012/08/04/adfs-2-0-client-certificate-authentication-using-test-certificates.aspx</link>
         <description>&lt;h2 style=&quot;margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Cambria&quot;&gt;&lt;font style=&quot;font-size:13pt;&quot; color=&quot;#4f81bd&quot;&gt;&lt;font style=&quot;font-weight:bold;&quot;&gt;Introduction&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;I was developing a WCF based solution that required services to be authenticated using ADFS 2.0. The requirement was that the clients will be using client based certificates to authenticate to services. If you have a complete AD CS solution implemented that wouldn’t have been that difficult since the platform already takes care of most of the stuff already mentioned here but I wanted to test this scenario with my own testing certificates that are generated using command line tool “makecert.exe” and not a CA.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;h2 style=&quot;margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Cambria&quot;&gt;&lt;font style=&quot;font-size:13pt;&quot; color=&quot;#4f81bd&quot;&gt;&lt;font style=&quot;font-weight:bold;&quot;&gt;The Solution&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/h2&gt;  &lt;p style=&quot;margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;The steps that you need to follow are:&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpFirst&quot;&gt;&lt;span style=&quot;line-height:16pt;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font color=&quot;#1f497d&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:14pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Step 1: Create a claims aware WCF service using WIF.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;line-height:16pt;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font color=&quot;#1f497d&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:14pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Step 2: Add ADFS as an STS to the WCF service.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;line-height:16pt;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font color=&quot;#1f497d&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:14pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Step 3: Add this as a relying party in ADFS using the generated metadata.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;line-height:16pt;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font color=&quot;#1f497d&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:14pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Step 4: Build a client application and add a service reference.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;line-height:16pt;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font color=&quot;#1f497d&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:14pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Step 5: Change the issuer address to make sure it is using the ADFS certificate endpoint.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;line-height:16pt;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font color=&quot;#1f497d&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:14pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Step 6: Create a Certificate to Act as Your Client Root Certificate Authority.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;line-height:16pt;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font color=&quot;#1f497d&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:14pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Step 7: Create a Certificate Revocation List File from the Root Certificate.&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;line-height:16pt;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;font color=&quot;#1f497d&quot;&gt;&lt;font face=&quot;Symbol&quot;&gt;&lt;font style=&quot;font-size:14pt;&quot;&gt;·&lt;/font&gt;&lt;/font&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;font face=&quot;Times New Roman&quot;&gt;&lt;font style=&quot;font-size:7pt;&quot;&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; &lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;font face=&quot;Calibri&quot;&gt;&lt;font style=&quot;font-size:11pt;&quot; color=&quot;#000000&quot;&gt;Step 8: Install Your Client Root Certificate Authority on the Client and Server Machines&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/p&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10336778</guid>
         <pubDate>Fri, 03 Aug 2012 23:03:50 +0000</pubDate>
      </item>
      <item>
         <title>HIS hidden gem: Disable BiDi reversal</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2012/05/26/his-hidden-gem-disable-bidi-reversal.aspx</link>
         <description>&lt;p&gt;Recently I was working on a very complex integration project using BizTalk Server 2010 stack. This project involved integrating with legacy IBM mainframe system. The integration involved working with BizTalk Adapter for Host Applications to call Mainframe hosted applications as part of specific processes. The application mainly involved passing parameters to this COBOL application and getting the results back. Some of the parameters and results returned contained Arabic latters and characters. Arabic is a considered a complex language which requires complex language processor which is called a Transcriber. If you are familiar with the Arabic language it needs to actions to be rendered correctly:&lt;/p&gt;  &lt;p&gt;1- The shape of the Arabic letters changes according to their context; meaning that the way we write the latter differs depending upon which letter is before and after the letter we are writing. This phase we call the shaping phase.&lt;/p&gt;  &lt;p&gt;2- The second phase is the reversal; Arabic language is written from right to left and hence the characters need to be reversed for it to be rendered correctly. This phase we call the reversal phase.&lt;/p&gt;  &lt;p&gt;Usually when you are dealing with Arabic programs and languages you need to execute both these phases for correct display of the sentence. Now HIS 2010 contains a special engine that deals with complex languages such as Arabic this is the TransBIDI.dll and by default this is working as normal and performs both phases as expected.&lt;/p&gt;  &lt;p&gt;The problem we faced while integrating with the COBOL program is that it required only the execution of the shaping phase but wanted the letters not to be reversed! Although this (for me) is a strange request and initially I started to think about some sort of customizations and complex scenarios to my surprise I have found that HIS server (starting of HIS 2004) recognized this need and provided a solution to it. Although the KB article I have found talks about the DB2 adapter I found that it applies to all HIS host adapters including the Host Application adapter. Here is an excerpt of the KB article on how to apply this hot fix.&lt;/p&gt;  &lt;table border=&quot;1&quot; cellspacing=&quot;0&quot; cellpadding=&quot;0&quot;&gt;&lt;tbody&gt;     &lt;tr&gt;       &lt;td valign=&quot;top&quot; width=&quot;894&quot;&gt;         &lt;p&gt;This hotfix enables the CP420PhysicalStorage registry value. You can use this registry value to define how the OLE DB Provider for DB2 treats the string data according to the physical storage. By default, after you apply this hotfix, Host Integration Server 2004 reverses the string data that is sent to the mainframe or received from the mainframe. However, for some mainframe programs, you may not want Host Integration Server 2004 to reverse the string data.            &lt;br /&gt;To force Host Integration Server 2004 to process the string data without reversing the data, add the CP420PhysicalStorage registry value to the Host Integration Server 2004-based computer. To create the registry value, follow these steps:             &lt;br /&gt;&lt;b&gt;Warning&lt;/b&gt; Serious problems might occur if you modify the registry incorrectly by using Registry Editor or by using another method. These problems might require that you reinstall your operating system. Microsoft cannot guarantee that these problems can be solved. Modify the registry at your own risk.&lt;/p&gt;          &lt;p&gt;1. Click &lt;b&gt;Start&lt;/b&gt;, click &lt;b&gt;Run&lt;/b&gt;, type &lt;b&gt;regedit&lt;/b&gt;, and then click &lt;b&gt;OK&lt;/b&gt;.&lt;/p&gt;          &lt;p&gt;2. Locate the following registry key:&lt;/p&gt;          &lt;p&gt;HKEY_LOCAL_MACHINE&amp;#92;SOFTWARE&amp;#92;Microsoft&amp;#92;Host Integration Server&lt;/p&gt;          &lt;p&gt;3. Right-click &lt;b&gt;Host Integration Server&lt;/b&gt;, point to &lt;b&gt;New&lt;/b&gt;, and then click &lt;b&gt;DWORD Value&lt;/b&gt;.&lt;/p&gt;          &lt;p&gt;4. Type &lt;b&gt;CP420PhysicalStorage&lt;/b&gt; as the name of the registry value, and then press ENTER.&lt;/p&gt;          &lt;p&gt;5. Double-click &lt;b&gt;CP420PhysicalStorage&lt;/b&gt;, type &lt;b&gt;1&lt;/b&gt; in the &lt;b&gt;Value data&lt;/b&gt; box, and then click &lt;b&gt;OK&lt;/b&gt;.&lt;/p&gt;          &lt;p&gt;To return Host Integration Server to the default value and reverse the string data, set the CP420PhysicalStorage registry value to 0.&lt;/p&gt;       &lt;/td&gt;     &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;  &lt;p&gt;The complete KB article can be found here: &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://support.microsoft.com/default.aspx?scid=KB;EN-US;890353&quot;&gt;http://support.microsoft.com/default.aspx?scid=KB;EN-US;890353&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;I hope this saves someone else’s day as it saved mine &lt;img class=&quot;wlEmoticon wlEmoticon-winkingsmile&quot; alt=&quot;Winking smile&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1803.wlEmoticon_2D00_winkingsmile_5F00_5A7C3AC9.png&quot;/&gt;&lt;/p&gt;&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=10310676&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10310676</guid>
         <pubDate>Sat, 26 May 2012 11:23:34 +0000</pubDate>
      </item>
      <item>
         <title>Solved: Moving SharePoint 2010 Designer Workflows between Sites</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2012/04/22/solved-moving-sharepoint-2010-designer-workflows-between-sites.aspx</link>
         <description>&lt;p&gt;In man occasions you would be faced by the need to move workflows you developed using SharePoint designer from one site to another. This might be the case if for example you developed and tested the workflow on a testing environment and now wants to move to the production environment without the need to re-develop the workflow.&lt;/p&gt;  &lt;p&gt;The steps to perform this is rather simple:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Export the workflow to Visio. &lt;/li&gt;    &lt;li&gt;Edit the VWI archive and delete the configuration file. &lt;/li&gt;    &lt;li&gt;Import the workflow back to your destination site. &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;So open the SharePoint designer and open the source site. click on the workflows link on the left and then the workflow you want to move. Click on the ribbon on export to Visio button.&lt;/p&gt;  &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5415.image_5F00_054C33F5.png&quot;&gt;&lt;img style=&quot;display:inline;background-image:none;&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/5700.image_5F00_thumb_5F00_0DEC8C81.png&quot; width=&quot;856&quot; height=&quot;245&quot;/&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Now rename the file exported (VWI file) to be a ZIP file and open it with Windows Explorer. You will find a file named “workflow.xoml.wfconfig.xml” &lt;/p&gt;  &lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/1777.image_5F00_379FE1A7.png&quot;&gt;&lt;img style=&quot;display:inline;background-image:none;&quot; title=&quot;image&quot; border=&quot;0&quot; alt=&quot;image&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/2235.image_5F00_thumb_5F00_6E2D8CEB.png&quot; width=&quot;862&quot; height=&quot;215&quot;/&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Just delete this file. Now rename the archive back to be a VWI file.&lt;/p&gt;  &lt;p&gt;Now open the destination site and click the import from Visio and browse to the edited VWI file. This will allow you to re-associate your workflow as if it was created or exported from Visio rather than the designer while preserving any development made in the workflow it self.&lt;/p&gt;&lt;div style=&quot;clear:both;&quot;&gt;&lt;/div&gt;&lt;img src=&quot;http://blogs.msdn.com/aggbug.aspx?PostID=10296195&quot; width=&quot;1&quot; height=&quot;1&quot;&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10296195</guid>
         <pubDate>Sun, 22 Apr 2012 09:31:09 +0000</pubDate>
      </item>
      <item>
         <title>Creating an Active/Active SQL Cluster using Hyper-V: Part3 the Active/Active Configuration</title>
         <link>http://blogs.msdn.com/b/momalek/archive/2012/04/18/creating-an-active-active-sql-cluster-using-hyper-v-part3-the-active-active-configuration.aspx</link>
         <description>&lt;p style=&quot;margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;color:#000000;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;In &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/b/momalek/archive/2012/04/11/creating-an-active-active-sql-cluster-using-hyper-v-part1-virtualized-storage.aspx&quot;&gt;part 1&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;color:#0000ff;font-family:Calibri;&quot;&gt;&lt;span style=&quot;text-decoration:underline;&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;&lt;span style=&quot;color:#000000;font-family:Calibri;&quot;&gt; of this series I showed you how to configure the virtual storage required for the cluster. In &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/b/momalek/archive/2012/04/11/creating-an-active-active-sql-cluster-using-hyper-v-part2-the-clustered-instances.aspx&quot;&gt;part 2&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;&lt;span style=&quot;color:#000000;font-size:11pt;&quot;&gt;&amp;nbsp;of this series I showed you how to configure two SQL instances on the created windows cluster. In this part I will show you how to configure these two SQL instances into an Active/Active configuration.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Cambria;&quot;&gt;&lt;span style=&quot;color:#4f81bd;font-size:13pt;&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Introduction&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;&lt;span style=&quot;color:#000000;font-size:11pt;&quot;&gt;In this series of posts I will walk you through the processes of creating an Active/Active SQL server cluster using Hyper-V and Microsoft iSCSI target software for virtualized SAN. The target is to create first a storage server hosted on a normal Windows 2008 R2 server. Then connect to this server using two other machines as iSCSI initiators. Then I will create the windows cluster along with the DTC clustered service. A clustered SQL server instance will then be created. Finally another clustered SQL server instance will be created and Active/Active configuration of both instances will be applied.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Cambria;&quot;&gt;&lt;span style=&quot;color:#4f81bd;font-size:13pt;&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Solution Architecture&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;&lt;span style=&quot;color:#000000;font-size:11pt;&quot;&gt;The solution is fairly simple as per the below configuration.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/8053.clip_5F00_image002_5F00_37B2F13A.png&quot;&gt;&lt;img style=&quot;border-width:0px;margin:0px;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;&quot; title=&quot;clip_image002&quot; border=&quot;0&quot; alt=&quot;clip_image002&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3582.clip_5F00_image002_5F00_thumb_5F00_4A8774E4.png&quot; width=&quot;623&quot; height=&quot;434&quot;/&gt;&lt;/a&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h2 style=&quot;margin:10pt 0cm 0pt;line-height:15pt;clear:none;list-style-type:disc;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Cambria;&quot;&gt;&lt;span style=&quot;color:#4f81bd;font-size:13pt;&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Setting Active-Active Configuration&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt;
&lt;p style=&quot;margin:0cm 0cm 10pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoNormal&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;&lt;span style=&quot;color:#000000;font-size:11pt;&quot;&gt;Since we need to configure an Active/Active configuration for this cluster and we do not want any instance to depend on other components from the other instance we will have to add another DTC clustered service to the windows cluster. This is to allow the separation of the DTC service between both instances. I will also show you how to configure the SQL service to depend on its relating DTC service instance so that it moves it along with the SQL instance.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;h3 style=&quot;margin:10pt 0cm 0pt;line-height:13pt;clear:none;list-style-type:disc;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Cambria;&quot;&gt;&lt;span style=&quot;color:#4f81bd;font-size:11pt;&quot;&gt;&lt;span style=&quot;font-weight:bold;&quot;&gt;Prepare the second DTC cluster&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h3&gt;
&lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpFirst&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;1-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;span style=&quot;font-family:Times New Roman;&quot;&gt;&lt;span style=&quot;font-size:7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;&lt;span style=&quot;color:#000000;font-size:11pt;&quot;&gt;Go to the iSCSI target and create or add another shared disk to be used by the second SQL cluster&lt;/span&gt;&lt;/span&gt; &lt;br /&gt;&lt;/span&gt;&lt;span style=&quot;&quot;&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/3666.clip_5F00_image003_5F00_3A983020.png&quot;&gt;&lt;img style=&quot;border-width:0px;margin:0px;padding-top:0px;padding-right:0px;padding-left:0px;display:inline;background-image:none;&quot; title=&quot;clip_image003&quot; border=&quot;0&quot; alt=&quot;clip_image003&quot; src=&quot;http://blogs.msdn.com/cfs-file.ashx/__key/communityserver-blogs-components-weblogfiles/00-00-01-39-29-metablogapi/7382.clip_5F00_image003_5F00_thumb_5F00_2B151E51.png&quot; width=&quot;369&quot; height=&quot;132&quot;/&gt;&lt;/a&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style=&quot;margin:0cm 0cm 0pt 36pt;line-height:13pt;list-style-type:disc;&quot; class=&quot;MsoListParagraphCxSpMiddle&quot;&gt;&lt;span style=&quot;color:#000000;&quot;&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;&lt;span style=&quot;font-size:11pt;&quot;&gt;2-&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;line-height:normal;&quot;&gt;&lt;span style=&quot;font-family:Times New Roman;&quot;&gt;&lt;span style=&quot;font-size:7pt;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span dir=&quot;ltr&quot;&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;&quot; lang=&quot;EN-US&quot;&gt;&lt;span style=&quot;font-family:Calibri;&quot;&gt;&lt;span style=&quot;color:#000000;font-size:11pt;&quot;&gt;Go to one of the nodes and then open the iSCSI initiator a&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;</description>
         <guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:10294872</guid>
         <pubDate>Wed, 18 Apr 2012 09:05:00 +0000</pubDate>
      </item>
   </channel>
</rss>
<!-- fe6.yql.bf1.yahoo.com compressed/chunked Thu Oct  1 23:13:32 UTC 2015 -->
