<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/">
    <channel>
        <title>Windows Server</title>
        <link>http://blogs.interakting.co.uk/steve/category/63.aspx</link>
        <description>Microsoft Windows Server (all recent versions)</description>
        <language>en-GB</language>
        <copyright>Stephen Horsfield</copyright>
        <managingEditor>stephen.horsfield@interakting.co.uk</managingEditor>
        <generator>Subtext Version 1.9.5.177</generator>
        <item>
            <title>WCF and EPiServer: Using WCF Web Programming Model Services in EPiServer sites on IIS 7</title>
            <link>http://blogs.interakting.co.uk/steve/archive/2008/11/20/wcf-and-episerver-using-wcf-web-programming-model-services-in.aspx</link>
            <description>&lt;p&gt;I've just managed to get the &lt;a title="Microsoft .NET Framework" target="_blank" href="http://msdn2.microsoft.com/en-gb/netframework/default.aspx"&gt;.NET&lt;/a&gt; 3.5 style of WCF Web Programming Model services to work inside an &lt;a title="EPiServer Content Management System" target="_blank" href="http://www.episerver.com"&gt;EPiServer&lt;/a&gt; 5 R2 site on IIS 7 and Windows 2008.  I had a few difficulties finding out how to integrate the new model into IIS/ASP.NET and then further problems getting it working in EPiServer.  Here, I outline the solution.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I'm currently designing a site that will be using the Akamai Edge Suite of technologies (&lt;a href="http://www.akamai.com"&gt;www.akamai.com&lt;/a&gt;) and so I desire that all client access is through the caching layer.  Additionally, I'm motivated towards a REST model for web services to support a greater degree of caching.&lt;/p&gt;
&lt;p&gt;The new WCF Web Programming Model is ideal for this purpose as I can wrap service parameters directly into the URL and reduce the coding effort considerably.  I had been concerned about the integration of services into the same website as EPiServer because of how the URL mapping works in the Web Programming Model.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The solution is really easy once you realise that the typical EPiServer installation changes the default ASP.NET configuration.  Specifically, you may need the following:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Create a new folder to host your services &lt;/li&gt;
    &lt;li&gt;Create a small web.config in this folder (or use location tags in the main web.config file) and add service handlers &lt;/li&gt;
    &lt;li&gt;Create a ".svc" file for the service &lt;/li&gt;
    &lt;li&gt;Create the supporting .NET service code &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;u&gt;Create a new folder to host your services&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;This is necessary to allow a separate application configuration.  You can change the main application configuration at your own risk, however :)&lt;/p&gt;
&lt;p&gt;For the purposes of this post, I'll use "~/services/".&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Create a small web.config for this folder and add service handlers&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;You'll need to add the following:&lt;/p&gt;
&lt;div&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;&amp;lt;?&lt;/span&gt;&lt;span class="html"&gt;xml&lt;/span&gt; &lt;span class="attr"&gt;version&lt;/span&gt;&lt;span class="kwrd"&gt;="1.0"&lt;/span&gt; &lt;span class="attr"&gt;encoding&lt;/span&gt;&lt;span class="kwrd"&gt;="UTF-8"&lt;/span&gt;?&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;system.webServer&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;handlers&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="svc-ISAPI"&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt;&lt;span class="kwrd"&gt;="*.svc"&lt;/span&gt; &lt;span class="attr"&gt;verb&lt;/span&gt;&lt;span class="kwrd"&gt;="*"&lt;/span&gt; &lt;span class="attr"&gt;modules&lt;/span&gt;&lt;span class="kwrd"&gt;="IsapiModule"&lt;/span&gt; 
           &lt;span class="attr"&gt;scriptProcessor&lt;/span&gt;&lt;span class="kwrd"&gt;="%SystemRoot%\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll"&lt;/span&gt;
           &lt;span class="attr"&gt;resourceType&lt;/span&gt;&lt;span class="kwrd"&gt;="Unspecified"&lt;/span&gt; 
           &lt;span class="attr"&gt;preCondition&lt;/span&gt;&lt;span class="kwrd"&gt;="classicMode,runtimeVersionv2.0,bitness32"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
      &lt;span class="kwrd"&gt;&amp;lt;&lt;/span&gt;&lt;span class="html"&gt;add&lt;/span&gt; &lt;span class="attr"&gt;name&lt;/span&gt;&lt;span class="kwrd"&gt;="ServiceHost"&lt;/span&gt; &lt;span class="attr"&gt;path&lt;/span&gt;&lt;span class="kwrd"&gt;="*.svc"&lt;/span&gt; &lt;span class="attr"&gt;verb&lt;/span&gt;&lt;span class="kwrd"&gt;="*"&lt;/span&gt;
           &lt;span class="attr"&gt;type&lt;/span&gt;&lt;span class="kwrd"&gt;="System.ServiceModel.Activation.HttpHandler, System.ServiceModel,
                 Version=3.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"&lt;/span&gt;
           &lt;span class="attr"&gt;resourceType&lt;/span&gt;&lt;span class="kwrd"&gt;="Unspecified"&lt;/span&gt; &lt;span class="attr"&gt;preCondition&lt;/span&gt;&lt;span class="kwrd"&gt;="integratedMode"&lt;/span&gt; &lt;span class="kwrd"&gt;/&amp;gt;&lt;/span&gt;
    &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;handlers&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
  &lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;system.webServer&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;
&lt;span class="kwrd"&gt;&amp;lt;/&lt;/span&gt;&lt;span class="html"&gt;configuration&lt;/span&gt;&lt;span class="kwrd"&gt;&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;Now I took this from a cleanly created website with no configuration (using the IIS management console) and I recommend that you do the same.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Create a ".svc" file for the service&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;This file is created in the service folder and forms part of the URL so name it accordingly.  I'll just use "service.svc" for illustration:&lt;/p&gt;
&lt;div&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="asp"&gt;&amp;lt;%@ ServiceHost Language="C#" Service="Service" CodeBehind="~/App_Code/service.cs"
    Factory="System.ServiceModel.Activation.WebServiceHostFactory" %&amp;gt;&lt;/span&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;You should name your services more appropriately, of course.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Create the supporting .NET service code&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;So, you need to create the classes.  Here, I'm using a simple file in the App_Code folder, but you might prefer to use a separate code project and assembly.  Here's a simple example:&lt;/p&gt;
&lt;div&gt;
&lt;pre class="csharpcode"&gt;&lt;span class="kwrd"&gt;using&lt;/span&gt; System.ServiceModel;
&lt;span class="kwrd"&gt;using&lt;/span&gt; System.ServiceModel.Web;

[ServiceContract]
&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;interface&lt;/span&gt; IService
{
  [OperationContract]
  [WebGet(UriTemplate = &lt;span class="str"&gt;"test?s={s}"&lt;/span&gt;)]
  &lt;span class="kwrd"&gt;string&lt;/span&gt; test(&lt;span class="kwrd"&gt;string&lt;/span&gt; s);
}

&lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;class&lt;/span&gt; Service : IService
{
  &lt;span class="kwrd"&gt;public&lt;/span&gt; &lt;span class="kwrd"&gt;string&lt;/span&gt; test(&lt;span class="kwrd"&gt;string&lt;/span&gt; s)
  {
    &lt;span class="kwrd"&gt;return&lt;/span&gt; &lt;span class="str"&gt;"test: "&lt;/span&gt; + s;
  }
}&lt;/pre&gt;
&lt;/div&gt;
&lt;p&gt;So, this is a very basic service with a single HTTP GET method that returns some data dependent on a single query string parameter.  A perfect REST example as the result is defined by the input, there is no change of state (so two identical GET requests result in the same value) and so the response is suitable for caching.&lt;/p&gt;
&lt;p&gt;&lt;u&gt;Using the service&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;So now, you can access the service as &lt;em&gt;http://your_episerver_site/services/service.svc/test?s=YourTestString&lt;/em&gt;.  ASP.NET integration (and IIS) requires the use of a service extension, in this case ".svc", however this article may help you to remove this issue: &lt;a title="http://blogs.msdn.com/bags/archive/2008/08/22/rest-in-wcf-part-ix-controlling-the-uri.aspx" href="http://blogs.msdn.com/bags/archive/2008/08/22/rest-in-wcf-part-ix-controlling-the-uri.aspx"&gt;http://blogs.msdn.com/bags/archive/2008/08/22/rest-in-wcf-part-ix-controlling-the-uri.aspx&lt;/a&gt; but don't forget that EPiServer already does some URL rewriting and so you'll have to make sure they don't conflict!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Categories: ASP.NET, EPiServer, SOA, WCF, .NET, Windows Server &lt;/li&gt;
    &lt;li&gt;Keywords: Web Programming Model, Windows Communication Foundation, Service Oriented Architecture, AJAX, JSON &lt;/li&gt;
    &lt;li&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/software%20development"&gt;software development&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows%20Communication%20Foundation"&gt;Windows Communication Foundation&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/.NET"&gt;.NET&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/JSON"&gt;JSON&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/WCF"&gt;WCF&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/SOA"&gt;SOA&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/service%20design"&gt;service design&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Service%20Oriented%20Architecture"&gt;Service Oriented Architecture&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/EPiServer"&gt;EPiServer&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/ASP.NET"&gt;ASP.NET&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/AJAX"&gt;AJAX&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://blogs.interakting.co.uk/steve/aggbug/366.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stephen Horsfield</dc:creator>
            <guid>http://blogs.interakting.co.uk/steve/archive/2008/11/20/wcf-and-episerver-using-wcf-web-programming-model-services-in.aspx</guid>
            <pubDate>Thu, 20 Nov 2008 17:10:58 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/steve/comments/366.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/steve/archive/2008/11/20/wcf-and-episerver-using-wcf-web-programming-model-services-in.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/steve/comments/commentRss/366.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Virtual Server: &amp;quot;could not initialize the emulated Ethernet controller&amp;quot;</title>
            <link>http://blogs.interakting.co.uk/steve/archive/2008/04/21/Virtual-Server-could-not-initialize-the-emulated-Ethernet-controller.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Recently, I began having problems with Virtual Server 2005 R2 on my &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt; computer.  I was not aware of anything having changed, except suddenly my VPCs couldn't find a network adapter.  Facing the possibility of a complete laptop rebuild, I was scouring the net for a solution...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Failed attempts&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Before finally landing a working solution, I attempted the following:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Restarting Virtual Machines (before and after other changes) &lt;/li&gt;
    &lt;li&gt;Restarting Virtual Server (and associated services) &lt;/li&gt;
    &lt;li&gt;Looking for patches (none applicable) &lt;/li&gt;
    &lt;li&gt;Creating new network configurations &lt;/li&gt;
    &lt;li&gt;Using alternative network connections &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;None of these helped.  I also found various forum articles suggesting I reinstalled my network drivers, but I didn't want to do this unless I really had to.  Finally, I found a solution that worked...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following worked well:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Uninstall the Virtual Machine Network Service (in network connection properties), not just deselecting it &lt;/li&gt;
    &lt;li&gt;Restart Virtual Machine Helper and Virtual Server services &lt;/li&gt;
    &lt;li&gt;Reinstall the Virtual Machine Network service (in network connection properties) and select it for each connection &lt;/li&gt;
    &lt;li&gt;Restart Virtual Machine Helper and Virtual Server services again &lt;/li&gt;
    &lt;li&gt;Start a virtual machine and check &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;I won't promise it will work in all cases, but it helped me out!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://support.microsoft.com/kb/555629"&gt;http://support.microsoft.com/kb/555629&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://www.mcse.ms/archive/index.php/t-2368207.html" href="http://www.mcse.ms/archive/index.php/t-2368207.html"&gt;http://www.mcse.ms/archive/index.php/t-2368207.html&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Versions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Windows XP Professional with Service Pack 2 &lt;/li&gt;
    &lt;li&gt;&lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt; (not verified) &lt;/li&gt;
    &lt;li&gt;Virtual Server 2005 R2 Enterprise Edition &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Categories: Virtual Server, IT Management, Windows XP, Windows Server &lt;/li&gt;
    &lt;li&gt;Additional keywords: missing network adapter, no network, network not working &lt;/li&gt;
&lt;li&gt;Technorati Tags: 
&lt;a href="http://technorati.com/tags/Virtual%20Server" rel="tag"&gt;Virtual Server&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Networking" rel="tag"&gt;Networking&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.interakting.co.uk/steve/aggbug/256.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stephen Horsfield</dc:creator>
            <guid>http://blogs.interakting.co.uk/steve/archive/2008/04/21/Virtual-Server-could-not-initialize-the-emulated-Ethernet-controller.aspx</guid>
            <pubDate>Mon, 21 Apr 2008 10:14:00 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/steve/comments/256.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/steve/archive/2008/04/21/Virtual-Server-could-not-initialize-the-emulated-Ethernet-controller.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/steve/comments/commentRss/256.aspx</wfw:commentRss>
        </item>
        <item>
            <title>EPiServer: Problems importing data &amp;mdash; POST fails</title>
            <link>http://blogs.interakting.co.uk/steve/archive/2008/01/18/EPiServer-Problems-importing-data-mdash-POST-fails.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;I've been importing a live &lt;a title="EPiServer Content Management System" target="_blank" href="http://www.episerver.com"&gt;EPiServer&lt;/a&gt; site into a development environment for further work.  Normally, this works without problem, but this time I've been getting a POST error, but nothing informative.  What's happening?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;A quick look at the event logs on the IIS server quickly identifies the problem: the file exceeds the upload limit.  Of course this is less likely to happen in a normal development run, but once there is a fair amount of data it fails.  If I hadn't spotted the error in the event log, I might have been stuck for some time.&lt;/p&gt;
&lt;p&gt;The default &lt;a title="Microsoft ASP.NET" target="_blank" href="http://msdn2.microsoft.com/en-gb/asp.net/default.aspx"&gt;ASP.NET&lt;/a&gt; upload limit is 4 MB, so if you need more you will have to change the web.config settings.  The element you have to change is the maxRequestLength attribute on the &amp;lt;system.web&amp;gt;&amp;lt;httpRuntime&amp;gt; element.  The size is specified in KB, so for a 32 MB limit, use the following:&lt;/p&gt;
&lt;p&gt;&lt;code&gt;&amp;lt;system.web&amp;gt; &lt;br /&gt;
  &amp;lt;httpruntime maxrequestlength="32768" /&amp;gt; &lt;br /&gt;
&amp;lt;/system.web&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a title="http://msdn2.microsoft.com/en-us/library/e1f13641(VS.71).aspx" href="http://msdn2.microsoft.com/en-us/library/e1f13641(VS.71).aspx"&gt;&amp;lt;httpRuntime&amp;gt; Element (Microsoft MSDN)&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Versions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft .NET Framework" target="_blank" href="http://msdn2.microsoft.com/en-gb/netframework/default.aspx"&gt;.NET&lt;/a&gt; Framework 2.0 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Categories: Software Development, &lt;a title="Microsoft ASP.NET" target="_blank" href="http://msdn2.microsoft.com/en-gb/asp.net/default.aspx"&gt;ASP.NET&lt;/a&gt;, IIS, &lt;a title="EPiServer Content Management System" target="_blank" href="http://www.episerver.com"&gt;EPiServer&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Additional keywords: import, POST, error, upload limit &lt;/li&gt;
&lt;li&gt;Technorati Tags: 
&lt;a href="http://technorati.com/tags/software%20development" rel="tag"&gt;software development&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/IT%20Management" rel="tag"&gt;IT Management&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/.NET" rel="tag"&gt;.NET&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/ASP.NET" rel="tag"&gt;ASP.NET&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/EPiServer" rel="tag"&gt;EPiServer&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/import" rel="tag"&gt;import&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/problem" rel="tag"&gt;problem&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.interakting.co.uk/steve/aggbug/179.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stephen Horsfield</dc:creator>
            <guid>http://blogs.interakting.co.uk/steve/archive/2008/01/18/EPiServer-Problems-importing-data-mdash-POST-fails.aspx</guid>
            <pubDate>Fri, 18 Jan 2008 10:47:51 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/steve/comments/179.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/steve/archive/2008/01/18/EPiServer-Problems-importing-data-mdash-POST-fails.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/steve/comments/commentRss/179.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Windows: Having problems searching for text in files &amp;mdash; not enough or any results...</title>
            <link>http://blogs.interakting.co.uk/steve/archive/2008/01/16/Windows-Having-problems-searching-for-text-in-files-mdash-not.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Do you have problems searching for text in files using &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt;, &lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt;, Windows Vista or Windows Server 2008?  This problem has been affecting us in our development environment, but how can you fix it?&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;From &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt;, Microsoft changed the default behaviour of the Windows Explorer search feature.  They did this for performance reasons, and from &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt; Service Pack 2 onwards you can choose to revert to the old behaviour, but the effect was that only certain file types are searched by default.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solutions&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;There are two solutions:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Register a handler for the specific file types that you require.  This can be completed by installing an indexing filter, such as a PDF filter from Adobe or a compressed files filter.  See &lt;a title="http://www.ifilter.org" target="_blank" href="http://www.ifilter.org"&gt;http://www.ifilter.org&lt;/a&gt; for various file type-specific filters &lt;/li&gt;
    &lt;li&gt;Enable search for all file types using a default handler for unregistered types &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Installing a standard IFilter is as easy as running a setup application.&lt;/p&gt;
&lt;p&gt;For the other options, the procedure is documented in this Microsoft article: &lt;a title="http://support.microsoft.com/default.aspx/kb/309173" target="_blank" href="http://support.microsoft.com/default.aspx/kb/309173"&gt;Using the "A word or phrase in the file" search criterion may not work (Microsoft Support)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a title="http://support.microsoft.com/default.aspx/kb/309173" target="_blank" href="http://support.microsoft.com/default.aspx/kb/309173"&gt;Using the "A word or phrase in the file" search criterion may not work (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Versions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Categories: IT Management, &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt;, &lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt;, Search &lt;/li&gt;
    &lt;li&gt;Additional keywords: Indexing service, IFilter, Indexing Filter, Keyword search, Full text search, bug, kbbug, missing results &lt;/li&gt;
    &lt;li&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/IT%20Management"&gt;IT Management&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/search"&gt;search&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/problem"&gt;problem&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows"&gt;Windows&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows%202003"&gt;Windows 2003&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows%20XP"&gt;Windows XP&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Indexing%20Service"&gt;Indexing Service&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://blogs.interakting.co.uk/steve/aggbug/172.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stephen Horsfield</dc:creator>
            <guid>http://blogs.interakting.co.uk/steve/archive/2008/01/16/Windows-Having-problems-searching-for-text-in-files-mdash-not.aspx</guid>
            <pubDate>Wed, 16 Jan 2008 16:29:26 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/steve/comments/172.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/steve/archive/2008/01/16/Windows-Having-problems-searching-for-text-in-files-mdash-not.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/steve/comments/commentRss/172.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Windows: Network folders do not refresh automatically in Windows Explorer</title>
            <link>http://blogs.interakting.co.uk/steve/archive/2008/01/08/Windows-XP-Network-folders-do-not-refresh-automatically-in-Windows.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sometimes you have to manually refresh folders in &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt; to see changes that have taken place on network servers.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When you create or delete any file in one or more network folders, you have to refresh the display to see the changes.  This can happen with any folder, but most frequently when you are using Microsoft DFS technology.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;You need to follow the instructions in &lt;a title="http://support.microsoft.com/kb/823291" target="_blank" href="http://support.microsoft.com/kb/823291"&gt;File list in the Windows Explorer folder is not refreshed after you create, move, or delete files (Microsoft Support)&lt;/a&gt;.  This requires two things:&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;Install &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt; Service Pack 2 &lt;/li&gt;
    &lt;li&gt;Make a registry change as below:
    &lt;ol&gt;
        &lt;li&gt;Locate and then click the following key in the registry:&lt;br /&gt;
        HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer &lt;/li&gt;
        &lt;li&gt;On the Edit menu, point to New, and then click DWORD Value. &lt;/li&gt;
        &lt;li&gt;Type NoSimpleNetIDList, and then press ENTER. &lt;/li&gt;
        &lt;li&gt;On the Edit menu, click Modify. &lt;/li&gt;
        &lt;li&gt;Type 1, and then click OK. &lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;u&gt;Note: These instructions are copied from the Microsoft article.&lt;/u&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Versions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Categories: &lt;a title="Microsoft Windows XP" target="_blank" href="http://www.microsoft.com/windows/products/windowsxp/default.mspx"&gt;Windows XP&lt;/a&gt;, &lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt;, IT Management, Windows Explorer &lt;/li&gt;
    &lt;li&gt;Additional Keywords: Network Shares, Folders, Missing Files, Bug, automatically refresh folders in Windows Explorer, network folders do not refresh &lt;/li&gt;
    &lt;li&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/IT%20Management"&gt;IT Management&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows"&gt;Windows&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows%202003"&gt;Windows 2003&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows%20XP"&gt;Windows XP&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/problem"&gt;problem&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/networking"&gt;networking&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows%20Explorer"&gt;Windows Explorer&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/folder%20refresh"&gt;folder refresh&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/DFS"&gt;DFS&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://blogs.interakting.co.uk/steve/aggbug/148.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stephen Horsfield</dc:creator>
            <guid>http://blogs.interakting.co.uk/steve/archive/2008/01/08/Windows-XP-Network-folders-do-not-refresh-automatically-in-Windows.aspx</guid>
            <pubDate>Tue, 08 Jan 2008 17:11:08 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/steve/comments/148.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/steve/archive/2008/01/08/Windows-XP-Network-folders-do-not-refresh-automatically-in-Windows.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/steve/comments/commentRss/148.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Windows: Disabling Data Execution Prevention</title>
            <link>http://blogs.interakting.co.uk/steve/archive/2008/01/08/Microsoft-Windows-Disabling-Data-Execution-Prevention.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Sometimes, old code doesn't seem to work with the new Data Execution Prevention feature in Microsoft Windows.  It's easy to turn it off for non-system applications and services, but how do you do it for system components, and why would you?&lt;/p&gt;
&lt;p&gt;&lt;font color="#ff0000"&gt;&lt;strong&gt;Warning: Data Execution Prevention is a security feature.  Disabling DEP reduces the security of your system.&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Context&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;On our Microsoft &lt;a title="Microsoft Commerce Server" target="_blank" href="http://www.microsoft.com/commerceserver/default.mspx"&gt;Commerce Server&lt;/a&gt; 2002 system, running on &lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt;, we were getting "COM Surrogate" errors, which relate to DEP errors with the &lt;em&gt;dllhost.exe&lt;/em&gt; system program.  Adding it to the exception list didn't solve our problem.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Thankfully, Microsoft has written an article on how to turn off DEP for an entire server.  For this case, you need to add the following option:&lt;/p&gt;
&lt;code&gt;/noexecute=AlwaysOff&lt;/code&gt;
&lt;p&gt;to your &lt;em&gt;boot.ini&lt;/em&gt; file.&lt;/p&gt;
&lt;p&gt;See &lt;a title="http://support.microsoft.com/kb/875352" target="_blank" href="http://support.microsoft.com/kb/875352"&gt;A detailed description of the Data Execution Prevention (DEP) feature in Windows XP Service Pack 2, Windows XP Tablet PC Edition 2005, and Windows Server 2003 (Microsoft Support)&lt;/a&gt; for further information.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Versions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft Commerce Server" target="_blank" href="http://www.microsoft.com/commerceserver/default.mspx"&gt;Commerce Server&lt;/a&gt; 2002 &lt;/li&gt;
    &lt;li&gt;Also applicable to Microsoft Windows XP &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Categories: IT Management, Security, Windows Server, Commerce Server &lt;/li&gt;
    &lt;li&gt;Additional keywords: how to turn off DEP, disable DEP &lt;/li&gt;
&lt;li&gt;Technorati Tags: 
&lt;a href="http://technorati.com/tags/IT%20Management" rel="tag"&gt;IT Management&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Windows%202003" rel="tag"&gt;Windows 2003&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/problem" rel="tag"&gt;problem&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/DEP" rel="tag"&gt;DEP&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Data%20Execution%20Prevention" rel="tag"&gt;Data Execution Prevention&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Commerce%20Server" rel="tag"&gt;Commerce Server&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.interakting.co.uk/steve/aggbug/147.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stephen Horsfield</dc:creator>
            <guid>http://blogs.interakting.co.uk/steve/archive/2008/01/08/Microsoft-Windows-Disabling-Data-Execution-Prevention.aspx</guid>
            <pubDate>Tue, 08 Jan 2008 15:10:56 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/steve/comments/147.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/steve/archive/2008/01/08/Microsoft-Windows-Disabling-Data-Execution-Prevention.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/steve/comments/commentRss/147.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Commerce Server 2002: BizDesk Campaign Manager Fails with &amp;quot;Call to Server.CreateObject Failed While Checking Permissions&amp;quot; Error Message</title>
            <link>http://blogs.interakting.co.uk/steve/archive/2008/01/08/Commerce-Server-2002-BizDesk-Campaign-Manager-Fails-with-quotCall-to.aspx</link>
            <description>&lt;h4&gt;&lt;a title="The article" rel="enclosure" href="http://blogs.bdnet.co.uk/steve/archive/2008/01/08/Commerce-Server-2002-BizDesk-Campaign-Manager-Fails-with-Call-to.aspx"&gt;Read the article...&lt;/a&gt;&lt;/h4&gt;
&lt;p&gt;&lt;strong&gt;Excerpt&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The above error was occurring on both staging and live environments for a Microsoft &lt;a title="Microsoft Commerce Server" target="_blank" href="http://www.microsoft.com/commerceserver/default.mspx"&gt;Commerce Server&lt;/a&gt; 2002 system.  It took us a while to track down the cause, but eventually I fixed it.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;References&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;811306"&gt;Microsoft KB Article 811306&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Versions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft Commerce Server" target="_blank" href="http://www.microsoft.com/commerceserver/default.mspx"&gt;Commerce Server&lt;/a&gt; 2002 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Technorati Tags: &lt;a rel="tag" href="http://technorati.com/tags/IT%20Management"&gt;IT Management&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows"&gt;Windows&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Windows%202003"&gt;Windows 2003&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/problem"&gt;problem&lt;/a&gt;, &lt;a rel="tag" href="http://technorati.com/tags/Commerce%20Server"&gt;Commerce Server&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;img src="http://blogs.interakting.co.uk/steve/aggbug/146.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stephen Horsfield</dc:creator>
            <guid>http://blogs.interakting.co.uk/steve/archive/2008/01/08/Commerce-Server-2002-BizDesk-Campaign-Manager-Fails-with-quotCall-to.aspx</guid>
            <pubDate>Tue, 08 Jan 2008 12:44:33 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/steve/comments/146.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/steve/archive/2008/01/08/Commerce-Server-2002-BizDesk-Campaign-Manager-Fails-with-quotCall-to.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/steve/comments/commentRss/146.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Commerce Server 2002: Reporting — Query Best Practice</title>
            <link>http://blogs.interakting.co.uk/steve/archive/2008/01/07/Microsoft-Commerce-Server-2002-Reporting-Query-Best-Practice.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;How can you make your &lt;a title="Microsoft Commerce Server" target="_blank" href="http://www.microsoft.com/commerceserver/default.mspx"&gt;Commerce Server&lt;/a&gt; reports easy to maintain, and how can you make it work with long SQL queries?  Did you even know that long SQL queries won't always work?!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The problem&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The query is stored in the Report table in &lt;a title="Microsoft SQL Server" target="_blank" href="http://www.microsoft.com/sql/default.mspx"&gt;SQL Server&lt;/a&gt; as an nvarchar(2000) field.  This means you've only got 2000 characters to work with.  In fact, the limit is smaller than this because of processing that &lt;a title="Microsoft Commerce Server" target="_blank" href="http://www.microsoft.com/commerceserver/default.mspx"&gt;Commerce Server&lt;/a&gt; is doing itself.  I noticed problems around 900 characters, which seems a bit small!&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;The solution&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The best solution I found was to reference a SQL view that was created for the purpose.  Using this, the SQL query just needed to select the particular fields, apply particular filters (such as date filtering) and sorting.  This meant that changes to the underlying report execution could be managed by adjusting the view rather than the SQL in the Report table.  The view can also be used by many similar reports, which in our case was for about 10 regional sites.&lt;/p&gt;
&lt;p&gt;One main caveat was the use of &lt;a title="Microsoft Commerce Server" target="_blank" href="http://www.microsoft.com/commerceserver/default.mspx"&gt;Commerce Server&lt;/a&gt; date report parameters.  The filtering on this only worked when it was in the Report Query field directly.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Versions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft Commerce Server" target="_blank" href="http://www.microsoft.com/commerceserver/default.mspx"&gt;Commerce Server&lt;/a&gt; 2002 &lt;/li&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft SQL Server" target="_blank" href="http://www.microsoft.com/sql/default.mspx"&gt;SQL Server&lt;/a&gt; 2000 &lt;/li&gt;
    &lt;li&gt;Microsoft &lt;a title="Microsoft Windows Server 2003" target="_blank" href="http://www.microsoft.com/windowsserver2003/default.mspx"&gt;Windows Server 2003&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Technorati Tags: 
&lt;a href="http://technorati.com/tags/software%20development" rel="tag"&gt;software development&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Windows%202003" rel="tag"&gt;Windows 2003&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Commerce%20Server" rel="tag"&gt;Commerce Server&lt;/a&gt;
&lt;a href="http://technorati.com/tags/SQL" rel="tag"&gt;SQL&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/SQL%20Server" rel="tag"&gt;SQL Server&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/reporting" rel="tag"&gt;reporting&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.interakting.co.uk/steve/aggbug/144.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stephen Horsfield</dc:creator>
            <guid>http://blogs.interakting.co.uk/steve/archive/2008/01/07/Microsoft-Commerce-Server-2002-Reporting-Query-Best-Practice.aspx</guid>
            <pubDate>Mon, 07 Jan 2008 19:41:55 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/steve/comments/144.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/steve/archive/2008/01/07/Microsoft-Commerce-Server-2002-Reporting-Query-Best-Practice.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/steve/comments/commentRss/144.aspx</wfw:commentRss>
        </item>
        <item>
            <title>Windows: The Windows Time Service</title>
            <link>http://blogs.interakting.co.uk/steve/archive/2008/01/06/The-Windows-Time-Service.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Overview&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The time service is a critical part of any Windows Active Directory infrastructure.  Why?  Because it is part of how Active Directory replicates correctly, because it supports the implementation of Kerberos and because all your networked computers will be synchronised using it, even if you don't configure it.&lt;/p&gt;
&lt;p&gt;Quite often, a seemingly unrelated error message will be caused by time service configuration errors.  I've written small guidance notes quite often to help administrators sort out these problems, but I wanted to collect my knowledge into a single blog post so that it is available for everyone.&lt;/p&gt;
&lt;p&gt;This knowledge has been accrued over several years, referencing many blogs, Microsoft knowledge base articles and books in production environments.  I'll reference what I can, but the rest is straight out of my head...&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Normative operation&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;When working correctly, the time service ensures that all servers and workstations in the Active Directory forest have the correct time configured. See &lt;a title="http://technet2.microsoft.com/windowsserver/en/library/71e76587-28f4-4272-a3d7-7f44ca50c0181033.mspx?mfr=true" href="http://technet2.microsoft.com/windowsserver/en/library/71e76587-28f4-4272-a3d7-7f44ca50c0181033.mspx?mfr=true"&gt;How Windows Time Service Works (Microsoft TechNet)&lt;/a&gt; for the authoritative reference on this.&lt;/p&gt;
&lt;p&gt;By default, all forest member computers with one exception (more in a moment) will synchronise their clocks to this one authority.  The authority is the domain controller in the forest root domain that is configured to be reliable.  Normally, this will mean the domain controller that has the PDC-emulator FSMO role.&lt;/p&gt;
&lt;p&gt;Communication with the Windows Time Service between computers is authenticated by Kerberos.  Kerberos will allow small deviations in clocks but anything more than about 5 minutes is likely to cause an authentication failure, thereby preventing the clock correction that would enable Kerberos authentication!  If your clocks are already out of sync, then you will need to adjust them manually.  See &lt;a title="http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dscd_aun_yfet.mspx?mfr=true" href="http://www.microsoft.com/technet/prodtechnol/windows2000serv/reskit/distrib/dscd_aun_yfet.mspx?mfr=true"&gt;Basic Concepts for the Kerberos Protocol (Microsoft TechNet)&lt;/a&gt; for a conceptual look at Kerberos.&lt;/p&gt;
&lt;p&gt;Although the time service can use hardware devices to ensure accuracy, the most common scenario is the use of a public NTP time service.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Symptoms of failure&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The following list are common symptoms that may indicate an underlying time synchronisation error:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Outlook 2007 can't connect to Exchange Server.  It keeps prompting for credentials.  By default, Outlook 2007 uses the Negotiate method for authentication.  This results in it using Kerberos rather than NTLM and the client can't connect if the clocks are skewed by five minutes or more.  See &lt;a title="http://support.microsoft.com/kb/927612" href="http://support.microsoft.com/kb/927612"&gt;You are repeatedly prompted to enter your credentials when you try to connect to an Exchange 2003 mailbox by using Outlook 2007 (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;You can't access some or all network resources &lt;/li&gt;
    &lt;li&gt;You can't logon to a domain computer that you haven't recently logged on to &lt;/li&gt;
    &lt;li&gt;Domain trusts aren't working, or replication is failing:
    &lt;ul&gt;
        &lt;li&gt;There are currently no logon servers available to service the logon request &lt;/li&gt;
        &lt;li&gt;The trust cannot be validated &lt;/li&gt;
        &lt;li&gt;Windows cannot find a domain controller for the ... domain &lt;/li&gt;
    &lt;/ul&gt;
    &lt;/li&gt;
    &lt;li&gt;Group Policy not being applied correctly &lt;/li&gt;
    &lt;li&gt;Offline Files not synchronising correctly, possibly deleting files &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Virtual servers and Windows guests&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;In general, you should not synchronise the host time and the guest time.  If you do, you undermine the operation of the Windows Time Service.  This can affect any virtual server solution including Microsoft Windows Hyper-X, Microsoft Virtual Server, Microsoft Virtual PC, VMWare Server, VMWare ESX Server and Xen.&lt;/p&gt;
&lt;p&gt;You may be affected by this if you have a hosted solution.  Check that your service provider is not attempting to synchronise the clock on the virtual machine.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Configuration&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;To configure the time service, you first need to find appropriate servers for your root domain PDC to connect to.  You can use multiple Internet providers, but ideally they should be in the same time zone as the server.  See the following for public NTP server lists:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a title="http://support.ntp.org/bin/view/Servers/WebHome" href="http://support.ntp.org/bin/view/Servers/WebHome"&gt;support.ntp.org Public NTP Server List&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://www.timetools.co.uk/ntp-servers/ref/public-ntp-server.htm" href="http://www.timetools.co.uk/ntp-servers/ref/public-ntp-server.htm"&gt;www.timetools.co.uk Public NTP Server List&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Next, you need to decide on which flags to use.  These flags control how the server will connect to the public NTP server, and are required for correct function.  Microsoft documents the use of the 0x1 flag for use with NTP servers specified by a DNS name (such as time.windows.com).  However, with these public time servers you typically also need the 0x8 flag which puts the NTP connection into a client mode.  See here for reference: &lt;a title="http://technet.microsoft.com/en-us/library/bb490605.aspx" href="http://technet.microsoft.com/en-us/library/bb490605.aspx"&gt;Windows Time Service (Microsoft TechNet)&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;There are several ways in which you can make the changes on the PDC:&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Edit the registry directly &lt;/li&gt;
    &lt;li&gt;Use the NET TIME /SETSNTP command &lt;/li&gt;
    &lt;li&gt;Use the W32TM command &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The service must be restarted after the changes have been made.  A typical command looks like the following:&lt;/p&gt;
&lt;pre&gt;w32tm /config "/manualpeerlist:ntp.domain1.com,0x8 ntp.domain2.com,0x8 ntp.domain3.com,0x8" /syncfromflags:manual&lt;/pre&gt;
&lt;p&gt;See here &lt;a title="http://technet.microsoft.com/en-us/library/bb491016.aspx" href="http://technet.microsoft.com/en-us/library/bb491016.aspx"&gt;W32tm (Microsoft TechNet)&lt;/a&gt; for more on the W32TM command.&lt;/p&gt;
&lt;p&gt;Note that I haven't used the 0x1 flag in this configuration.  I've used this style for many years and it has been successful.  If it works, leave it alone :)&lt;/p&gt;
&lt;p&gt;Also notice that I've surrounded the &lt;em&gt;manualpeerlist&lt;/em&gt; option in quotes and separated the servers with a single space character.  This is the correct syntax.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Other considerations&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;The NTP protocol uses UDP port 123 for both source and destination, so you'd better make sure that the firewall is going to allow the connection.  Also, because it is a session-less connection (UDP not TCP), timeouts can be a factor.  If you see lots of blocked UDP 123 packets at your firewall, coming from the configured NTP servers, then they are probably late replies.  You might need to consider increasing the timeout or creating a static route.  This can be quite common.&lt;/p&gt;
&lt;p&gt;You might also get the occasional event log entry suggesting that connectivity to one or all NTP servers is down.  This may be because the server is down, or because the reply is too late.  Infrequent messages like this are nothing to worry about.  The time service will log a further event indicating that the connection has been reestablished as soon as it has.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Troubleshooting&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/bb727060.aspx"&gt;Troubleshooting Windows Time Service Problems (Microsoft TechNet)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://support.microsoft.com/kb/816043" href="http://support.microsoft.com/kb/816043"&gt;How to turn on debug logging in the Windows Time Service (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://support.microsoft.com/kb/830092" href="http://support.microsoft.com/kb/830092"&gt;In Windows Server 2003 and in Windows XP, W32Time frequently logs Event ID 50, and poor time synchronization occurs (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://support.microsoft.com/kb/832936" href="http://support.microsoft.com/kb/832936"&gt;W32Time reports an incorrect time for how long a computer is on standby (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://support.microsoft.com/kb/314345/en-us" href="http://support.microsoft.com/kb/314345/en-us"&gt;"Event ID: 64" error message on a computer that is running Windows Server 2003 or Windows XP Professional in a Windows NT 4.0 domain (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://support.microsoft.com/kb/312534/en-us" href="http://support.microsoft.com/kb/312534/en-us"&gt;Forest root domain controllers may display system events 54 and 64 (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://support.microsoft.com/kb/875424/en-us" href="http://support.microsoft.com/kb/875424/en-us"&gt;Time synchronization may not succeed when you try to synchronize with a non-Windows NTP server in Windows Server 2003 (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://support.microsoft.com/kb/247321/en-us" href="http://support.microsoft.com/kb/247321/en-us"&gt;W32tm Command Generates Error Messages When Run on a Windows 2000 Domain Controller (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
    &lt;li&gt;&lt;a title="http://support.microsoft.com/kb/223184/en-us" href="http://support.microsoft.com/kb/223184/en-us"&gt;Registry entries for the W32Time service (Microsoft Support)&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Search Microsoft Support (&lt;a href="http://support.microsoft.com"&gt;http://support.microsoft.com&lt;/a&gt;) for "w32time events" to find many more potential solutions.  Also, remember to install service packs.  Several issues were resolved with Windows 2000 Service Packs 2 and 3.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Versions&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;Windows Server 2008 &lt;/li&gt;
    &lt;li&gt;Windows Server 2003 &lt;/li&gt;
    &lt;li&gt;Windows Server 2000 &lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Metadata&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Technorati Tags: 
&lt;a href="http://technorati.com/tags/Windows" rel="tag"&gt;Windows&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Windows%202003" rel="tag"&gt;Windows 2003&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/IT%20Management" rel="tag"&gt;IT Management&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Windows%20Time%20Service" rel="tag"&gt;Windows Time Service&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/kerberos" rel="tag"&gt;kerberos&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/Active%20Directory" rel="tag"&gt;Active Directory&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/best%20practice" rel="tag"&gt;best practice&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/troubleshooting" rel="tag"&gt;troubleshooting&lt;/a&gt;,
&lt;a href="http://technorati.com/tags/NTP" rel="tag"&gt;NTP&lt;/a&gt;
&lt;/li&gt;&lt;/ul&gt;&lt;img src="http://blogs.interakting.co.uk/steve/aggbug/143.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Stephen Horsfield</dc:creator>
            <guid>http://blogs.interakting.co.uk/steve/archive/2008/01/06/The-Windows-Time-Service.aspx</guid>
            <pubDate>Sun, 06 Jan 2008 10:53:07 GMT</pubDate>
            <wfw:comment>http://blogs.interakting.co.uk/steve/comments/143.aspx</wfw:comment>
            <comments>http://blogs.interakting.co.uk/steve/archive/2008/01/06/The-Windows-Time-Service.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.interakting.co.uk/steve/comments/commentRss/143.aspx</wfw:commentRss>
        </item>
    </channel>
</rss>