<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.mediawhole.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;AkIEQXk7eip7ImA9Wx5QGU4.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877</id><updated>2010-09-08T17:35:00.702+08:00</updated><title>Dirty Words</title><subtitle type="html">Copy/paste internet code kills.

Runtime comments on .net development, SharePoint WCM, and software engineering</subtitle><link rel="http://schemas.google.com/g/2005#feed" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/posts/default" /><link rel="alternate" type="text/html" href="http://blog.mediawhole.com/" /><link rel="next" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default?start-index=26&amp;max-results=25&amp;redirect=false&amp;v=2" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email></author><generator version="7.00" uri="http://www.blogger.com">Blogger</generator><openSearch:totalResults>293</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.mediawhole.com/DirtyWords" /><feedburner:info uri="dirtywords" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry gd:etag="W/&quot;AkIEQXk4cSp7ImA9Wx5QGU4.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-1622907757599282511</id><published>2010-09-08T17:35:00.000+08:00</published><updated>2010-09-08T17:35:00.739+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-08T17:35:00.739+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="Batch Files" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><title>Exposing the Global Assembly Cache</title><content type="html">&lt;p&gt;If you're familiar with the Global Assembly Cache (GAC) you're probably aware there's a special file system viewer thingy (technical term) sitting over top of the GAC contents at c:\windows\assembly; this is a nice convenience when it comes to registering assemblies in the GAC—simply drag and drop, avoiding a trip to the command line and gacutil –i&lt;/p&gt;  &lt;p&gt;More often than not, this is all good. When you need to dive into the &lt;em&gt;real&lt;/em&gt; GAC, to extract an assembly, drop in debugging symbols, or whatever, you'll quickly realise the viewer is somewhat limiting. &lt;/p&gt;  &lt;p&gt;To get past the GAC's outer facade, you've got a few options:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;From a command line, browse to c:\windows\assembly\gac_msil &lt;/li&gt;    &lt;li&gt;Map a network drive to \\machine-name\c$\windows\assembly\gac_msil &lt;/li&gt;    &lt;li&gt;Create a virtual drive: subst z: c:\windows\assembly\gac_msil where 'z:' is any unmapped drive letter &lt;/li&gt;    &lt;li&gt;Start –&amp;gt; Run c:\windows\assembly\gac_msil &lt;/li&gt;    &lt;li&gt;Turn off the viewer altogether to browse the GAC directory structure normally within Windows Explorer: create a new DWORD named DisableCacheViewer with a value of 1 below the HKLM\Software\Microsoft\Fusion key &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Five ways to do the same thing? Well this is Windows after all—and there are probably more!!! ;)&lt;/p&gt;  &lt;p&gt;If you drop the gac_msil bit you'll find there are other directories that make up the GAC proper to explorer but most of what you'll be after resides below gac_msil. Each assembly is represented in by name as a folder with different versions represented as sub folders named as the version number with a GUID appended; the assembly proper will live in one of these folders.&lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers. &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-1622907757599282511?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=5GuFBYJq3Uo:FCLKSpjF5Zo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=5GuFBYJq3Uo:FCLKSpjF5Zo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/5GuFBYJq3Uo" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/1622907757599282511/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/09/exposing-global-assembly-cache.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/1622907757599282511?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/1622907757599282511?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/5GuFBYJq3Uo/exposing-global-assembly-cache.html" title="Exposing the Global Assembly Cache" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/09/exposing-global-assembly-cache.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUYGQXs_cCp7ImA9Wx5QGU4.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-5709303677444560676</id><published>2010-09-08T17:12:00.000+08:00</published><updated>2010-09-08T17:12:00.548+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-08T17:12:00.548+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2010" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><category scheme="http://www.blogger.com/atom/ns#" term="How-To" /><title>Changing a VS2010 SharePoint package name</title><content type="html">&lt;p&gt;The SharePoint development tooling built into Visual Studio 2010 does a pretty good job at hiding some of the ugly bits involved in creating a SharePoint solution file. No longer must we deal with ddf files (hooray!) but we also lose some control (or, at the very least, have to dig a bit further to change some things that were previously &amp;quot;easy&amp;quot; in the broader context of &amp;quot;really painful&amp;quot;). &lt;/p&gt;  &lt;p&gt;One of those things that we previously had full control over was the name of the solution file (.wsp) that results from our ddf file and the mighty makecab.exe. While the file name is now set from within Visual Studio, you have to open the package designer before being presented with the package properties:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_kuHIq0i1UO4/TIbxGSjbBaI/AAAAAAAADX4/CKVV9TiA_zg/s1600-h/Rename-solution-file-vs2010%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Rename-solution-file-vs2010" border="0" alt="Rename-solution-file-vs2010" src="http://lh6.ggpht.com/_kuHIq0i1UO4/TIbxHgDhalI/AAAAAAAADX8/gapA6KkHHmg/Rename-solution-file-vs2010_thumb%5B1%5D.png?imgmax=800" width="295" height="286" /&gt;&lt;/a&gt;     &lt;br /&gt;Simply clicking on the Package.package file will present you with the file properties which is not what you want—you have to double-click/open the package designer.&lt;/p&gt;  &lt;p&gt;The one thing I used to do with the ol' ddf file was specify the extension as &lt;em&gt;.cab&lt;/em&gt; instead of &lt;em&gt;.wsp&lt;/em&gt;. This was a convenience thing—SharePoint doesn't care about the extension (or at least doesn't object to .cab files)—but a .cab file will open in Windows Explorer on machines where you don't have a better archive tool installed like my favourite, &lt;a href="http://www.7-zip.org/"&gt;7zip&lt;/a&gt;. Essentially, it just saved me having to rename the file by hand. &lt;/p&gt;  &lt;p&gt;Unfortunately I have yet to find a way to do this with VS2010; the package name is only that—Visual Studio appends &amp;quot;.wsp&amp;quot; to the end of whatever name you supply and I can't find a way to override that behaviour. In truth I'll probably just start using .wsp like everyone else but it may be possible to tweak the file name in one of the pre/post events.&lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers. &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-5709303677444560676?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=RGFDUqpnjTs:aGq72v3OuE8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=RGFDUqpnjTs:aGq72v3OuE8:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/RGFDUqpnjTs" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/5709303677444560676/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/09/changing-vs2010-sharepoint-package-name.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/5709303677444560676?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/5709303677444560676?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/RGFDUqpnjTs/changing-vs2010-sharepoint-package-name.html" title="Changing a VS2010 SharePoint package name" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/09/changing-vs2010-sharepoint-package-name.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CUcCQXsyeCp7ImA9Wx5QF0s.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-4386804581893861611</id><published>2010-09-06T16:51:00.000+08:00</published><updated>2010-09-06T16:51:00.590+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-06T16:51:00.590+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><title>.NET 4.0 application compatibility</title><content type="html">&lt;p&gt;Looks like those of us running SharePoint may be stuck on .NET 3.5 SP1 for a while longer but that's no excuse not to have .NET 4.0 installed side-by-side for use by other apps. One of the guys on the team, for instance, recently updated the custom crawler we run and needed pull in some of the Entity Framework features only made available in the 4.0 release; of course Microsoft will tell you the various .NET runtimes can be installed to run side-by-side and we managed to get away with a lot during the whole 2.0/3.0/3.5 onion thing. &lt;/p&gt;  &lt;p&gt;Of course this all gets interesting very quickly when you've got a console application built against 4.0 that references assemblies (i.e. the SharePoint assemblies) built against version 2.0. Naturally everything worked fine in dev but as soon as we hit UAT, this exception cropped up:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;An error has occured: Mixed mode assembly is built against version 'v2.0.50727' of the runtime and cannot be loaded in the 4.0 runtime without additional configuration information. [sic]&lt;/em&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;To address this, a simple .config element was added:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&amp;lt;configuration&amp;gt;&lt;/em&gt;     &lt;br /&gt;&lt;em&gt;&amp;#160; &lt;strong&gt;&amp;lt;startup useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot;&amp;gt;        &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; &amp;lt;supportedRuntime version=&amp;quot;v4.0&amp;quot; sku=&amp;quot;.NETFramework,Version=v4.0&amp;quot; /&amp;gt;         &lt;br /&gt;&amp;#160; &amp;lt;/startup&amp;gt;&lt;/strong&gt;      &lt;br /&gt;…&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;Notably, the useLegacyV2RuntimeActivationPolicy=&amp;quot;true&amp;quot; attribute was required and we found this out the hard way by not having in place initially (dodgy internet code most likely!). &lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers. &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-4386804581893861611?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=kaXsZy03iAU:Ui200-HH6O4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=kaXsZy03iAU:Ui200-HH6O4:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/kaXsZy03iAU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/4386804581893861611/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/09/net-40-application-compatibility.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/4386804581893861611?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/4386804581893861611?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/kaXsZy03iAU/net-40-application-compatibility.html" title=".NET 4.0 application compatibility" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/09/net-40-application-compatibility.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkEHRXo-eCp7ImA9Wx5QFUw.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-4507227648394709719</id><published>2010-09-03T18:19:00.001+08:00</published><updated>2010-09-03T18:43:54.450+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-03T18:43:54.450+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2010" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><title>Detection of product '{90140000-104C-0000-1000-0000000FF1CE}', feature 'PeopleILM', component '{1C12B6E6-898C-4D58-9774-AAAFBDFE273C}' failed</title><content type="html">&lt;p&gt;After sorting out a problem with the &lt;a href="http://blog.mediawhole.com/2010/09/forefront-identity-manager-service.html"&gt;FIM Service not starting automatically after a reboot&lt;/a&gt; and several resultant application event log errors, there was one more thing to clean up: running a user profile sync would spit a couple of MsiInstaller warnings about product detection failing (see below). &lt;/p&gt;  &lt;p&gt;Various users in the forums suggested granting the Network Service account read access to the C:\Program Files\Microsoft Office Servers\14.0\Service directory and/or the C:\Program Files\Microsoft Office Servers\14.0\Sql directory; I initially found only the latter was required (this directory currently has Read &amp;amp; execute, List folder contents, and Read) but on reboot, the same warnings were logged again. Granting the same access to \Services had the same result and I've found starting a crawl produces these warnings but they go away with subsequent crawls. Reboot and they're back :-( &lt;/p&gt;  &lt;p&gt;This change relates to the following warnings logged as a crawl is initialised:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MsiInstaller       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2/09/2010 3:40:24 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1004       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Warning       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NETWORK SERVICE       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dev-sps2010-01.dev.mediawhole.com       &lt;br /&gt;Description:       &lt;br /&gt;Detection of product '{90140000-104C-0000-1000-0000000FF1CE}', feature 'PeopleILM', component '{1C12B6E6-898C-4D58-9774-AAAFBDFE273C}' failed.&amp;#160; The resource 'C:\Program Files\Microsoft Office Servers\14.0\Service\Microsoft.ResourceManagement.Service.exe' does not exist.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MsiInstaller       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2/09/2010 3:40:24 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1001       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Warning       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NETWORK SERVICE       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dev-sps2010-01.dev.mediawhole.com       &lt;br /&gt;Description:       &lt;br /&gt;Detection of product '{90140000-104C-0000-1000-0000000FF1CE}', feature 'PeopleILM' failed during request for component '{9AE4D8E0-D3F6-47A8-8FAE-38496FE32FF5}'&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; MsiInstaller       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2/09/2010 3:40:24 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 1015       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Warning       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; NETWORK SERVICE       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dev-sps2010-01.dev.mediawhole.com       &lt;br /&gt;Description:       &lt;br /&gt;Failed to connect to server. Error: 0x80070005&lt;/em&gt;&lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers. &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-4507227648394709719?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=iBSDXHrfl6s:fyC-ODdO75o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=iBSDXHrfl6s:fyC-ODdO75o:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/iBSDXHrfl6s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/4507227648394709719/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/09/detection-of-product-feature-component.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/4507227648394709719?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/4507227648394709719?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/iBSDXHrfl6s/detection-of-product-feature-component.html" title="Detection of product &amp;#39;{90140000-104C-0000-1000-0000000FF1CE}&amp;#39;, feature &amp;#39;PeopleILM&amp;#39;, component &amp;#39;{1C12B6E6-898C-4D58-9774-AAAFBDFE273C}&amp;#39; failed" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/09/detection-of-product-feature-component.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkQNQHkzeyp7ImA9Wx5QFUw.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-7971205567792868508</id><published>2010-09-03T15:05:00.001+08:00</published><updated>2010-09-03T18:39:51.783+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-03T18:39:51.783+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2010" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><title>Forefront Identity Manager Service fails to start after reboot</title><content type="html">&lt;p&gt;After following Spence Harbar's &lt;a href="http://www.harbar.net/articles/sp2010ups.aspx"&gt;Rational Guide to implementing SharePoint Server 2010 User Profile Synchronization&lt;/a&gt;, I was able to not only get the UPS service started but I was also able to run a sync on my first attempt. I probably got lucky ;-)&lt;/p&gt;  &lt;p&gt;The one small hiccup I had along the way was getting the Forefront Identity Manager Service to start following a reboot; the service simply refused to start automatically despite being configured by SharePoint/FIM to do so. Interestingly, both the User Profile Service and the User Profile Synchronization Service items listed in Central Admin's Services on Server page listed the services as running. Starting the FIM Service manually from the Windows Services snapin succeeded (I didn't try directly through CA) but felt hacky and annoying.&lt;/p&gt;  &lt;p&gt;What to do? Since the Synchronization Service was starting successfully and I could manually start the service after logging in, I assume this has to be some kind of dependency issue between the services themselves or SQL Server (some of the event log error message listed below definitely take issue with SQL). &lt;/p&gt;  &lt;p&gt;My solution was to therefore set both services to start automatically at boot time after a delay by reconfiguring the startup type of BOTH services and Automatic (Delayed Start) in the Windows Services snapin:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_kuHIq0i1UO4/TICeSbeaJBI/AAAAAAAADXk/sqilGyibd4g/s1600-h/FIM-Delayed-Start%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="FIM-Delayed-Start" border="0" alt="FIM-Delayed-Start" src="http://lh4.ggpht.com/_kuHIq0i1UO4/TICeTOWvPaI/AAAAAAAADXo/NTs9zF2mxC8/FIM-Delayed-Start_thumb%5B1%5D.png?imgmax=800" width="270" height="301" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Interestingly, I found the FIM Service starts before the FIM Sync Service, fwiw. I also still have one error remaining stating The Forefront Identity Manager Service cannot connect to the SQL Database Server but it doesn't prevent the services from starting or a sync from running.&lt;/p&gt;  &lt;p&gt;So is this an inappropriate change to make? I can't say, especially with everyone and their dog saying &amp;quot;let SharePoint manage these services, don't start 'em manually!&amp;quot; I know for certain both services now start automatically after a minute or so (once all other services set to just Automatic have started) and I can still run a profile sync; the following errors are also no longer present:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Forefront Identity Manager       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/09/2010 12:37:17 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dev-sps2010-01.dev.mediawhole.com       &lt;br /&gt;Description:       &lt;br /&gt;.Net SqlClient Data Provider: System.Data.SqlClient.SqlException: Cannot open database &amp;quot;Sync DB&amp;quot; requested by the login. The login failed.       &lt;br /&gt;Login failed for user 'DEV\SVC_SPFARM'.       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.TdsParser.Run(RunBehavior runBehavior, SqlCommand cmdHandler, SqlDataReader dataStream, BulkCopySimpleResultSet bulkCopyHandler, TdsParserStateObject stateObj)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.SqlInternalConnectionTds.CompleteLogin(Boolean enlistOK)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory)       &lt;br /&gt;&amp;#160;&amp;#160; at System.Data.SqlClient.SqlConnection.Open()       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.DatabaseConnection.Open(SqlConnection connection)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Forefront Identity Manager       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/09/2010 12:37:17 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dev-sps2010-01.dev.mediawhole.com       &lt;br /&gt;Description:       &lt;br /&gt;.Net SqlClient Data Provider: System.Data.SqlClient.SqlException: Cannot open database &amp;quot;Sync DB&amp;quot; requested by the login. The login failed.       &lt;br /&gt;Login failed for user 'DEV\SVC_SPFARM'.       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.Exception.DataAccessExceptionManager.ThrowException(SqlException innerException)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.DatabaseConnection.Open(SqlConnection connection)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.DatabaseConnection.Open(DataStore store)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft.ResourceManagement.ServiceHealthSource       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/09/2010 12:37:17 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 26       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dev-sps2010-01.dev.mediawhole.com       &lt;br /&gt;Description:       &lt;br /&gt;The Forefront Identity Manager Service was not able to initialize a timer necessary for supporting the execution of workflows. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Upon startup, the Forefront Identity Manager Service must initialize and set a timer to support workflow execution.&amp;#160; If this timer fails to get created, workflows will not run successfully and there is no recovery other than to stop and start the Forefront Identity Manager Service. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Restart the Forefront Identity Manager Service.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft.ResourceManagement.ServiceHealthSource       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/09/2010 12:37:17 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 2       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dev-sps2010-01.dev.mediawhole.com       &lt;br /&gt;Description:       &lt;br /&gt;The Forefront Identity Manager Service could not bind to its endpoints.&amp;#160; This failure prevents clients from communicating with the Web services. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;A most likely cause for the failure is another service, possibly another instance of Forefront Identity Manager Service, has already bound to the endpoint.&amp;#160; Another, less likely cause, is that the account under which the service runs does not have permission to bind to endpoints. &lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Ensure that no other processes have bound to that endpoint and that the service account has permission to bind endpoints.&amp;#160; Further, check the application configuration file to ensure the Forefront Identity Manager Service is binding to the correct endpoints.&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Forefront Identity Manager       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/09/2010 12:37:17 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dev-sps2010-01.dev.mediawhole.com       &lt;br /&gt;Description:       &lt;br /&gt;.Net SqlClient Data Provider: System.Data.SqlClient.SqlException: Cannot open database &amp;quot;Sync DB&amp;quot; requested by the login. The login failed.       &lt;br /&gt;Login failed for user 'DEV\SVC_SPFARM'.       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.Exception.DataAccessExceptionManager.ThrowException(SqlException innerException)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.DatabaseConnection.Open(SqlConnection connection)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.DatabaseConnection.Open(DataStore store)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.TransactionAndConnectionScope..ctor(Boolean createTransaction, IsolationLevel isolationLevel, DataStore dataStore)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.TransactionAndConnectionScope..ctor(Boolean createTransaction)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Data.DataAccess.RegisterService(String hostName)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Workflow.Hosting.HostActivator.RegisterService(String hostName)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.Workflow.Hosting.HostActivator.Initialize()       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.WebServices.ResourceManagementServiceHostFactory.CreateServiceHost(String constructorString, Uri[] baseAddresses)       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.WindowsHostService.OnStart(String[] args)&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;Log Name:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Application      &lt;br /&gt;Source:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Microsoft Resource Management Service       &lt;br /&gt;Date:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 3/09/2010 12:37:17 PM       &lt;br /&gt;Event ID:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; 0       &lt;br /&gt;Task Category: None       &lt;br /&gt;Level:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Error       &lt;br /&gt;Keywords:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; Classic       &lt;br /&gt;User:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; N/A       &lt;br /&gt;Computer:&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; dev-sps2010-01.dev.mediawhole.com       &lt;br /&gt;Description:       &lt;br /&gt;Service cannot be started. System.Data.SqlClient.SqlException: Cannot open database &amp;quot;Sync DB&amp;quot; requested by the login. The login failed.       &lt;br /&gt;Login failed for user 'DEV\SVC_SPFARM'.       &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.ResourceManagement.WindowsHostService.OnStart(String[] args)       &lt;br /&gt;&amp;#160;&amp;#160; at System.ServiceProcess.ServiceBase.ServiceQueuedMainCallback(Object state)&lt;/em&gt;&lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers. &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-7971205567792868508?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=P0LnxlZCvpI:U5IujkQxfXo:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=P0LnxlZCvpI:U5IujkQxfXo:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/P0LnxlZCvpI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/7971205567792868508/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/09/forefront-identity-manager-service.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7971205567792868508?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7971205567792868508?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/P0LnxlZCvpI/forefront-identity-manager-service.html" title="Forefront Identity Manager Service fails to start after reboot" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/09/forefront-identity-manager-service.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DEcBSXk_cSp7ImA9Wx5QFEQ.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-1031091755723851155</id><published>2010-09-03T14:38:00.001+08:00</published><updated>2010-09-03T14:40:58.749+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-03T14:40:58.749+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2010" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="Active Directory" /><title>Troubleshooting user profile sync via FIM</title><content type="html">&lt;p&gt;Your initial foray into SharePoint 2010 user profile sync will likely lead you to the &lt;a href="http://blog.mediawhole.com/2010/09/where-to-find-fim-client-miisclientexe.html"&gt;FIM client&lt;/a&gt; and, if you're anything like me, your mind will boggle at what FIM is, why it has to be involved at all, and where to start when things to horribly wrong. &lt;/p&gt;  &lt;p&gt;I won't attempt to enlighten you on the first two subjects but I do want to point out some interesting and non-intuitive FIM user interface screens you may not be aware of and that will help you determine if your UPS setup is on the right path. By the way, you can run the FIM client as soon as the two FIM services are running on your machine (in other words, as soon as UPS has been provisioned but before you run a sync).&lt;/p&gt;  &lt;p&gt;If you've got the UPS service in a running state, the next thing you'll likely want to do is run your first (or 50th) sync; in addition to the dodgy status screen within Central Admin itself, you can fire up the FIM client to watch from the bushes (the Operations view) as SharePoint, FIM, SQL Server, and AD do their magic dance. A successful run includes ten operations in my dev environment and I've &lt;a href="http://blog.mediawhole.com/2010/09/miisclientexe-success-output.html"&gt;previously posted&lt;/a&gt; a screen shot of this if you're interested.&lt;/p&gt;  &lt;p&gt;If you look carefully, the operations view will reveal the user name involved with each operation and list some partition info as well. To dive in deeper, click the Management Agents button in the top menu; in my case, I'm presented with three MAs (if you've got more because you've been struggling with connections, you may be in trouble): &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;The first MA named ILMMA connects to the database I specified when setting up UPS (&amp;quot;Sync DB&amp;quot;) &lt;/li&gt;    &lt;li&gt;The second MA named MOSS-{GUID} connects to the ProfileImportExportService web service &lt;/li&gt;    &lt;li&gt;The final MA named MOSSAD-{name of my connection as configured in CA} connects to Active Directory &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh5.ggpht.com/_kuHIq0i1UO4/TICXw0ApXTI/AAAAAAAADWc/dm-mv9AtBlg/s1600-h/FIM%20MAs%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="FIM MAs" border="0" alt="FIM MAs" src="http://lh5.ggpht.com/_kuHIq0i1UO4/TICXxrVy85I/AAAAAAAADWg/3LZ1iN1rYls/FIM%20MAs_thumb%5B2%5D.png?imgmax=800" width="357" height="282" /&gt;&lt;/a&gt;By viewing the properties for each MA (right-click on an MA and select Properties from the context menu or use the Actions pane to the right of the window) I can also examine specific properties to determine exactly what domain name FIM is configured to use and the accounts used to interact with AD, SQL Server, and the web service: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_kuHIq0i1UO4/TICXyUVu53I/AAAAAAAADWk/fgL6US9LLB8/s1600-h/ILMMA-Properties%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; margin: 0px auto 15px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="ILMMA-Properties" border="0" alt="ILMMA-Properties" src="http://lh3.ggpht.com/_kuHIq0i1UO4/TICXzFbqk_I/AAAAAAAADWo/x3PVSfOnvUc/ILMMA-Properties_thumb%5B1%5D.png?imgmax=800" width="345" height="260" /&gt;&lt;/a&gt; &lt;a href="http://lh4.ggpht.com/_kuHIq0i1UO4/TICXzx9sRZI/AAAAAAAADW8/uO1gNvTynNg/s1600-h/MOSSAD-ConnectionName-Properties%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px auto 15px; display: block; float: none; border-top: 0px; border-right: 0px" title="MOSSAD-ConnectionName-Properties" border="0" alt="MOSSAD-ConnectionName-Properties" src="http://lh6.ggpht.com/_kuHIq0i1UO4/TICX0kcfaJI/AAAAAAAADXA/-zrtfEnpCXY/MOSSAD-ConnectionName-Properties_thumb%5B3%5D.png?imgmax=800" width="352" height="271" /&gt;&lt;/a&gt; &lt;a href="http://lh3.ggpht.com/_kuHIq0i1UO4/TICX1XQhWnI/AAAAAAAADXI/XZXhJEelqbY/s1600-h/MOSSAD-ConnectionName-Directory-Partitions%5B5%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="MOSSAD-ConnectionName-Directory-Partitions" border="0" alt="MOSSAD-ConnectionName-Directory-Partitions" src="http://lh6.ggpht.com/_kuHIq0i1UO4/TICX2LlNhRI/AAAAAAAADXU/b978Z4s0YO4/MOSSAD-ConnectionName-Directory-Partitions_thumb%5B3%5D.png?imgmax=800" width="359" height="276" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;The attentive reader will note there's a lot of farm account action going on here and that's because both FIM services are configured to log on as the farm account and my understanding is they have to be because of the way the relevant timer job(s), which are also run as the farm account, interact with these services (says &lt;a href="http://www.harbar.net/articles/sp2010ups.aspx"&gt;Spence&lt;/a&gt;). I'll also point out my svc_spups account is the account to which I've granted Replicating Directory Changes in AD. &lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers. &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-1031091755723851155?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=xbJJEo1yjNc:fzxS0U2uubw:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=xbJJEo1yjNc:fzxS0U2uubw:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/xbJJEo1yjNc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/1031091755723851155/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/09/troubleshooting-user-profile-sync-via.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/1031091755723851155?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/1031091755723851155?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/xbJJEo1yjNc/troubleshooting-user-profile-sync-via.html" title="Troubleshooting user profile sync via FIM" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/09/troubleshooting-user-profile-sync-via.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEUDSXw6eyp7ImA9Wx5QFEw.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-3862645974357801896</id><published>2010-09-02T15:24:00.001+08:00</published><updated>2010-09-02T15:24:38.213+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-02T15:24:38.213+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Database" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><title>Testing database connectivity</title><content type="html">&lt;p&gt;Developer that I am, I've gone so far as to write throwaway console apps to test connectivity to a database server as a different user; hopefully I'll never have to do that again after learning about this really cool trick:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Create a new text file and change the extension to &lt;strong&gt;.udl&lt;/strong&gt; &lt;/li&gt;    &lt;li&gt;Double-click it &lt;/li&gt;    &lt;li&gt;Select a provider, configure the options to connect and hit Test Connection (note the Use a specific user name and password option means SQL authentication; entering an AD account here will fail).&lt;/li&gt;    &lt;li&gt;Start a console window as another user and execute the .udl file to connect as someone else using integrated security if necessary&lt;/li&gt;    &lt;li&gt;Having ruled a security issue in or out, fix the problem! &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_kuHIq0i1UO4/TH9RMPA299I/AAAAAAAADWU/12CIQ1tAJbs/s1600-h/UDL-database-connection%5B3%5D.png"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="UDL-database-connection" border="0" alt="UDL-database-connection" src="http://lh3.ggpht.com/_kuHIq0i1UO4/TH9RNJEXusI/AAAAAAAADWY/9QmVJLtwgdA/UDL-database-connection_thumb%5B1%5D.png?imgmax=800" width="264" height="327" /&gt;&lt;/a&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;A massive shout out to Todd Klindt for &lt;a href="http://www.toddklindt.com/blog/Lists/Posts/Post.aspx?List=56f96349%2D3bb6%2D4087%2D94f4%2D7f95ff4ca81f&amp;amp;ID=219"&gt;sharing&lt;/a&gt; this in one of his recent netcasts!!!&lt;/p&gt;  &lt;p&gt;Ps. &amp;quot;OK&amp;quot; through to persist the connection details in the form of a connection string to your text file. Kinda helpful!&lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers. &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-3862645974357801896?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=vFaPQ9VyoEY:7jroUScOt3A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=vFaPQ9VyoEY:7jroUScOt3A:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/vFaPQ9VyoEY" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/3862645974357801896/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/09/testing-database-connectivity.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/3862645974357801896?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/3862645974357801896?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/vFaPQ9VyoEY/testing-database-connectivity.html" title="Testing database connectivity" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/09/testing-database-connectivity.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkQESX0ycSp7ImA9Wx5QFE0.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-5782423144694677840</id><published>2010-09-02T14:18:00.001+08:00</published><updated>2010-09-02T14:18:28.399+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-02T14:18:28.399+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Search" /><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2010" /><category scheme="http://www.blogger.com/atom/ns#" term="Installation" /><title>miisclient.exe success output</title><content type="html">&lt;p&gt;Partly for the glory but more for posterity (my own future reference!), I've screen captured what a successful SharePoint 2010 AD user profile synchronisation looks like in the FIM client:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_kuHIq0i1UO4/TH9BrwgfaLI/AAAAAAAADWM/RKC_5uCxe-A/s1600-h/miisclient-synchronization-success%5B4%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="miisclient-synchronization-success" border="0" alt="miisclient-synchronization-success" src="http://lh5.ggpht.com/_kuHIq0i1UO4/TH9Bs2saKxI/AAAAAAAADWQ/Q4E7w-jbN4U/miisclient-synchronization-success_thumb%5B2%5D.png?imgmax=800" width="264" height="209" /&gt;&lt;/a&gt;Will this gain me entry to a special club or something? If so, thanks &lt;a href="http://www.harbar.net/articles/sp2010ups.aspx"&gt;Spence&lt;/a&gt;! Now to work through all the event log errors and warnings… perhaps I ought to call it a day!&lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers. &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-5782423144694677840?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=r9VotoB7iAg:4XkhrveBUiY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=r9VotoB7iAg:4XkhrveBUiY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/r9VotoB7iAg" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/5782423144694677840/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/09/miisclientexe-success-output.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/5782423144694677840?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/5782423144694677840?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/r9VotoB7iAg/miisclientexe-success-output.html" title="miisclient.exe success output" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/09/miisclientexe-success-output.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUQFSXs5eSp7ImA9Wx5QE08.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-2778766215398530665</id><published>2010-09-01T15:48:00.001+08:00</published><updated>2010-09-01T15:48:38.521+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-01T15:48:38.521+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint 2010" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><title>Where to find the FIM Client (miisclient.exe)</title><content type="html">&lt;p&gt;Note to self and anyone else who cares… you'll find the FIM client (aka miisclient) at the following location:&lt;/p&gt;  &lt;p&gt;C:\Program Files\Microsoft Office Servers\14.0\Synchronization Service\UIShell\miisclient.exe&lt;/p&gt;  &lt;p&gt;Use it to debug SharePoint 2010 user profile synchronisation.&lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-2778766215398530665?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=SyeAzj4IA6c:EiCWtFn9-7k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=SyeAzj4IA6c:EiCWtFn9-7k:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/SyeAzj4IA6c" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/2778766215398530665/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/09/where-to-find-fim-client-miisclientexe.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/2778766215398530665?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/2778766215398530665?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/SyeAzj4IA6c/where-to-find-fim-client-miisclientexe.html" title="Where to find the FIM Client (miisclient.exe)" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/09/where-to-find-fim-client-miisclientexe.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUEMR305fCp7ImA9Wx5QEEU.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-7815972122378696958</id><published>2010-08-29T21:14:00.001+08:00</published><updated>2010-08-29T21:14:46.324+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-29T21:14:46.324+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Moving files in Visual Studio and the SharePointProjectItem.spdata file</title><content type="html">&lt;p&gt;While mucking around the &lt;a href="http://cksdev.codeplex.com/"&gt;CKS:Development Tools Edition&lt;/a&gt; Visual Studio 2010 extension for SharePoint, I inadvertently created a new master page from the Starter Master Page (CKSDev) template in an existing VS module:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_kuHIq0i1UO4/THpdOpDe2cI/AAAAAAAADV8/dq6JIv1qL9s/s1600-h/Module-CKSDev-MasterPage%5B2%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Module-CKSDev-MasterPage" border="0" alt="Module-CKSDev-MasterPage" src="http://lh5.ggpht.com/_kuHIq0i1UO4/THpdPu0UlFI/AAAAAAAADWA/Z-7ZJKrvRac/Module-CKSDev-MasterPage_thumb.png?imgmax=800" width="244" height="197" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Neither VS nor SharePoint seemed to object to this arrangement—likely because the module in question was otherwise empty—but, as an experiment, I decided to move the CKS:Dev master page SPI into the project (and the top-level MasterPages module) nonetheless, making the nested CKS:Dev container obsolete. &lt;/p&gt;  &lt;p&gt;This wasn't a good idea because subsequent attempts to build the package failed with the error &amp;quot;Could not find the file&lt;font color="#000000"&gt; 'c:\…PageLayouts\StarterMasterPage1.master&amp;quot;. &lt;/font&gt;Omg, what to do and why is trying to find these files in the project root?! I briefly pined for the good ol' .ddf file from 2007 days and then slapped some sense back into myself. &lt;/p&gt;  &lt;p&gt;To begin fixing the problem, I first had to click the Show All Files button in the Solution Explorer window to reveal the SharePointProjectItem.spdata file in the root-level module (note the CKS:Dev inner master page module has its own .spdata file, which is empty after the move): &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_kuHIq0i1UO4/THpdQYt23kI/AAAAAAAADWE/G_STLmLKxBc/s1600-h/SharePointProjectItem_spdata%5B5%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="SharePointProjectItem_spdata" border="0" alt="SharePointProjectItem_spdata" src="http://lh4.ggpht.com/_kuHIq0i1UO4/THpdRQYocmI/AAAAAAAADWI/wNylk-kL7PI/SharePointProjectItem_spdata_thumb%5B1%5D.png?imgmax=800" width="232" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;This is an XML file and its structure is quite basic; I'd describe it as a mini project file for the module in question as it lists the source files in the module along with their targets, and types. &lt;/p&gt;  &lt;p&gt;Interestingly, the Source values specified all started with &amp;quot;..\&amp;quot; but inspecting a similar file from an un-modified module simply listed each file names; I assume Visual Studio helped out during the move to add this additional path information. &lt;/p&gt;  &lt;p&gt;Removing the &amp;quot;..\&amp;quot; prefix fixed the problem and suggested to me the SharePoingProjectItem.spdata file may prove fragile during project refactoring. Sure enough, moving the files back to their original home added a spurious MasterPages\ prefix to each file and wreaked havoc all over again. &lt;/p&gt;  &lt;p&gt;Moral of the story: manually edit the SharePointProjectItem.data file as required but beware Visual Studio may &amp;quot;fix&amp;quot; any of your changes. &lt;/p&gt;  &lt;p&gt;One other thing to note: when I moved my files around, Visual Studio reset the properties on some of them. Most notably, Elements.xml file reverted to a Deployment Type of ElementFile instead of ElementManifest and the Build Action was set to Content. Modifying these properties also added the parent directory prefixes back to my .spdata file. Perhaps removing files from one location and adding them them back through the Add –&amp;gt; Existing Item… dialog is a safer way to approach this long-term if VS is going to continue meddling with things. &lt;/p&gt;  &lt;p&gt;And just to add to the joy, one final bit of fun: a page layout added to the module in question was deploying fine; for the sake of producing the screenshot above, I excluded it from the solution, which also removed it from the files listed below the MasterPages module in the visual feature designer. While I assumed the feature designer would automatically update itself when I added the layout back to the module, I was wrong: the designer refused to update to reflect the inclusion of the page layout until I restarted Visual Studio! If this is a VS 2010 bug, it'll be one of several I've already filed with MS! Viva SP1!!!&lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers. &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-7815972122378696958?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=KK2SyRThu3k:jSr6lBtnLlE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=KK2SyRThu3k:jSr6lBtnLlE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/KK2SyRThu3k" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/7815972122378696958/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/08/moving-files-in-visual-studio-and.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7815972122378696958?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7815972122378696958?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/KK2SyRThu3k/moving-files-in-visual-studio-and.html" title="Moving files in Visual Studio and the SharePointProjectItem.spdata file" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/08/moving-files-in-visual-studio-and.html</feedburner:origLink></entry><entry gd:etag="W/&quot;AkYERXo8fyp7ImA9Wx5REk0.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-8705363880551117821</id><published>2010-08-19T16:55:00.001+08:00</published><updated>2010-08-19T16:55:04.477+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-19T16:55:04.477+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Parts" /><title>Setting the Visible property on a webpart throws</title><content type="html">&lt;p&gt;Using myWebPart.Visible = false and getting this?&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The Visible property cannot be set on Web Part 'your_web_part'. It can only be set on a standalone Web Part.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;Use myWebPart.Hidden = true instead.&lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers: &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-8705363880551117821?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=cE76Y2CZuNA:-vN9kF01tTA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=cE76Y2CZuNA:-vN9kF01tTA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/cE76Y2CZuNA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/8705363880551117821/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/08/setting-visible-property-on-webpart.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/8705363880551117821?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/8705363880551117821?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/cE76Y2CZuNA/setting-visible-property-on-webpart.html" title="Setting the Visible property on a webpart throws" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/08/setting-visible-property-on-webpart.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Ck4MRHs6eCp7ImA9Wx5REU0.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-6794546795763083940</id><published>2010-08-18T11:08:00.001+08:00</published><updated>2010-08-18T11:09:45.510+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-18T11:09:45.510+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="Virtualization" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="Hyper-V" /><title>Must Have Windows Server 2008 R2 Hyper-V Hotfixes</title><content type="html">&lt;p&gt;Now there's a damning blog post title! &lt;/p&gt;  &lt;p&gt;In brief, I've had a few issues since installing Windows Server 2008 R2 and adding the Hyper-V Role on my Dell Precision M6500 Core i7 laptop (if you've landed on this post and you don't care about laptops--i.e. you're an admin--don't stop reading now as this post will likely apply to you too). This post is meant to be a running log of problems and their resolutions while we await the next service pack, I suppose. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Problem #1&lt;/u&gt;:&lt;/strong&gt; Blue Screen of Death/random reboots &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Resolution:&lt;/strong&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Install the &lt;a href="http://support.microsoft.com/kb/975530"&gt;http://support.microsoft.com/kb/975530&lt;/a&gt; hotfix on your Hyper-V hosts or use the work around detailed in the KB article. &lt;/li&gt; &lt;/ul&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;a href="http://support.microsoft.com/kb/975530"&gt;KB975530&lt;/a&gt;: Stop error message on a Windows Server 2008 R2-based computer that has the Hyper-V role installed and that uses one or more Intel CPUs that are code-named Nehalem: &amp;quot;0x00000101 - CLOCK_WATCHDOG_TIMEOUT&amp;quot; &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;Symptoms, event log entries, and whatnot:&lt;/strong&gt; Unexpected freezes, BSODs and reboots during periods of high network activity. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Event ID 219, The driver \Driver\WUDFRd failed to load for the device USB\VID_0A5C&amp;amp;PID_5800&amp;amp;MI_01\7&amp;amp;66de6c9&amp;amp;0&amp;amp;0001. &lt;/li&gt;    &lt;li&gt;Event ID 41, The system has rebooted without cleanly shutting down first. This error could be caused if the system stopped responding, crashed, or lost power unexpectedly. &lt;/li&gt;    &lt;li&gt;Event ID 4, Broadcom NetXtreme 57xx Gigabit Controller: The network link is down.&amp;#160; Check to make sure the network cable is properly connected. &lt;/li&gt;    &lt;li&gt;Event ID 1001, The computer has rebooted from a bugcheck.&amp;#160; The bugcheck was: 0x00000101 (0x0000000000000019, 0x0000000000000000, 0xfffff880020ce180, 0x0000000000000003). A dump was saved in: C:\Windows\MEMORY.DMP. Report Id: 043010-31168-01.      &lt;br /&gt;&lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;Apparently this issue is caused by an Intel erratum affecting Nehalem-based processors (i.e. Xeon 5500, Core i7-800, and Core i5-700 series). &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;u&gt;Problem #2&lt;/u&gt;: &lt;/strong&gt;Guest VMs freeze, lost connection &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Resolution:&lt;/strong&gt; &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Install the &lt;a href="http://support.microsoft.com/kb/974909"&gt;http://support.microsoft.com/kb/974909&lt;/a&gt; hotfix &lt;/li&gt;    &lt;li&gt;Install the &lt;a href="http://support.microsoft.com/kb/981836"&gt;http://support.microsoft.com/kb/981836&lt;/a&gt; hotfix (this KB is specific about Windows Server 2003 but a Microsoft representative &lt;a href="http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2virtualization/thread/0408a28d-6ab8-4c85-8773-4bc42c2df40b"&gt;suggested&lt;/a&gt; it's applicable to all VMs as the hotfix updates the integration services components generally) &lt;/li&gt;    &lt;li&gt;Update integration services on all guest VMs &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&lt;font color="#ff0000"&gt;None of this worked for me but changing my host power settings from Balanced to High performance did.&lt;/font&gt; In theory you should be able to revert to Balanced after installing and the above. &lt;/p&gt;  &lt;p&gt;You may also want to investigate turning off TCP offloading. &lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Symptoms, event log entries, and whatnot:&lt;/strong&gt; Hyper-V console freezes in some virtual machines but not others (the only one affected in my case was an XP VM upgraded from Virtual PC 2007 SP1), Hyper-V manager reports the Heartbeat as &amp;quot;Lost connection&amp;quot;. &lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Event ID 5: The miniport 'Microsoft Virtual Machine Bus Network Adapter #3' hung. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;...followed by...&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Event ID 4: The miniport 'Microsoft Virtual Machine Bus Network Adapter #3' reset. &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;For additional information about this problem, definitely check out &lt;a title="http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2virtualization/thread/0408a28d-6ab8-4c85-8773-4bc42c2df40b" href="http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2virtualization/thread/0408a28d-6ab8-4c85-8773-4bc42c2df40b"&gt;http://social.technet.microsoft.com/Forums/en-US/windowsserver2008r2virtualization/thread/0408a28d-6ab8-4c85-8773-4bc42c2df40b&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;More to come? Hopefully not! ;-)&lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers: &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-6794546795763083940?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=tmLxTMrd__E:e58MM2LdtcM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=tmLxTMrd__E:e58MM2LdtcM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/tmLxTMrd__E" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/6794546795763083940/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/08/must-have-windows-server-2008-r2-hyper.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/6794546795763083940?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/6794546795763083940?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/tmLxTMrd__E/must-have-windows-server-2008-r2-hyper.html" title="Must Have Windows Server 2008 R2 Hyper-V Hotfixes" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/08/must-have-windows-server-2008-r2-hyper.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C04DQX8zcCp7ImA9Wx5SFks.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-3339570121235212385</id><published>2010-08-12T16:54:00.001+08:00</published><updated>2010-08-13T09:12:50.188+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-13T09:12:50.188+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="Errors" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="MOSS" /><category scheme="http://www.blogger.com/atom/ns#" term="Active Directory" /><title>Configuring the People Picker and No exact match was found</title><content type="html">&lt;p&gt;SharePoint's people picker is generally one of those things that just kind of works—and fairly well no less. There's a gotcha to that statement however: the people picker works well when the the SharePoint farm exists in the same domain as the users you want to match against, or exists in a second domain where a two-way trust has been established with the first domain. &lt;/p&gt; &lt;a href="http://lh5.ggpht.com/_kuHIq0i1UO4/TGO2sXB0bNI/AAAAAAAADVE/vQ-Cc32amaU/s1600-h/SharePoint-People-Picker%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SharePoint-People-Picker" border="0" alt="SharePoint-People-Picker" src="http://lh4.ggpht.com/_kuHIq0i1UO4/TGO2tN_kRXI/AAAAAAAADVI/mQcA9hSkApY/SharePoint-People-Picker_thumb%5B1%5D.png?imgmax=800" width="373" height="74" /&gt;&lt;/a&gt;   &lt;p&gt;If your SharePoint web frontends exist in another domain with a one-way trust, you've got some extra work to do. This is the case with our dev setup and DMZ setup: our dev VMs are joined to the dev domain which trusts the corporate domain and our production servers are similarly joined to a web domain that also trusts the corporate domain. Both trusts are one-way.&lt;/p&gt;  &lt;p&gt;I'll simplify what needs to be done by stating you simply need to tell SharePoint which forests or domains house the users you're after and provide an account from that domain. &lt;/p&gt;  &lt;p&gt;Firstly you'll need to provide a key that will be used to encrypt any passwords you plug in during the next step. Run this on every WFE where &amp;quot;key&amp;quot; is a string of your choosing:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;STSADM.exe -o setapppassword -password key&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Next, set the peoplepicker-searchadforests property:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;STSADM.exe -o setproperty-propertyname peoplepicker-searchadforests -propertyvalue &amp;lt;Valid list of forests or domains&amp;gt; -url &amp;lt;URL of the Web application&amp;gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;where &amp;lt;Valid list of forests or domains&amp;gt; might look like this:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&amp;quot;domain:mydomain.com,mydomain\myuser,mypassword&amp;quot;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Supply the URL of the web application you want to configure (and note you don't need to set this for Central Admin, set it for a specific web application). Multiple domains and forests can be listed if necessary. &lt;/p&gt;  &lt;p&gt;For more information, check out these resources:&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;&lt;a href="http://blogs.msdn.com/b/rajank/archive/2009/09/20/all-you-want-to-know-about-people-picker-in-sharepoint-functionality-configuration-troubleshooting-part-2.aspx"&gt;All you want to know about People Picker in SharePoint ( Functionality | Configuration | Troubleshooting ) Part-2&lt;/a&gt; &lt;/li&gt;    &lt;li&gt;&lt;a href="http://technet.microsoft.com/en-us/library/cc263460(office.12).aspx"&gt;Peoplepicker-searchadforests: Stsadm property&lt;/a&gt; &lt;/li&gt; &lt;/ul&gt; &lt;center&gt;&amp;#160;&lt;/center&gt;&lt;center&gt;If you found this post helpful, please support my advertisers: &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-3339570121235212385?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=raUIuS9sAjQ:WE3D32nFZ8k:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=raUIuS9sAjQ:WE3D32nFZ8k:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/raUIuS9sAjQ" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/3339570121235212385/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/08/configuring-people-picker-and-no-exact.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/3339570121235212385?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/3339570121235212385?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/raUIuS9sAjQ/configuring-people-picker-and-no-exact.html" title="Configuring the People Picker and No exact match was found" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/08/configuring-people-picker-and-no-exact.html</feedburner:origLink></entry><entry gd:etag="W/&quot;Dk4CQHY8fyp7ImA9Wx5QF04.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-3125669107985659427</id><published>2010-08-10T14:52:00.001+08:00</published><updated>2010-09-06T09:02:41.877+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-06T09:02:41.877+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><category scheme="http://www.blogger.com/atom/ns#" term="SQL Server" /><title>Data Compare crashes Visual Studio 2010</title><content type="html">&lt;p&gt;Although I'd previously noticed the Data Compare and Schema Compare options on the Data menu in Visual Studio, until today I didn't have a good reason to see what they can do. &lt;/p&gt;  &lt;p&gt;Note I'm running VS Ultimate; if you can't see it, I'm not certain in which editions of the product this menu makes an appearance. SQL Server Management Studio 2008 doesn't seem to have a comparable tool that I'm aware of—which seems odd—but please comment if you know something I don't. &lt;/p&gt;  &lt;p&gt;So here's the situation: two copies of the same database, one that's been moved to a different server and both of which have data changes. Your mission: find and fix the differences. &lt;/p&gt;  &lt;p&gt;Open VS, Data –&amp;gt; Data Compare –&amp;gt; New Data Comparison…&lt;/p&gt;  &lt;p&gt;CRASH! &lt;/p&gt;  &lt;p&gt;Luckily I was able to work around this problem (feature?) by re-opening VS, Data –&amp;gt; Transact-SQL Editor –&amp;gt; New Query Connection, connecting to any ol' database (or optionally just cancelling out of the connection window) and then launching the compare wizard again. &lt;/p&gt;  &lt;p&gt;I'm not sure what this does since you specify a database connection in the compare wizard anyway and cancelling the connection window or closing the new query window after opening the Transact-SQL Editor connection makes the problem go away. I've logged a bug with Microsoft connect.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Update 6 Sept 2010&lt;/strong&gt;: MSFTConnect just got in touch to tell me this is likely related to the Solution Navigator extension in the Productivity Power Tools. Disabling apparently fixes the problem and the problem should be fixed this month. &lt;/p&gt; &lt;center&gt;If you found this post helpful, please support my advertisers: &lt;/center&gt;&lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt;&lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt;&lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-3125669107985659427?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=yWyUobmEuz0:6EYwd4_tbDc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=yWyUobmEuz0:6EYwd4_tbDc:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/yWyUobmEuz0" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/3125669107985659427/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/08/data-compare-crashes-visual-studio-2010.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/3125669107985659427?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/3125669107985659427?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/yWyUobmEuz0/data-compare-crashes-visual-studio-2010.html" title="Data Compare crashes Visual Studio 2010" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/08/data-compare-crashes-visual-studio-2010.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0IMSHs7eip7ImA9Wx5QGUw.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-7747232452738938210</id><published>2010-08-02T10:59:00.000+08:00</published><updated>2010-09-08T10:06:29.502+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-09-08T10:06:29.502+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="64-bit" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><category scheme="http://www.blogger.com/atom/ns#" term="How-To" /><title>Enable Fusion Assembly Binding Logging</title><content type="html">&lt;p&gt;The &lt;strong&gt;WRN: Assembly binding logging is turned off message&lt;/strong&gt; is annoying but assembly binding logging can be extremely helpful when you need to know how .NET is (or isn't) locating the assemblies you've referenced. The message is annoying because, if you're like me, you never have logging enabled and the registry key cited is a bit unusual:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;What does the exclamation mark mean? Presumably EnableLog is a DWORD in the Fusion key but it's all a bit unclear for my liking. Once you've set this DWORD, you need to figure out what to do next and for many people that will likely involve firing up the &lt;a href="http://msdn.microsoft.com/en-us/library/e74a18c4(VS.80).aspx"&gt;Fusion Log Viewer&lt;/a&gt; fuslogvw.exe or the Windows/.NET SDK. But then what?&lt;/p&gt;  &lt;p&gt;Gary Kindel was kind enough to &lt;a href="http://stackoverflow.com/questions/255669/how-to-enable-assembly-bind-failure-logging-fusion-in-net/1527249#1527249"&gt;post&lt;/a&gt; the following details in response to a related Stack Overflow question:&lt;/p&gt;  &lt;p&gt;Add the following values to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion    &lt;br /&gt;    &lt;br /&gt;DWORD ForceLog set value to 1     &lt;br /&gt;DWORD LogFailures set value to 1     &lt;br /&gt;DWORD LogResourceBinds set value to 1     &lt;br /&gt;String LogPath set value to folder for logs ie) C:\FusionLog\&lt;/p&gt;  &lt;p&gt;Make sure you include the backslash after the folder name. I also found an IISRESET was necessary in a web context. &lt;/p&gt;  &lt;p&gt;Since I wanted to enable this logging in an environment without Visual Studio or the Windows SDK installed, the above option was clean and lightweight. Log files were dumped to the expected location in .html format and it was then a case of locating the assembly I was interested in… and, oh yeah, fixing the problem ;-) The issue was also detailed in the ASP.NET error message returned by IIS.&lt;/p&gt;  &lt;p&gt;Advanced geeks: because Fusion logging supposedly affects performance, you might want to create a reg file/batch script to toggle logging on and off. Here's a starting point—put this into a file called EnableFusionLogging.reg and double-click to run it:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Windows Registry Editor Version 5.00 &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Fusion]      &lt;br /&gt;&amp;quot;ForceLog&amp;quot;=dword:00000001       &lt;br /&gt;&amp;quot;LogFailures&amp;quot;=dword:00000001       &lt;br /&gt;&amp;quot;LogResourceBinds&amp;quot;=dword:00000001       &lt;br /&gt;&amp;quot;LogPath&amp;quot;=&amp;quot;C:\\Temp\\FusionLog\\&amp;quot;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I actually call this from a batch script which also resets IIS and I have a mirror reg file that disables logging.&lt;/p&gt;  &lt;p align="center"&gt;&lt;em&gt;If you found this post helpful, please support my advertisers:&lt;/em&gt; &lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-7747232452738938210?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=1x3NDNMB0pw:uFcqc2h6IqE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=1x3NDNMB0pw:uFcqc2h6IqE:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/1x3NDNMB0pw" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/7747232452738938210/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/08/enable-fusion-assembly-binding-logging.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7747232452738938210?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7747232452738938210?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/1x3NDNMB0pw/enable-fusion-assembly-binding-logging.html" title="Enable Fusion Assembly Binding Logging" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/08/enable-fusion-assembly-binding-logging.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEQGQXo6fSp7ImA9Wx5TFk4.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-7298230218909267615</id><published>2010-08-01T11:12:00.000+08:00</published><updated>2010-08-01T11:12:00.415+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-08-01T11:12:00.415+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Windows" /><category scheme="http://www.blogger.com/atom/ns#" term="Licensing" /><title>Windows Licensing Details</title><content type="html">&lt;p&gt;Windows will report licensing details if you run the following from an elevated console window:&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;slmgr.vbs /dlv&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;The Windows Script Host popup will shortly tell you which edition of Windows you're running, which licensing channel you fall under (retail, OEM, volume), your activation ID, license status, rearm counts, and KMS details.&lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-7298230218909267615?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=SM6EwUv0TyM:9TwIMInSYTU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=SM6EwUv0TyM:9TwIMInSYTU:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/SM6EwUv0TyM" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/7298230218909267615/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/08/windows-licensing-details.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7298230218909267615?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7298230218909267615?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/SM6EwUv0TyM/windows-licensing-details.html" title="Windows Licensing Details" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/08/windows-licensing-details.html</feedburner:origLink></entry><entry gd:etag="W/&quot;C0EMQnY6cCp7ImA9Wx5TEkU.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-806187664875739884</id><published>2010-07-28T09:42:00.001+08:00</published><updated>2010-07-28T09:48:03.818+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-28T09:48:03.818+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="Tools" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="64-bit" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="Visual Studio" /><title>Visual Studio 2010 Remote Debugger Location</title><content type="html">&lt;p&gt;You'll find the VS 2010 remote debugger a &lt;a href="http://blog.mediawhole.com/2008/09/visual-studio-2008-remote-debugger.html"&gt;similar location&lt;/a&gt; to that of the 2005/2008 debuggers:&lt;/p&gt;  &lt;p&gt;C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\IDE\Remote Debugger&lt;/p&gt;  &lt;p&gt;Note VS2010 is still a 32-bit app so if you're running a 64-bit OS, you'll need to be looking in the Program Files (x86) directory. The debugger itself comes in both x86 and x64 flavours. &lt;/p&gt;  &lt;p&gt;To install, I normally just copy the relevant architecture folder to the remote server. Run msvsmon.exe and assuming you're otherwise &lt;a href="http://msdn.microsoft.com/en-us/library/bt727f1t.aspx"&gt;setup for remote debugging&lt;/a&gt;, it should be same as previous versions of Visual Studio! &lt;/p&gt;  &lt;p&gt;Ps. You can also &lt;a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=60EC9D08-439B-4986-AE43-0487EB83C09E&amp;amp;amp;displaylang=en&amp;amp;displaylang=en"&gt;download&lt;/a&gt; the remote debugger from Microsoft.    &lt;br /&gt;Pps. I normally add msvsmon to the Windows Startup folder so it starts whenever I boot my remote dev environment (I've found I previously had to log on to the server, however, and two users can't run the monitor simultaneously on the same server). Apparently the &lt;a href="http://msdn.microsoft.com/en-us/library/xf8k2h6a.aspx"&gt;2010 monitor can be run as a service&lt;/a&gt;—not sure if this was the case for previous versions.&lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-806187664875739884?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=lEU8J2Arzig:-L5tT3I6_dI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=lEU8J2Arzig:-L5tT3I6_dI:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/lEU8J2Arzig" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/806187664875739884/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/07/visual-studio-2010-remote-debugger.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/806187664875739884?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/806187664875739884?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/lEU8J2Arzig/visual-studio-2010-remote-debugger.html" title="Visual Studio 2010 Remote Debugger Location" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/07/visual-studio-2010-remote-debugger.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0IMQ3g8fyp7ImA9Wx5TEU8.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-7626906925346550315</id><published>2010-07-23T14:17:00.001+08:00</published><updated>2010-07-26T14:26:22.677+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-26T14:26:22.677+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Content Management" /><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="Errors" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><title>PublishingPageLayout doesn't point to current web application</title><content type="html">&lt;p&gt;In the past, we've developed a habit of &amp;quot;birthing&amp;quot; new SharePoint sites in a UAT environment for initial setup and stabilisation before the big move to the production farm; during major site renovations—like the recent &lt;a href="http://www.westernaustralia.com"&gt;www.westernaustralia.com&lt;/a&gt; rebrand—we'll implement a quasi-freeze on production (emergency edits only) and conversely pull the content down to UAT for overhaul. At the end of the day, we're moving SharePoint content between farms on a fairly regular basis.&lt;/p&gt;  &lt;p&gt;Prior to the release of the &lt;a href="http://support.microsoft.com/kb/968850"&gt;April 2009&lt;/a&gt; &lt;a href="http://support.microsoft.com/kb/968765"&gt;Cumulative Update&lt;/a&gt; packages, Microsoft didn't support moving content databases between farms because &amp;quot;&lt;a href="http://blogs.technet.com/b/stefan_gossner/archive/2009/05/01/red-is-green-up-is-down-and-the-unsupported-suddenly-becomes-supported.aspx"&gt;MOSS often stores absolute URLs to the Page Layout in the properties of a Publishing Page&lt;/a&gt;.&amp;quot; With the April Cu that changes but of course the times they a change too and we've abandoned the stsadm backup/restore commands in favour of restoring SQL Server backups and running the stsadm deletecontentdb/addcontentdb commands (it's not only more reliable but many times faster…). &lt;/p&gt;  &lt;p&gt;Until yesterday none of the above was causing us any problems. In fact, we'd even become complacent about it all. &lt;/p&gt;  &lt;p&gt;So finding out one of our content editors was unable to publish a page due to a previously unseen exception was not something that would have led us to review the way we handle content databases. After checking out &lt;em&gt;some &lt;/em&gt;pages for editing, an attempt to publish the page was met with the following exception:&lt;/p&gt;  &lt;p&gt;ArgumentException&amp;#160; &lt;br /&gt;Value does not fall within the expected range. &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160; Stack trace:&amp;#160;&amp;#160;&amp;#160; at Microsoft.SharePoint.Library.SPRequestInternalClass.GetMetadataForUrl(String bstrUrl, Int32 METADATAFLAGS, Guid&amp;amp; pgListId, Int32&amp;amp; plItemId, Int32&amp;amp; plType, Object&amp;amp; pvarFileOrFolder)    &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Library.SPRequest.GetMetadataForUrl(String bstrUrl, Int32 METADATAFLAGS, Guid&amp;amp; pgListId, Int32&amp;amp; plItemId, Int32&amp;amp; plType, Object&amp;amp; pvarFileOrFolder)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.SPWeb.GetMetadataForUrl(String relUrl, Int32 mondoProcHint, Guid&amp;amp; listId, Int32&amp;amp; itemId, Int32&amp;amp; typeOfObject, Object&amp;amp; fileOrFolder)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.SPWeb.GetFileOrFolderObject(String strUrl)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.CommonUtilities.GetFileFromUrl(String url, SPWeb web)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.PublishingPage.get_Layout()     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.PublishingPage.GetEffectivePageCacheProfileId(Boolean anonUserProfile)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.PublishingPage.GetEffectiveAnonymousPageCacheProfileId()     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.CachedPage..ctor(PublishingPage page, SPListItem altItem, String id, String parentId, String title, String url, String description, CachedObjectFactory factory, List`1&amp;amp; fieldInfo, Boolean datesInUtc)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.CachedPage.CreateCachedPage(PublishingPage page, SPListItem altItem, CachedObjectFactory factory, List`1&amp;amp; fieldInfo, Boolean datesInUtc)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.CachedPage.CreateCachedPage(PublishingPage page, CachedObjectFactory factory, List`1&amp;amp; fieldInfo, Boolean datesInUtc)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.CachedListItem.CreateCachedListItem(SPListItem item, SPListItem alternateItem, Boolean parentIsWeb, CachedObjectFactory factory, List`1&amp;amp; fieldInfo, Boolean datesInUtc)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.CachedObjectFactory.CreateObject(SPListItem listItem, List`1&amp;amp; fieldInfo, Boolean datesInUtc)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.CachedObjectFactory.CreateObject(PublishingPage page, Boolean datesInUtc)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.CachedObjectFactory.GetPageForCurrentItem()     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.TemplateRedirectionPage.ComputeRedirectionVirtualPath(TemplateRedirectionPage basePage)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.Internal.CmsVirtualPathProvider.CombineVirtualPaths(String basePath, String relativePath)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.Hosting.VirtualPathProvider.CombineVirtualPaths(VirtualPath basePath, VirtualPath relativePath)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.UI.DependencyParser.AddDependency(VirtualPath virtualPath)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.UI.DependencyParser.ProcessDirective(String directiveName, IDictionary directive)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.UI.PageDependencyParser.ProcessDirective(String directiveName, IDictionary directive)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.UI.DependencyParser.ParseString(String text)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.UI.DependencyParser.ParseFile(String physicalPath, VirtualPath virtualPath)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.UI.DependencyParser.GetVirtualPathDependencies()     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.ApplicationRuntime.SPVirtualFile.CalculateFileDependencies(HttpContext context, SPRequestModuleData basicRequestData, ICollection&amp;amp; directDependencies, ICollection&amp;amp; childDependencies)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.ApplicationRuntime.SPDatabaseFile.EnsureDependencies(HttpContext context, SPRequestModuleData requestData)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.ApplicationRuntime.SPDatabaseFile.EnsureCacheKeyAndViewStateHash(HttpContext context, SPRequestModuleData requestData)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.ApplicationRuntime.SPDatabaseFile.GetVirtualPathProviderCacheKey(HttpContext context, SPRequestModuleData requestData)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.ApplicationRuntime.SPVirtualFile.GetVirtualPathProviderCacheKey(String virtualPath)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.ApplicationRuntime.SPVirtualPathProvider.GetCacheKey(String virtualPath)     &lt;br /&gt;&amp;#160;&amp;#160; at Microsoft.SharePoint.Publishing.Internal.CmsVirtualPathProvider.GetCacheKey(String virtualPath)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.Compilation.BuildManager.GetCacheKeyFromVirtualPath(VirtualPath virtualPath, Boolean&amp;amp; keyFromVPP)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.Compilation.BuildManager.GetVPathBuildResultInternal(VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.Compilation.BuildManager.GetVPathBuildResultWithNoAssert(HttpContext context, VirtualPath virtualPath, Boolean noBuild, Boolean allowCrossApp, Boolean allowBuildInPrecompile)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.Compilation.BuildManager.GetVirtualPathObjectFactory(VirtualPath virtualPath, HttpContext context, Boolean allowCrossApp, Boolean noAssert)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.Compilation.BuildManager.CreateInstanceFromVirtualPath(VirtualPath virtualPath, Type requiredBaseType, HttpContext context, Boolean allowCrossApp, Boolean noAssert)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.UI.PageHandlerFactory.GetHandlerHelper(HttpContext context, String requestType, VirtualPath virtualPath, String physicalPath)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.HttpApplication.MapHttpHandler(HttpContext context, String requestType, VirtualPath path, String pathTranslated, Boolean useAppConfig)     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.HttpApplication.MapHandlerExecutionStep.System.Web.HttpApplication.IExecutionStep.Execute()     &lt;br /&gt;&amp;#160;&amp;#160; at System.Web.HttpApplication.ExecuteStep(IExecutionStep step, Boolean&amp;amp; completedSynchronously)&lt;/p&gt;  &lt;p&gt;Which of course means nothing. &lt;/p&gt;  &lt;p&gt;Before long the guys stumbled across one of Stefan Goßner's brilliant &lt;a href="http://blogs.technet.com/b/stefan_gossner/archive/2008/03/12/common-error-situation-with-when-using-backup-restore-to-transfer-a-database-to-a-new-farm-on-moss-2007.aspx"&gt;posts&lt;/a&gt;, which suggests MOSS doesn't update all absolute page layout URLs on each publishing page object when content is shifted between farms; of cours, with the April 2009 CU installed and doing things via backup/restore or import/export, we may have avoided this issue. &lt;/p&gt;  &lt;p&gt;You can see the exact problem by examining a page in &lt;a href="http://spm.codeplex.com/"&gt;SharePoint Manager&lt;/a&gt;: locate a page in the Pages library, expand the page node to reveal its Properties node, and expand the Properties node so you can inspect the PublishingPageLayout node. This screenshot is from my development environment, a server named dev-moss-mh5 and the wa.com web application configured to run on port 180—so obviously the http://edit.uat.westernaustralia.com value is incorrect:&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh6.ggpht.com/_kuHIq0i1UO4/TEk0EfjjEKI/AAAAAAAADUk/owHXoxVYXVE/s1600-h/SPM%202007%20Publishin%20Page%20Properties%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="SPM 2007 Publishin Page Properties" border="0" alt="SPM 2007 Publishin Page Properties" src="http://lh4.ggpht.com/_kuHIq0i1UO4/TEk0FPSWKiI/AAAAAAAADUo/fOWbjDkkNaA/SPM%202007%20Publishin%20Page%20Properties_thumb%5B1%5D.png?imgmax=800" width="423" height="174" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Interestingly, this problem was only affecting the production edit site… for whatever reason, my dev environment was unaffected. However, running Stefan's &lt;a href="http://code.msdn.microsoft.com/FixPageLayout"&gt;FixPageLayout&lt;/a&gt; code corrected the problem in production. The application runs through every page in every subsite and fixes the PublishingPageLayout property where required (in addition to reporting any other page instance/layout/master page issues).&amp;#160; &lt;/p&gt;  &lt;p&gt;Update: Just remembered from a while back Gary Lapointe also has an stsadm command to fix this problem:&lt;/p&gt;  &lt;p&gt;&lt;a title="http://stsadm.blogspot.com/2007/08/fix-publishing-pages-page-layout-url.html" href="http://stsadm.blogspot.com/2007/08/fix-publishing-pages-page-layout-url.html"&gt;http://stsadm.blogspot.com/2007/08/fix-publishing-pages-page-layout-url.html&lt;/a&gt;&lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-7626906925346550315?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=Yll_Wey2O18:XO08enbz8BY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=Yll_Wey2O18:XO08enbz8BY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/Yll_Wey2O18" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/7626906925346550315/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/07/publishingpagelayout-doesn-point-to.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7626906925346550315?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7626906925346550315?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/Yll_Wey2O18/publishingpagelayout-doesn-point-to.html" title="PublishingPageLayout doesn&amp;#39;t point to current web application" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/07/publishingpagelayout-doesn-point-to.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YEQn8yfyp7ImA9WxFaF0U.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-3960743397041846617</id><published>2010-07-22T15:51:00.001+08:00</published><updated>2010-07-22T15:51:43.197+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-22T15:51:43.197+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="HTTP" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><title>Subsites, the Pages lists and 302 Redirects in an anonymous environment</title><content type="html">&lt;p&gt;Our network admin recently noticed some unusual errors in the proxy logs: &lt;a href="http://www.rottnestisland.com/en/pages"&gt;www.rottnestisland.com/en/pages&lt;/a&gt; was failing to redirect to the default page. Fiddlering the request revealed a 401 response was being returned by SharePoint and friends.&lt;/p&gt;  &lt;p&gt;Naturally our first inclination was to scratch our heads and wonder why such a thing would occur; at first glance both /en and /en/pages share many similarities with regular IIS directories; shouldn't SharePoint just go looking for the default page?!? After all, a request for /en is successfully 302 Redirected to /en/pages/home.aspx and the authenticated site also redirects the /en/pages request.&lt;/p&gt;  &lt;p&gt;In the above case, home.aspx is the default page as configured in the Pages list and it is published along with its master page and other supporting resources (in fact the page loads without issue when requested directly). &lt;/p&gt;  &lt;p&gt;Our &lt;a href="http://objectmix.com/sharepoint/298556-users-receive-intermittent-forbidden-errors-event-id-1314-a-3.html"&gt;anonymous setup&lt;/a&gt; isn't out of the ordinary: a read/write web app running in the default security zone is extended to a second read-only web app running in the internet zone with anonymous access enabled. Most annoyingly, we've got some URL rewriting tricks going on with &lt;a href="http://www.westernaustralia.com"&gt;www.westernaustralia.com&lt;/a&gt; so that site (which runs in the same farm as Rottnest) &lt;em&gt;does&lt;/em&gt; redirect the /pages directory, as does its sister web site, &lt;a href="http://www.tourism.wa.gov.au"&gt;www.tourism.wa.gov.au&lt;/a&gt;… the latter of which should have no tricks applied!&lt;/p&gt;  &lt;p&gt;Until this point we assumed those of us in the naughty developer team had broken something on the Rottnest site and those of its sibling sites running the same code base. When I spun up a sanity web app in my dev machine, however, I found I could reproduce the problem in that environment with no customisations applied. &lt;/p&gt;  &lt;p&gt;From one point of view this all makes sense: subsites will 302 Redirect to the default page in the Pages library and behave in the &amp;quot;normal IIS way&amp;quot;; the Pages library, being a list, should not do the same and does not—it's not a site. While plausible, this argument falls down when everything just works in the authenticated site. &lt;/p&gt;  &lt;p&gt;No deeper understanding or solution to this one as yet… &lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-3960743397041846617?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=kGcBj4FJ-34:FoIAiEqVPeA:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=kGcBj4FJ-34:FoIAiEqVPeA:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/kGcBj4FJ-34" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/3960743397041846617/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/07/subsites-pages-lists-and-302-redirects.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/3960743397041846617?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/3960743397041846617?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/kGcBj4FJ-34/subsites-pages-lists-and-302-redirects.html" title="Subsites, the Pages lists and 302 Redirects in an anonymous environment" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/07/subsites-pages-lists-and-302-redirects.html</feedburner:origLink></entry><entry gd:etag="W/&quot;D0YAR3w9cCp7ImA9WxFaF0U.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-8788961383328137951</id><published>2010-07-22T15:29:00.001+08:00</published><updated>2010-07-22T15:52:26.268+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-22T15:52:26.268+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Security" /><category scheme="http://www.blogger.com/atom/ns#" term="Errors" /><category scheme="http://www.blogger.com/atom/ns#" term="SharePoint" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><title>SharePoint 403 Forbidden and /bin directory read access</title><content type="html">&lt;p&gt;We've run a post-deployment script in our SharePoint environment for many years now to address a 403 Forbidden error that otherwise plagues us; the script grants the Authenticated Users account read access on the web application's bin directory and web.config file (for both the authenticated and anonymous sites).&lt;/p&gt;  &lt;p&gt;Someone deemed this necessary back in the day and, until recently, I always assumed it was just some quirk with our crusty environment. That was until I came across the same problem at another client site where custom code (in a SharePoint solution) was being deployed. &lt;/p&gt;  &lt;p&gt;With that as motivation, I decided to figure out why we do what we do and determined a &lt;a href="http://support.microsoft.com/kb/928365"&gt;.NET 2.0 security update&lt;/a&gt; from July 2007 introduced the problem: &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;The performance of the server may decrease and adding users or uploading files may fail with the error message &amp;quot;403 Forbidden error&amp;quot; after you install a Microsoft .NET Framework 2.0 hotfix.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;The security update links to a SharePoint 2007 &lt;a href="http://support.microsoft.com/kb/934793/"&gt;hotfix&lt;/a&gt;:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;In SharePoint Server 2007, the performance of the server may decrease, and you cannot upload files or add users. Additionally, you may receive the following error message: &lt;/p&gt;    &lt;p&gt;403 Forbidden error&lt;/p&gt;    &lt;p&gt;This issue occurs after you install a Microsoft .NET Framework version 2.0 hotfix that is build 2.0.50727.832 or a later build.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;In the &lt;a href="http://www.westernaustralia.com"&gt;www.westernaustralia.com&lt;/a&gt; context, the problem normally crops up when an anonymous user requests a page that runs custom code; with my second client, the problem occurred in the authenticated site when a content editor with full permission over the site collection attempted to access a SharePoint list. The 403 response seemed to be intermittent but I suspect it was application recycles correcting the problem for a short while. As a user with local admin rights on the WFE, I wasn't seeing the problem myself.&lt;/p&gt;  &lt;p&gt;Apparently uninstalling the update may be an option but I wonder if it's been incorporated into .NET 3.5 so that may not be possible in this day and age.&lt;/p&gt;  &lt;p&gt;Anyway, the consensus around this problem is that it's caused when a request from an authenticated user without local admin rights results in a failed read of the /bin directory by the impersonating w3wp.exe process (as evidenced by filemon.exe). The solution is to ensure the Authenticated Users group has read access to the /bin directory below C:\inetpub\wwwroot\wss\VirtualDirectories\{your app}&lt;/p&gt;  &lt;p&gt;Notably, we've found this permission needs to be reapplied as part of every deployment and often find permissions have reset after touching the Authentication providers settings in Central Admin. &lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-8788961383328137951?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=zP-g60a-5yc:pBVaTLgQMDY:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=zP-g60a-5yc:pBVaTLgQMDY:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/zP-g60a-5yc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/8788961383328137951/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/07/sharepoint-403-forbidden-and-bin.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/8788961383328137951?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/8788961383328137951?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/zP-g60a-5yc/sharepoint-403-forbidden-and-bin.html" title="SharePoint 403 Forbidden and /bin directory read access" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/07/sharepoint-403-forbidden-and-bin.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUADQnkyeyp7ImA9WxFaEUo.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-1660689576654675679</id><published>2010-07-15T15:09:00.001+08:00</published><updated>2010-07-15T15:09:33.793+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-15T15:09:33.793+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Errors" /><category scheme="http://www.blogger.com/atom/ns#" term="Community" /><title>Dumb User</title><content type="html">&lt;p&gt;A web site user rang the support desk to complain a thumbnail image of theirs wasn't displaying on our web site. We asked them to send a screenshot of the problem; this is what we got back (names altered to protect the bright sparks involved):&lt;/p&gt;  &lt;p&gt;&lt;b&gt;From:&lt;/b&gt; Best Resort [mailto:visit@bestresort.com]     &lt;br /&gt;&lt;b&gt;Sent:&lt;/b&gt; Thursday, 15 July 2010 12:40 PM    &lt;br /&gt;&lt;b&gt;To:&lt;/b&gt; 'Carol Belding'    &lt;br /&gt;&lt;b&gt;Subject:&lt;/b&gt; Best Resort Broken Image&lt;/p&gt;  &lt;p&gt;Hi Carol&lt;/p&gt;  &lt;p&gt;Printed and scanned page for you.&amp;#160; &lt;/p&gt;  &lt;p&gt;Regards   &lt;br /&gt;Fran    &lt;br /&gt;Best Resort&lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh4.ggpht.com/_kuHIq0i1UO4/TD60Jd0MugI/AAAAAAAADUc/4oOBKTf5GGk/s1600-h/Scan0715%5B4%5D.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; display: block; float: none; margin-left: auto; border-top: 0px; margin-right: auto; border-right: 0px" title="Scan0715" border="0" alt="Scan0715" src="http://lh4.ggpht.com/_kuHIq0i1UO4/TD60KtQ74nI/AAAAAAAADUg/QqlJK_EO3uc/Scan0715_thumb%5B2%5D.jpg?imgmax=800" width="310" height="396" /&gt;&lt;/a&gt; I've been in IT too long…&lt;/p&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-1660689576654675679?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=wkvSpoDNqNI:Qo3icB1-tqM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=wkvSpoDNqNI:Qo3icB1-tqM:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/wkvSpoDNqNI" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/1660689576654675679/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/07/dumb-user.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/1660689576654675679?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/1660689576654675679?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/wkvSpoDNqNI/dumb-user.html" title="Dumb User" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/07/dumb-user.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CkIAQHo-fip7ImA9WxFbGUQ.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-6340300167047223567</id><published>2010-07-13T11:04:00.001+08:00</published><updated>2010-07-13T11:09:01.456+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-13T11:09:01.456+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="IE" /><category scheme="http://www.blogger.com/atom/ns#" term="Debugging" /><category scheme="http://www.blogger.com/atom/ns#" term="CSS" /><title>CSS background-position not applied</title><content type="html">&lt;p&gt;Had a weird issue with a CSS sprite this morning where both IE8 and Firefox ignoring the background-position style. After stripping the component back to bare bones, the style started working as expected; I was momentarily stumped until a co-worker spotted the fact I didn't have any units specified for the x and y coordinates. Adding px to each coordinate resolved the issue. &lt;/p&gt;  &lt;pre&gt;.addLeg&lt;br /&gt;{&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; background-image: url(Buttons.png);&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; background-position: -10px -70px;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; width: 143px;&lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; height: 30px;&lt;br /&gt;}&lt;/pre&gt;&lt;br /&gt;Doh! That's what I get for copying code from the internet! Maybe something to do with the nesting or inherited styles? Who knows… &lt;br /&gt;&lt;br /&gt;In related news, I also noticed the IE Dev Toolbar in IE8 is inclined to display additional styles seemingly appended to the background-image style. This is a minor annoyance in terms of being able to manipulate the appended style but it seems to be a bug with the toolbar, not IE as the styles are applied correctly.&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://lh3.ggpht.com/_kuHIq0i1UO4/TDvXpForpbI/AAAAAAAADUU/3VRV1zZwjAg/s1600-h/IE%20Dev%20Toolbar%20Background%20Image%20Style%5B7%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="IE Dev Toolbar Background Image Style" border="0" alt="IE Dev Toolbar Background Image Style" src="http://lh4.ggpht.com/_kuHIq0i1UO4/TDvXp0UpIGI/AAAAAAAADUY/s7WOgnclx7M/IE%20Dev%20Toolbar%20Background%20Image%20Style_thumb%5B5%5D.png?imgmax=800" width="382" height="71" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;center&gt;&lt;br /&gt;  &lt;table&gt;&lt;tbody&gt;&lt;br /&gt;      &lt;tr&gt;&lt;br /&gt;        &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;&lt;br /&gt;&lt;br /&gt;        &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;&lt;br /&gt;      &lt;/tr&gt;&lt;br /&gt;    &lt;/tbody&gt;&lt;/table&gt;&lt;br /&gt;&lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-6340300167047223567?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=FO9K-DOlImc:oBkaX0MgboQ:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=FO9K-DOlImc:oBkaX0MgboQ:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/FO9K-DOlImc" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/6340300167047223567/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/07/css-background-position-not-applied.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/6340300167047223567?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/6340300167047223567?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/FO9K-DOlImc/css-background-position-not-applied.html" title="CSS background-position not applied" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/07/css-background-position-not-applied.html</feedburner:origLink></entry><entry gd:etag="W/&quot;DUAFQ346eCp7ImA9WxFbGEw.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-1104111694129666317</id><published>2010-07-11T11:08:00.001+08:00</published><updated>2010-07-11T11:08:32.010+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-11T11:08:32.010+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Software Development" /><category scheme="http://www.blogger.com/atom/ns#" term=".NET" /><category scheme="http://www.blogger.com/atom/ns#" term="C#" /><title>C# Object Initialisers and trailing commas</title><content type="html">&lt;p&gt;C# 3.0 (.NET 3.5) introduced some really handy new features and hidden gems—and I'm still coming across the latter today. &lt;/p&gt;  &lt;p&gt;If you've been developing with C# 3.0 for a while, you'll know about &lt;a href="http://msdn.microsoft.com/en-us/library/bb384062.aspx"&gt;object and collection initialisers&lt;/a&gt;: they allow you to initialise the members of an object or a collection at instantiation-time, rather than having to declare a variable and then assign values to the members of that variable. It's a convenience thing and makes life easier in a LINQ context (although the debugging experience in VS2008 sucks).&lt;/p&gt;  &lt;p&gt;When looking back through a piece of code I written previously, I noticed I'd inadvertently left a trailing comma after the final assignment in the list. I thought this was unusual because the code compiled and the C# is normally anything but lazy when it comes to most language constructs.&lt;/p&gt;  &lt;p&gt;StaffMember staffMember = new StaffMember()    &lt;br /&gt;{     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; FirstName = &amp;quot;Michael&amp;quot;,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; Surname = &amp;quot;Hanes&amp;quot;&lt;strong&gt;&lt;font color="#ff0000"&gt;,&lt;/font&gt;&lt;/strong&gt;     &lt;br /&gt;};&lt;/p&gt;  &lt;p&gt;Sure enough, the &lt;a href="http://www.ecma-international.org/publications/files/ECMA-ST/Ecma-334.pdf"&gt;ECMA C# Language Specification&lt;/a&gt; actually notes the following in the section about Array Initializers: &amp;quot;[…] C# allows a trailing comma at the end of an array-initializer. This syntax provides flexibility in adding or deleting members from such a list […]&amp;quot; (page 363, section 19.7). Interestingly, object and collection initialisers simply inherit this behaviour and the ability to initialise both arrays and enums in this way is not C# 3.0-specific (the specification document actually cites the C language).&lt;/p&gt;  &lt;p&gt;In my opinion this is a rational design decision that increases the useability of the C# language by developers. By contrast, I'm forever having to shift SQL select statement commas around when commenting out individual lines and it's a major inconvenience. Development is normally a very fluid, experimental time in the lifecycle of a code artefact and anything that simplifies that exercise &lt;em&gt;and&lt;/em&gt; increases maintainability is a good thing.&lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-1104111694129666317?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=VRfbSabMiHA:0bhk6t7M_J0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=VRfbSabMiHA:0bhk6t7M_J0:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/VRfbSabMiHA" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/1104111694129666317/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/07/c-object-initialisers-and-trailing.html#comment-form" title="1 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/1104111694129666317?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/1104111694129666317?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/VRfbSabMiHA/c-object-initialisers-and-trailing.html" title="C# Object Initialisers and trailing commas" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>1</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/07/c-object-initialisers-and-trailing.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CEcGQH49fip7ImA9WxFbFUg.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-2469243857760725669</id><published>2010-07-08T09:20:00.001+08:00</published><updated>2010-07-08T09:20:21.066+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-08T09:20:21.066+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="Administration" /><category scheme="http://www.blogger.com/atom/ns#" term="Things to Remember" /><category scheme="http://www.blogger.com/atom/ns#" term="Microsoft" /><category scheme="http://www.blogger.com/atom/ns#" term="Office" /><title>How to recover permanently deleted files in Outlook</title><content type="html">&lt;p&gt;I receive hundreds of emails a day from various systems and the occasional email from humans; in both cases, most of that email gets deleted straight away. Because my Deleted Items folder clogs up quickly as a result of this barrage, I've become a chronic shift-delete kind of guy over time—in other words, get rid of it, I don't want to ever see it again, goodbye. This generally works quite well for me and I've never had the need to recover something I've permanently deleted. Until today.&lt;/p&gt;  &lt;p&gt;Despite it's fancy new ribbon, Outlook 2010 still allows me to delete all email below the &lt;strong&gt;Today &lt;/strong&gt;group (and other groups)—a complete useability flaw, if you ask me but I'm not a Microsoft genius and I suppose the more barbaric users out there may actually use this &amp;quot;feature&amp;quot;. &lt;/p&gt;  &lt;p&gt;So I accidentally did just that today—my machine was bogged down running a SQL query: my fat fingers accidently moved the highlight to the Date: Today heading at about 2:30pm, I hit the shift-delete combo, said No I don't want to permanently delete when prompted (having realised what I'd done), and everything that I had yet to file from my Inbox and actually wanted to keep got deleted anyway. &lt;/p&gt;  &lt;p&gt;Sigh. The IT guys proposed some registry hacks that didn't seem to apply to 2010 until someone finally found the almighty &lt;strong&gt;Recover Deleted Items&lt;/strong&gt; button on the &lt;strong&gt;Folder&lt;/strong&gt; menu: &lt;/p&gt;  &lt;p&gt;&lt;a href="http://lh3.ggpht.com/_kuHIq0i1UO4/TDUn0O-1-_I/AAAAAAAADUM/SqxphujKd2A/s1600-h/Outlook-recover-deleted-items%5B3%5D.png"&gt;&lt;img style="border-right-width: 0px; display: block; float: none; border-top-width: 0px; border-bottom-width: 0px; margin-left: auto; border-left-width: 0px; margin-right: auto" title="Outlook-recover-deleted-items" border="0" alt="Outlook-recover-deleted-items" src="http://lh3.ggpht.com/_kuHIq0i1UO4/TDUn07o29HI/AAAAAAAADUQ/Ft5p7Y6Q7W4/Outlook-recover-deleted-items_thumb%5B1%5D.png?imgmax=800" width="244" height="104" /&gt;&lt;/a&gt;Clicking this button brings up a list of email messages it can recover from somewhere (Exchange? I don't know and don't care) with details about date, sender, subject, etc. You can recover all files or individual files.&amp;#160; &lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-2469243857760725669?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=FrbYqPWze_s:76-eOxhmn-A:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=FrbYqPWze_s:76-eOxhmn-A:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/FrbYqPWze_s" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/2469243857760725669/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/07/how-to-recover-permanently-deleted.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/2469243857760725669?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/2469243857760725669?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/FrbYqPWze_s/how-to-recover-permanently-deleted.html" title="How to recover permanently deleted files in Outlook" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/07/how-to-recover-permanently-deleted.html</feedburner:origLink></entry><entry gd:etag="W/&quot;CE8BQnk8cCp7ImA9WxFbEkQ.&quot;"><id>tag:blogger.com,1999:blog-158104178192097877.post-7435248901129036244</id><published>2010-07-05T09:20:00.001+08:00</published><updated>2010-07-05T09:20:53.778+08:00</updated><app:edited xmlns:app="http://www.w3.org/2007/app">2010-07-05T09:20:53.778+08:00</app:edited><category scheme="http://www.blogger.com/atom/ns#" term="AJAX" /><category scheme="http://www.blogger.com/atom/ns#" term="Web Development" /><category scheme="http://www.blogger.com/atom/ns#" term="Caching" /><category scheme="http://www.blogger.com/atom/ns#" term="jQuery" /><title>jquery.jsonp addresses issues with beforeSend and timeout</title><content type="html">&lt;p&gt;On the coat-tails of my previous post, I've come across the Google Code &lt;a href="http://code.google.com/p/jquery-jsonp/"&gt;jquery-jsonp&lt;/a&gt; library and it's a saviour if you're working JSONP requests. Remember a JSONP request dynamically inserts a script tag into the DOM and doesn't use the same XMLHttpRequest as your typical AJAX request.&lt;/p&gt;  &lt;p&gt;I ended up here because—much like beforeSend—the timeout parameter wasn't having any effect on my jsonp request: the request simply wouldn't time out despite the value supplied to this parameter. &lt;/p&gt;  &lt;p&gt;In addition to supporting both beforeSend and timeout properties, jquery-jsonp adds some really nice caching support—both typical HTTP (aka &amp;quot;browser&amp;quot;) caching and page-based caching that leverages the JavaScript VM's memory (apparently). Anyway it seems to work as advertised. Perhaps most importantly, the name of the callback can be changed.&lt;/p&gt;  &lt;p&gt;A minified version of the code is available from Google Code and the documentation is concise and well-written with examples.&amp;#160; &lt;/p&gt; &lt;center&gt;   &lt;table&gt;&lt;tbody&gt;       &lt;tr&gt;         &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=cde7edc2"&gt;&lt;/script&gt; &lt;/td&gt;          &lt;td&gt;&lt;script type="text/javascript" src="http://sharepointads.com/members/scripts/banner.php?a_aid=NA&amp;amp;a_bid=48840e1d"&gt;&lt;/script&gt; &lt;/td&gt;       &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt; &lt;/center&gt;  &lt;div class="blogger-post-footer"&gt;Dirty Words (Michael Hanes) - &lt;a href="http://blog.mediawhole.com"&gt;blog.mediawhole.com&lt;/a&gt;
&lt;a href="mailto:info@mediawole.com"&gt;mailto:info@mediawole.com&lt;/a&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/158104178192097877-7435248901129036244?l=blog.mediawhole.com' alt='' /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=siWun-hf7YU:QDwBwmf3low:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.mediawhole.com/~ff/DirtyWords?a=siWun-hf7YU:QDwBwmf3low:63t7Ie-LG7Y"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DirtyWords?d=63t7Ie-LG7Y" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DirtyWords/~4/siWun-hf7YU" height="1" width="1"/&gt;</content><link rel="replies" type="application/atom+xml" href="http://blog.mediawhole.com/feeds/7435248901129036244/comments/default" title="Post Comments" /><link rel="replies" type="text/html" href="http://blog.mediawhole.com/2010/07/jqueryjsonp-addresses-issues-with.html#comment-form" title="0 Comments" /><link rel="edit" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7435248901129036244?v=2" /><link rel="self" type="application/atom+xml" href="http://www.blogger.com/feeds/158104178192097877/posts/default/7435248901129036244?v=2" /><link rel="alternate" type="text/html" href="http://feeds.mediawhole.com/~r/DirtyWords/~3/siWun-hf7YU/jqueryjsonp-addresses-issues-with.html" title="jquery.jsonp addresses issues with beforeSend and timeout" /><author><name>michhes</name><uri>http://www.blogger.com/profile/01877569030107816208</uri><email>noreply@blogger.com</email><gd:extendedProperty name="OpenSocialUserId" value="16649840598410406290" /></author><thr:total>0</thr:total><feedburner:origLink>http://blog.mediawhole.com/2010/07/jqueryjsonp-addresses-issues-with.html</feedburner:origLink></entry></feed>
