<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Zhisheng Huang's Blog</title><link>http://blogs.msdn.com/zhisheng/default.aspx</link><description /><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>WIX XmlConfig</title><link>http://blogs.msdn.com/zhisheng/archive/2008/07/23/wix-xmlconfig.aspx</link><pubDate>Wed, 23 Jul 2008 19:20:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:8767283</guid><dc:creator>zhish</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/zhisheng/comments/8767283.aspx</comments><wfw:commentRss>http://blogs.msdn.com/zhisheng/commentrss.aspx?PostID=8767283</wfw:commentRss><description>&lt;FONT color=#ff0000 size=2&gt;&lt;FONT color=#ff0000 size=2&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Can't find&amp;nbsp;good documents on&amp;nbsp;WIX XmlConfig.&amp;nbsp;There are some posts with examples that help me getting started:&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://blogs.msdn.com/gisenberg/archive/2007/10/09/wix-v3-and-xmlconfig-xmlfile-troubleshooting.aspx" mce_href="http://blogs.msdn.com/gisenberg/archive/2007/10/09/wix-v3-and-xmlconfig-xmlfile-troubleshooting.aspx"&gt;http://blogs.msdn.com/gisenberg/archive/2007/10/09/wix-v3-and-xmlconfig-xmlfile-troubleshooting.aspx&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg18757.html" mce_href="http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg18757.html"&gt;http://www.mail-archive.com/wix-users@lists.sourceforge.net/msg18757.html&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Here is the summary of what I learned from the try-and-error approach, &amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;VerifyPath &lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;when setting attribute value, it&amp;nbsp;has no effect&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;when creating element&lt;/FONT&gt;&lt;/LI&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;if exists, XmlConfig does nothing - skip the action and also all the XmlConfig that reference the id;&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;if not, creates the element, and other XmlConfig that reference the Id;&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;ElementPath reference Id&lt;/FONT&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;Does not work when Node is 'value' - it fails saying the path can not be found.&lt;/FONT&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;FONT color=#000000&gt;It works when Node is 'element'&lt;/FONT&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;FONT color=#000000&gt;Modifying attribute:&lt;/FONT&gt;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;FONT color=#000000&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;util:XmlConfig Id='SetServiceCertificateFindValue'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; On='install' &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Action='create'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Sequence='100'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; File='[WebConfigFilePath]'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ElementPath='[XPath_serviceCredentials]/serviceCertificate'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Node='value'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Name='findValue'&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Value='[SERVICE_CERTIFICATE_FIND_VALUE]' /&amp;gt;&lt;BR&gt;&lt;/FONT&gt;&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=8767283" width="1" height="1"&gt;</description><category domain="http://blogs.msdn.com/zhisheng/archive/tags/Setup/default.aspx">Setup</category><category domain="http://blogs.msdn.com/zhisheng/archive/tags/MSI/default.aspx">MSI</category><category domain="http://blogs.msdn.com/zhisheng/archive/tags/XmlConfig/default.aspx">XmlConfig</category><category domain="http://blogs.msdn.com/zhisheng/archive/tags/WIX/default.aspx">WIX</category></item><item><title>file based workflow peristence service</title><link>http://blogs.msdn.com/zhisheng/archive/2006/11/30/file-based-workflow-peristence-service.aspx</link><pubDate>Fri, 01 Dec 2006 02:43:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1179990</guid><dc:creator>zhish</dc:creator><slash:comments>1</slash:comments><comments>http://blogs.msdn.com/zhisheng/comments/1179990.aspx</comments><wfw:commentRss>http://blogs.msdn.com/zhisheng/commentrss.aspx?PostID=1179990</wfw:commentRss><description>&lt;P&gt;WF comes with SqlWorkflowPersistenceService out of the box. But SQL is not always available, or you may just want to try your workflow program with the persistence. I implemented a file based persistence service as attached. Note it does not implement the UnlockWorkflowInstanceState which is needed only when multiple workflow runtime share the instance persistence store. &lt;/P&gt;
&lt;P&gt;To use it, simply add the service to the runtime.&amp;nbsp;&lt;FONT size=2&gt;&lt;/P&gt;
&lt;P&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;FileWorkFlowPersisetenceService&lt;/FONT&gt;&lt;FONT size=2&gt; fServ = &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;new&lt;/FONT&gt;&lt;FONT size=2&gt; &lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;FileWorkFlowPersisetenceService&lt;/FONT&gt;&lt;FONT size=2&gt;(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"."&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;workflowRuntime.AddService(fServ);&lt;/P&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;&lt;FONT size=2&gt;
&lt;P&gt;UnloadOnIdle returns true always in the implementation. So you can see that the workflow is persisted after each call when it becomes idled if you hook up the appropriate event:&lt;/P&gt;&lt;FONT size=2&gt;
&lt;P&gt;workflowRuntime.WorkflowPersisted += &lt;/FONT&gt;&lt;FONT color=#0000ff size=2&gt;delegate&lt;BR&gt;&lt;/FONT&gt;&lt;FONT size=2&gt;{&lt;BR&gt;&lt;/FONT&gt;&lt;FONT color=#008080 size=2&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Console&lt;/FONT&gt;&lt;FONT size=2&gt;.WriteLine(&lt;/FONT&gt;&lt;FONT color=#800000 size=2&gt;"Workflow persisted"&lt;/FONT&gt;&lt;FONT size=2&gt;);&lt;BR&gt;};&lt;/P&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1179990" width="1" height="1"&gt;</description><enclosure url="http://blogs.msdn.com/zhisheng/attachment/1179990.ashx" length="2530" type="text/plain" /></item><item><title>.NET Framework 3.0 shipped!</title><link>http://blogs.msdn.com/zhisheng/archive/2006/11/10/net-framework-3-0-shipped.aspx</link><pubDate>Fri, 10 Nov 2006 20:58:00 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1054919</guid><dc:creator>zhish</dc:creator><slash:comments>0</slash:comments><comments>http://blogs.msdn.com/zhisheng/comments/1054919.aspx</comments><wfw:commentRss>http://blogs.msdn.com/zhisheng/commentrss.aspx?PostID=1054919</wfw:commentRss><description>&lt;P&gt;.NET Framework 3.0 contains WCF, WPF and WWF. It is shipped !&amp;nbsp;&amp;nbsp;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en" mce_href="http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=10CC340B-F857-4A14-83F5-25634C3BF043&amp;amp;displaylang=en&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;The Windows SDK for Windows Vista and .NET Framework 3.0 can be downloaded from&amp;nbsp;&lt;A href="http://www.microsoft.com/downloads/details.aspx?FamilyId=C2B1E300-F358-4523-B479-F53D234CDCCF&amp;amp;displaylang=en"&gt;http://www.microsoft.com/downloads/details.aspx?FamilyId=C2B1E300-F358-4523-B479-F53D234CDCCF&amp;amp;displaylang=en&lt;/A&gt;.&lt;/P&gt;&lt;img src="http://blogs.msdn.com/aggbug.aspx?PostID=1054919" width="1" height="1"&gt;</description></item></channel></rss>