<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Wizz's Coding Solutions &#187; Uncategorized</title>
	<atom:link href="http://rainstorms.me.uk/blog/category/uncategorized/feed/" rel="self" type="application/rss+xml" />
	<link>http://rainstorms.me.uk/blog</link>
	<description>Problems that I come across in day to day coding</description>
	<lastBuildDate>Tue, 07 Sep 2010 07:41:08 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>App_Offline.htm &#8211; ScottGu&#8217;s Blog</title>
		<link>http://rainstorms.me.uk/blog/2010/09/07/app_offline-htm-scottgus-blog/</link>
		<comments>http://rainstorms.me.uk/blog/2010/09/07/app_offline-htm-scottgus-blog/#comments</comments>
		<pubDate>Tue, 07 Sep 2010 07:41:08 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[app_offline.htm]]></category>
		<category><![CDATA[ASP.NET]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=344</guid>
		<description><![CDATA[I just had an interesting message when working on an ASP.NET 2.0 website &#8211; &#8220;This application is currently offline. To enable the application, remove the app_offline.htm file from the application root directory.&#8220; I&#8217;m not sure how this happened, but it looks like it may have something to do with this&#8230; App_Offline.htm &#8211; ScottGu&#8217;s Blog. Bookmark this [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I just had an interesting message when working on an ASP.NET 2.0 website &#8211; &#8220;<span style="font-family: 'Times New Roman'; line-height: normal; font-size: small;"><em>This application is currently offline. To enable the application, remove the app_offline.htm file from the application root directory.</em>&#8220;</span></p>
<p>I&#8217;m not sure how this happened, but it looks like it may have something to do with this&#8230; <a href="http://weblogs.asp.net/scottgu/archive/2005/10/06/426755.aspx">App_Offline.htm &#8211; ScottGu&#8217;s Blog</a>.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F&amp;title=App_Offline.htm+%26%238211%3B+ScottGu%26%238217%3Bs+Blog" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F&amp;title=App_Offline.htm+%26%238211%3B+ScottGu%26%238217%3Bs+Blog" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F&amp;title=App_Offline.htm+%26%238211%3B+ScottGu%26%238217%3Bs+Blog" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F&amp;t=App_Offline.htm+%26%238211%3B+ScottGu%26%238217%3Bs+Blog" rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F&amp;title=App_Offline.htm+%26%238211%3B+ScottGu%26%238217%3Bs+Blog" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F&amp;title=App_Offline.htm+%26%238211%3B+ScottGu%26%238217%3Bs+Blog" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F&amp;title=App_Offline.htm+%26%238211%3B+ScottGu%26%238217%3Bs+Blog" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F&amp;title=App_Offline.htm+%26%238211%3B+ScottGu%26%238217%3Bs+Blog" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F07%2Fapp_offline-htm-scottgus-blog%2F&amp;t=App_Offline.htm+%26%238211%3B+ScottGu%26%238217%3Bs+Blog" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/09/07/app_offline-htm-scottgus-blog/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to copy locked files in a Windows profile folder (ntuser.dat etc.)</title>
		<link>http://rainstorms.me.uk/blog/2010/09/06/how-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc/</link>
		<comments>http://rainstorms.me.uk/blog/2010/09/06/how-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc/#comments</comments>
		<pubDate>Mon, 06 Sep 2010 13:00:12 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[folder]]></category>
		<category><![CDATA[ntuser.dat]]></category>
		<category><![CDATA[profile]]></category>
		<category><![CDATA[registry]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=342</guid>
		<description><![CDATA[Not really a programming issue, but if you need to copy files from a Windows profile folder to another location (eg. you want to copy a profile to a different one, make it roaming/local etc) then you may find that Windows has locked the file and won&#8217;t let you do it.  If you want to [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Not really a programming issue, but if you need to copy files from a Windows profile folder to another location (eg. you want to copy a profile to a different one, make it roaming/local etc) then you may find that Windows has locked the file and won&#8217;t let you do it.  If you want to get around this, reboot the PC (logging off probably won&#8217;t work) and make sure that you log straight in as a different user who has sufficient rights to access the profile folders for both of the other 2 (eg. the local machine Administrator account).  Windows should let you do the copying then.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F&amp;title=How+to+copy+locked+files+in+a+Windows+profile+folder+%28ntuser.dat+etc.%29" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F&amp;title=How+to+copy+locked+files+in+a+Windows+profile+folder+%28ntuser.dat+etc.%29" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F&amp;title=How+to+copy+locked+files+in+a+Windows+profile+folder+%28ntuser.dat+etc.%29" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F&amp;t=How+to+copy+locked+files+in+a+Windows+profile+folder+%28ntuser.dat+etc.%29" rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F&amp;title=How+to+copy+locked+files+in+a+Windows+profile+folder+%28ntuser.dat+etc.%29" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F&amp;title=How+to+copy+locked+files+in+a+Windows+profile+folder+%28ntuser.dat+etc.%29" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F&amp;title=How+to+copy+locked+files+in+a+Windows+profile+folder+%28ntuser.dat+etc.%29" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F&amp;title=How+to+copy+locked+files+in+a+Windows+profile+folder+%28ntuser.dat+etc.%29" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F06%2Fhow-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc%2F&amp;t=How+to+copy+locked+files+in+a+Windows+profile+folder+%28ntuser.dat+etc.%29" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/09/06/how-to-copy-locked-files-in-a-windows-profile-folder-ntuser-dat-etc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting Public Key Token of Assembly Within Visual Studio &#8211; Kirk Evans Blog &#8211; Site Home &#8211; MSDN Blogs</title>
		<link>http://rainstorms.me.uk/blog/2010/09/03/getting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs/</link>
		<comments>http://rainstorms.me.uk/blog/2010/09/03/getting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 15:22:43 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Assembly]]></category>
		<category><![CDATA[public key]]></category>
		<category><![CDATA[Reference]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=340</guid>
		<description><![CDATA[Very useful tip &#8211; sometimes you need the public key for referencing the assembly in things like web.config &#8211; see Getting Public Key Token of Assembly Within Visual Studio &#8211; Kirk Evans Blog &#8211; Site Home &#8211; MSDN Blogs. Bookmark this post No related posts. Related posts brought to you by Yet Another Related Posts Plugin.


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Very useful tip &#8211; sometimes you need the public key for referencing the assembly in things like web.config &#8211; see <a href="http://blogs.msdn.com/b/kaevans/archive/2008/06/18/getting-public-key-token-of-assembly-within-visual-studio.aspx">Getting Public Key Token of Assembly Within Visual Studio &#8211; Kirk Evans Blog &#8211; Site Home &#8211; MSDN Blogs</a>.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F&amp;title=Getting+Public+Key+Token+of+Assembly+Within+Visual+Studio+%26%238211%3B+Kirk+Evans+Blog+%26%238211%3B+Site+Home+%26%238211%3B+MSDN+Blogs" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F&amp;title=Getting+Public+Key+Token+of+Assembly+Within+Visual+Studio+%26%238211%3B+Kirk+Evans+Blog+%26%238211%3B+Site+Home+%26%238211%3B+MSDN+Blogs" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F&amp;title=Getting+Public+Key+Token+of+Assembly+Within+Visual+Studio+%26%238211%3B+Kirk+Evans+Blog+%26%238211%3B+Site+Home+%26%238211%3B+MSDN+Blogs" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F&amp;t=Getting+Public+Key+Token+of+Assembly+Within+Visual+Studio+%26%238211%3B+Kirk+Evans+Blog+%26%238211%3B+Site+Home+%26%238211%3B+MSDN+Blogs" rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F&amp;title=Getting+Public+Key+Token+of+Assembly+Within+Visual+Studio+%26%238211%3B+Kirk+Evans+Blog+%26%238211%3B+Site+Home+%26%238211%3B+MSDN+Blogs" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F&amp;title=Getting+Public+Key+Token+of+Assembly+Within+Visual+Studio+%26%238211%3B+Kirk+Evans+Blog+%26%238211%3B+Site+Home+%26%238211%3B+MSDN+Blogs" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F&amp;title=Getting+Public+Key+Token+of+Assembly+Within+Visual+Studio+%26%238211%3B+Kirk+Evans+Blog+%26%238211%3B+Site+Home+%26%238211%3B+MSDN+Blogs" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F&amp;title=Getting+Public+Key+Token+of+Assembly+Within+Visual+Studio+%26%238211%3B+Kirk+Evans+Blog+%26%238211%3B+Site+Home+%26%238211%3B+MSDN+Blogs" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fgetting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs%2F&amp;t=Getting+Public+Key+Token+of+Assembly+Within+Visual+Studio+%26%238211%3B+Kirk+Evans+Blog+%26%238211%3B+Site+Home+%26%238211%3B+MSDN+Blogs" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/09/03/getting-public-key-token-of-assembly-within-visual-studio-kirk-evans-blog-site-home-msdn-blogs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows Forms Designer gives &#8220;Value does not fall within expected range&#8221; error</title>
		<link>http://rainstorms.me.uk/blog/2010/09/03/windows-forms-designer-gives-value-does-not-fall-within-expected-range-error/</link>
		<comments>http://rainstorms.me.uk/blog/2010/09/03/windows-forms-designer-gives-value-does-not-fall-within-expected-range-error/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 13:08:32 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[errors]]></category>
		<category><![CDATA[Value does not fall within expected range]]></category>
		<category><![CDATA[visual studio 2010]]></category>
		<category><![CDATA[windows forms designer]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=338</guid>
		<description><![CDATA[I was working on a project that I&#8217;ve been working on for a very long time in Visual Studio 2010.  I opened a designer and got the error &#8220;Value does not fall within expected range&#8221;, which was accompanied by a particularly useless stack trace and a dead link to a help article. Cleaning the solution, [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I was working on a project that I&#8217;ve been working on for a very long time in Visual Studio 2010.  I opened a designer and got the error &#8220;Value does not fall within expected range&#8221;, which was accompanied by a particularly useless stack trace and a dead link to a help article.</p>
<p>Cleaning the solution, closing Visual Studio and reopening it seemed to fix it for me.  Hope this helps!</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F&amp;title=Windows+Forms+Designer+gives+%26%238220%3BValue+does+not+fall+within+expected+range%26%238221%3B+error" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F&amp;title=Windows+Forms+Designer+gives+%26%238220%3BValue+does+not+fall+within+expected+range%26%238221%3B+error" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F&amp;title=Windows+Forms+Designer+gives+%26%238220%3BValue+does+not+fall+within+expected+range%26%238221%3B+error" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F&amp;t=Windows+Forms+Designer+gives+%26%238220%3BValue+does+not+fall+within+expected+range%26%238221%3B+error" rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F&amp;title=Windows+Forms+Designer+gives+%26%238220%3BValue+does+not+fall+within+expected+range%26%238221%3B+error" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F&amp;title=Windows+Forms+Designer+gives+%26%238220%3BValue+does+not+fall+within+expected+range%26%238221%3B+error" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F&amp;title=Windows+Forms+Designer+gives+%26%238220%3BValue+does+not+fall+within+expected+range%26%238221%3B+error" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F&amp;title=Windows+Forms+Designer+gives+%26%238220%3BValue+does+not+fall+within+expected+range%26%238221%3B+error" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F03%2Fwindows-forms-designer-gives-value-does-not-fall-within-expected-range-error%2F&amp;t=Windows+Forms+Designer+gives+%26%238220%3BValue+does+not+fall+within+expected+range%26%238221%3B+error" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/09/03/windows-forms-designer-gives-value-does-not-fall-within-expected-range-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Companies House Electronic Filing Problems Part 1 &#8211; Introduction</title>
		<link>http://rainstorms.me.uk/blog/2010/09/01/companies-house-electronic-filing-problems-part-1-introduction/</link>
		<comments>http://rainstorms.me.uk/blog/2010/09/01/companies-house-electronic-filing-problems-part-1-introduction/#comments</comments>
		<pubDate>Wed, 01 Sep 2010 20:44:02 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Companies House]]></category>
		<category><![CDATA[Company Formation]]></category>
		<category><![CDATA[Electronic Filing]]></category>
		<category><![CDATA[Schema]]></category>
		<category><![CDATA[tag by email]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=332</guid>
		<description><![CDATA[This entry is part of a series, Companies House Problems&#187; I&#8217;ve been doing a fair amount of work over the years for a limited company formation agent and unfortunately, this has meant dealing with Companies House.  I&#8217;ve not really had much other work where I&#8217;ve had to interact with government systems, but I think that, [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<div class="hackadelic-series-info on-frontpage"><small>This entry is part of a series,  <a href="javascript:;" class="hackadelic-sliderButton"onclick="toggleSlider('#hackadelic-sliderPanel-2')" title="click to expand/collapse slider Companies House Problems">Companies House Problems&raquo;</a> <span class="hackadelic-sliderPanel concealed" id="hackadelic-sliderPanel-2"></span></small></div><p>I&#8217;ve been doing a fair amount of work over the years for a <a href="http://www.formationsdirect.com">limited company formation agent</a> and unfortunately, this has meant dealing with Companies House.  I&#8217;ve not really had much other work where I&#8217;ve had to interact with government systems, but I think that, to put it politely, working with Companies House on a technical level has its own unique challenges.</p>
<p>Before I go into too much detail, why am I posting this?  I guess mostly it is because this is my blog and it seems like a good place to vent frustration, but there is also an element that I hope it may help some other people, whether working on similar systems that integrate with Companies House, other government agencies or just other systems that might have similar issues.</p>
<p>If you don&#8217;t feel that it is useful then by all means, please feel free to ignore this series of posts &#8211; no one is forcing you to read it!</p>
<p>As a bit of background, Companies House is the government agency responsible for forming and maintaining the records for companies, including (and mostly) limited companies in various different forms.  <a href="http://www.formationsdirect.com">My client is a company formation agent</a>, which means that they deal with <a href="http://www.formationsdirect.com/orderalimitedcompany.aspx">forming companies</a>, providing suitable documents for the constitution of the company called <a href="http://www.formationsdirect.com/modelarticles.aspx">memorandum and articles or M&amp;As for short (there are standard ones, but they have all sorts of legal problems</a>) and providing <a href="http://www.formationsdirect.com/questionaboutrunninglimitedcompanies.aspx">advice about forming companies</a>.  They also have a <a href="http://www.formationsdirect.com/offtheshelfcompanies.aspx">list of &#8220;off the shelf&#8221;/&#8221;pre-made&#8221; company names &#8211; companies that they have already set up and are ready for someone to buy and trade with immediately</a>.</p>
<p>As well as all this, they provide a number of other services, mostly targeted towards accountants.  I&#8217;m not really going to go into much detail about these, because they don&#8217;t involve working with Companies House and that is the topic of this series of posts.</p>
<p>From a technical point of view, it all started quite a number of years back (I forget when exactly), when Companies House started accepting incorporations electronically.  This was done via a rather bizarre system of us sending and receiving emails with numbered tags in to pass the data back and forwards.  This was subject to all sorts of problems and was not very human readable (when the problems happened to try to debug them), so Companies House eventually decided to replace their quirky tag-by-email system with a more modern system of POSTing XML data to a gateway using HTTPS.  They even elected to use the government standard GovTalk encapsulating envelope system to standardise the communications.</p>
<p>Anyway, that&#8217;s the brief background &#8211; I&#8217;ll post some more detail in future posts.</p>
<div id="hackadelic-sliderNote-2" class="concealed">Entries in this series:<ol><li>Companies House Electronic Filing Problems Part 1 - Introduction</li></ol><span style="display: block; margin-top: 3px; font-size: 7px"><a href="http://hackadelic.com/solutions/wordpress/sliding-notes" title="Powered by Hackadelic Sliding Notes 1.6.4">Powered by Hackadelic Sliding Notes 1.6.4</a></span></div><!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F&amp;title=Companies+House+Electronic+Filing+Problems+Part+1+%26%238211%3B+Introduction" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F&amp;title=Companies+House+Electronic+Filing+Problems+Part+1+%26%238211%3B+Introduction" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F&amp;title=Companies+House+Electronic+Filing+Problems+Part+1+%26%238211%3B+Introduction" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F&amp;t=Companies+House+Electronic+Filing+Problems+Part+1+%26%238211%3B+Introduction" rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F&amp;title=Companies+House+Electronic+Filing+Problems+Part+1+%26%238211%3B+Introduction" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F&amp;title=Companies+House+Electronic+Filing+Problems+Part+1+%26%238211%3B+Introduction" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F&amp;title=Companies+House+Electronic+Filing+Problems+Part+1+%26%238211%3B+Introduction" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F&amp;title=Companies+House+Electronic+Filing+Problems+Part+1+%26%238211%3B+Introduction" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F09%2F01%2Fcompanies-house-electronic-filing-problems-part-1-introduction%2F&amp;t=Companies+House+Electronic+Filing+Problems+Part+1+%26%238211%3B+Introduction" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/09/01/companies-house-electronic-filing-problems-part-1-introduction/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Office automation doesn&#8217;t work between different users &#8211; gives error Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005.</title>
		<link>http://rainstorms.me.uk/blog/2010/08/26/office-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error/</link>
		<comments>http://rainstorms.me.uk/blog/2010/08/26/office-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error/#comments</comments>
		<pubDate>Thu, 26 Aug 2010 09:10:04 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[COM]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[Exception]]></category>
		<category><![CDATA[interop]]></category>
		<category><![CDATA[office automation]]></category>
		<category><![CDATA[outlook]]></category>
		<category><![CDATA[permissions]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=329</guid>
		<description><![CDATA[Yesterday, I was using an existing program on a new Windows 7 computer and when it was trying to send an email through Outlook, I was receiving the following error Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005. I tried it on my development machine (also [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Yesterday, I was using an existing program on a new Windows 7 computer and when it was trying to send an email through Outlook, I was receiving the following error</p>
<p><em>Retrieving the COM class factory for component with CLSID {0006F03A-0000-0000-C000-000000000046} failed due to the following error: 80080005</em>.</p>
<p>I tried it on my development machine (also Windows 7), and found that it worked fine.  Then I noticed that if I didn&#8217;t have Outlook loaded before trying to send the email, it seemed to work.  I realised that I was running my program as Administrator to temporarily work around some permissions problems, and that when Outlook was loaded normally, it was running as the normal logged in user.  I tried loading Outlook as Administrator and it worked fine, so I sorted out the permissions problem and turned off &#8220;run as Administrator&#8221; in the compatibility section of the program&#8217;s shortcut properties.  It still worked fine.  It looks like COM can&#8217;t operate between different users, which I suppose makes sense.</p>
<p>There may be other problems that can cause this same exception though &#8211; a quick search gave me a few other possible problems and solutions.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F&amp;title=Office+automation+doesn%26%238217%3Bt+work+between+different+users+%26%238211%3B+gives+error+Retrieving+the+COM+class+factory+for+component+with+CLSID+%7B0006F03A-0000-0000-C000-000000000046%7D+failed+due+to+the+following+error%3A+80080005." rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F&amp;title=Office+automation+doesn%26%238217%3Bt+work+between+different+users+%26%238211%3B+gives+error+Retrieving+the+COM+class+factory+for+component+with+CLSID+%7B0006F03A-0000-0000-C000-000000000046%7D+failed+due+to+the+following+error%3A+80080005." rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F&amp;title=Office+automation+doesn%26%238217%3Bt+work+between+different+users+%26%238211%3B+gives+error+Retrieving+the+COM+class+factory+for+component+with+CLSID+%7B0006F03A-0000-0000-C000-000000000046%7D+failed+due+to+the+following+error%3A+80080005." rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F&amp;t=Office+automation+doesn%26%238217%3Bt+work+between+different+users+%26%238211%3B+gives+error+Retrieving+the+COM+class+factory+for+component+with+CLSID+%7B0006F03A-0000-0000-C000-000000000046%7D+failed+due+to+the+following+error%3A+80080005." rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F&amp;title=Office+automation+doesn%26%238217%3Bt+work+between+different+users+%26%238211%3B+gives+error+Retrieving+the+COM+class+factory+for+component+with+CLSID+%7B0006F03A-0000-0000-C000-000000000046%7D+failed+due+to+the+following+error%3A+80080005." rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F&amp;title=Office+automation+doesn%26%238217%3Bt+work+between+different+users+%26%238211%3B+gives+error+Retrieving+the+COM+class+factory+for+component+with+CLSID+%7B0006F03A-0000-0000-C000-000000000046%7D+failed+due+to+the+following+error%3A+80080005." rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F&amp;title=Office+automation+doesn%26%238217%3Bt+work+between+different+users+%26%238211%3B+gives+error+Retrieving+the+COM+class+factory+for+component+with+CLSID+%7B0006F03A-0000-0000-C000-000000000046%7D+failed+due+to+the+following+error%3A+80080005." rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F&amp;title=Office+automation+doesn%26%238217%3Bt+work+between+different+users+%26%238211%3B+gives+error+Retrieving+the+COM+class+factory+for+component+with+CLSID+%7B0006F03A-0000-0000-C000-000000000046%7D+failed+due+to+the+following+error%3A+80080005." rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F26%2Foffice-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error%2F&amp;t=Office+automation+doesn%26%238217%3Bt+work+between+different+users+%26%238211%3B+gives+error+Retrieving+the+COM+class+factory+for+component+with+CLSID+%7B0006F03A-0000-0000-C000-000000000046%7D+failed+due+to+the+following+error%3A+80080005." rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/08/26/office-automation-doesnt-work-between-different-users-gives-error-retrieving-the-com-class-factory-for-component-with-clsid-0006f03a-0000-0000-c000-000000000046-failed-due-to-the-following-error/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>sp_change_users_login and ALTER USER</title>
		<link>http://rainstorms.me.uk/blog/2010/08/23/sp_change_users_login-and-alter-user/</link>
		<comments>http://rainstorms.me.uk/blog/2010/08/23/sp_change_users_login-and-alter-user/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 10:25:35 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[ALTER USER]]></category>
		<category><![CDATA[auto_fix]]></category>
		<category><![CDATA[CREATE LOGIN]]></category>
		<category><![CDATA[Microsoft SQL Server]]></category>
		<category><![CDATA[report]]></category>
		<category><![CDATA[sp_change_users_login]]></category>
		<category><![CDATA[Transact SQl]]></category>
		<category><![CDATA[update_one]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=322</guid>
		<description><![CDATA[I previously posted about using sp_change_users_login to repair users that have become disconnected from their logins eg. after transferring a database from one server to another.  I&#8217;ve just noticed that Microsoft have said that they will be removing sp_change_users_login from future versions of SQL Server and to use ALTER USER instead, so I thought it [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I <a href="http://rainstorms.me.uk/blog/2010/02/21/using-sp_change_users_login-auto_fix-to-fix-userlogin/">previously posted</a> about using sp_change_users_login to repair users that have become disconnected from their logins eg. after transferring a database from one server to another.  I&#8217;ve just noticed that <a href="http://msdn.microsoft.com/en-us/library/ms174378.aspx">Microsoft have said that they will be removing sp_change_users_login from future versions of SQL Server and to use ALTER USER instead</a>, so I thought it would be interesting to look at the functionality of the 2, first of all to see how to use ALTER USER to achieve the same functionality as the &#8216;auto_fix&#8217; and also to see what other functionality is available in the 2 alternatives.</p>
<p>Just a bit of background first in case you aren&#8217;t clear on the SQL Server terminology.  A login consists of a username and some means of authenticating (usually a password or Windows authentication, but it could be a certificate or key).  It also has a default database and language.  It is stored at the <strong>server</strong> level and can have server wide roles.  This doesn&#8217;t affect the rights within a specific database though.</p>
<p>A user has a name and is connected to a login.  It is stored at the <strong>database</strong> level and it has particular roles for that specific database that affect the permissions for that user.  A login can have multiple users, but a user can only have one login.  When you log in as a specific login and try to access a database, SQL server looks to find a user in that database that maps to the login and applies permissions appropriately.</p>
<p>When you move databases from one server to another, reinstall SQL server as a new instance or similar situations, the user and the login become disconnected and you can&#8217;t login any more.  In principle, you could just delete the user and recreate it from the login, but that isn&#8217;t always practical, either because you have lots of them to do, or commonly because the user owns certain objects in the database and it isn&#8217;t in a state where it can be deleted.  In practice, therefore, it is necessary to have a way to reconnect a user and login.</p>
<p>My <a href="http://rainstorms.me.uk/blog/2010/02/21/using-sp_change_users_login-auto_fix-to-fix-userlogin/">previous post</a> was about how to reconnect these using sp_change_users_login with the &#8216;auto_fix&#8217; parameter, but as I have said, Microsoft are removing that and we are supposed to use ALTER USER instead.</p>
<p>So what else can sp_change_users_login do apart from reconnecting users and logins?  It has 4 parameters: -</p>
<ol>
<li>@Action</li>
<li>@UserNamePattern</li>
<li>@LoginName</li>
<li>@Password</li>
</ol>
<p>The @Action one is the one that we&#8217;ve been using as &#8216;Auto_Fix&#8217; (capitalisation isn&#8217;t important).  There are 2 other valid values for @Action, which are &#8216;Report&#8217; and &#8216;Update_One&#8217;.  I&#8217;ll come back to these in a minute, but first, let&#8217;s see what else we can do with &#8216;Auto_Fix&#8217;.</p>
<p>The &#8216;Auto_Fix&#8217; action has a second usage &#8211; if you specify a password in @Password then it will create the login if it doesn&#8217;t already exist.  If the login does already exist then @Password is ignored.  Either way, @LoginName must be left out or explicitly set to NULL.</p>
<p>The &#8216;Report&#8217; action reports on any users that aren&#8217;t linked to a login.  @UserNamePattern, @LoginName and @Password should all be set to NULL or left blank.  This is useful if you want to check to see if there are any unmapped users that can be deleted or if anything has gone wrong and users have been disconnected.  This also returns the security identifier (SID) with the username.  The SID is SQL Server&#8217;s ID field for keeping track of users.  This is stored as a GUID, which is a binary field.  I&#8217;m not going to post about GUIDs here, but I may post more about them in future.</p>
<p>The final type of action is &#8216;Update_One&#8217;.  This attaches a user to a specific login.  @UserNamePattern must be set to the correct user, @LoginName must be set to the correct login name.  @Password should be left out or NULL.  Presumably this will re-map a user that is currently connected to an existing login to a different one if you want, but I haven&#8217;t actually tested this.</p>
<p>That&#8217;s everything that sp_change_users_login does.  The question is, how to reproduce this functionality with ALTER USER and any methods that aren&#8217;t marked as obsolete.  I see there being 5 possible operations here: -</p>
<ol>
<li>reattach a user to a matching login name by just specifying the user (&#8216;auto_fix&#8217;)</li>
<li>create a login name for a user by specifying a password (&#8216;auto_fix&#8217;)</li>
<li>reattach a user if the login exists and if not then create it with the specified password (&#8216;auto_fix&#8217;)</li>
<li>find users that aren&#8217;t attached to a login (&#8216;report&#8217;)</li>
<li>connect a user to an existing login (&#8216;update_one&#8217;) (I don&#8217;t think it is relevant whether or not the user is currently connected &#8211; this is still one operation)</li>
</ol>
<p>I&#8217;ll go through these one at a time (please note that this bit isn&#8217;t tested, so it might need some correction, but it should work in principle)&#8230;</p>
<p>reattaching a user to a login: -</p>
<pre>ALTER USER <em>username</em> WITH LOGIN = <em>loginname</em></pre>
<p>where <em>username</em> and <em>loginname</em> are the same.</p>
<p>create a login name for a user by specifying a password: -</p>
<pre>CREATE LOGIN <em>loginname</em> WITH PASSWORD = <em>password</em>;</pre>
<pre>GO</pre>
<pre>
<pre>ALTER USER <em>username</em> WITH LOGIN = <em>loginname</em>;</pre>
</pre>
<p>Again, where <em>loginname</em> and <em>username</em> are the same and <em>password </em>is the password.</p>
<p>reattach a user if the login exists and if not then create it with the specified password: -</p>
<p>The simplest way of doing this is actually to just do the same as above -</p>
<pre>CREATE LOGIN loginname WITH PASSWORD = password;</pre>
<pre>GO</pre>
<pre>
<pre>ALTER USER username WITH LOGIN = loginname;</pre>
</pre>
<p>Again, where <em>loginname</em> and <em>username</em> are the same and <em>password </em>is the password.  If the login exists, the first statement will throw an error, but the second one will use the login anyway.  This is fine if you don&#8217;t care about errors.  If you want something a bit more robust then you&#8217;d have to do something like using IF EXISTS on a query to find the name in master.sys.server_principals, checking that you are looking at a type of principle that is a login type and not a role or anything else.  If it doesn&#8217;t exist then use the above top line to create it, then end the IF and then either way run the ALTER USER statement to attach the user to the login.</p>
<p>to find users that aren&#8217;t attached to a login: -</p>
<pre>select UserName = name, UserSID = sid from sysusers
where issqluser = 1
and   (sid is not null and sid &lt;&gt; 0x0)
and   (len(sid) &lt;= 16)
and   suser_sname(sid) is null
order by name</pre>
<div>I&#8217;ve actually taken this from the sp_change_users_login source code!</div>
<div></div>
<div></div>
<div>connect a user to an existing login: -</div>
<div>
<pre>ALTER USER <em>username</em> WITH LOGIN = <em>loginname</em>;</pre>
<p>This time,  <em>username</em> and <em>loginname</em> may actually be different.  This is exactly the same code as above though.</p>
<p>It does appear as though there are really only 2 SQL statements that you need to be able to reproduce the majority of the functionality of this stored procedure, so it shouldn&#8217;t be a major problem to replace your code.</p>
</div>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F&amp;title=sp_change_users_login+and+ALTER+USER" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F&amp;title=sp_change_users_login+and+ALTER+USER" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F&amp;title=sp_change_users_login+and+ALTER+USER" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F&amp;t=sp_change_users_login+and+ALTER+USER" rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F&amp;title=sp_change_users_login+and+ALTER+USER" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F&amp;title=sp_change_users_login+and+ALTER+USER" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F&amp;title=sp_change_users_login+and+ALTER+USER" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F&amp;title=sp_change_users_login+and+ALTER+USER" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F23%2Fsp_change_users_login-and-alter-user%2F&amp;t=sp_change_users_login+and+ALTER+USER" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/08/23/sp_change_users_login-and-alter-user/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SagePay VSP Access becomes Reporting and Admin API but the protocol documentation is wrong!</title>
		<link>http://rainstorms.me.uk/blog/2010/08/13/sagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong/</link>
		<comments>http://rainstorms.me.uk/blog/2010/08/13/sagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong/#comments</comments>
		<pubDate>Fri, 13 Aug 2010 15:37:43 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[access]]></category>
		<category><![CDATA[gateway url]]></category>
		<category><![CDATA[incorrect]]></category>
		<category><![CDATA[protocol]]></category>
		<category><![CDATA[protx]]></category>
		<category><![CDATA[reporting and admin]]></category>
		<category><![CDATA[sagepay]]></category>
		<category><![CDATA[vsp]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=319</guid>
		<description><![CDATA[I just received an email this morning from SagePay to warn of their latest payment system update. For those of you who don&#8217;t know &#8211; SagePay is the (relatively) new name for ProtX since Sage bought them. ProtX developed a system back in 2008 called VSP Access, which was designed to allow you to programmatically [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I just received an email this morning from SagePay to warn of their latest payment system update.  For those of you who don&#8217;t know &#8211; SagePay is the (relatively) new name for ProtX since Sage bought them.  ProtX developed a system back in 2008 called VSP Access, which was designed to allow you to programmatically access payment details for payments that have been put through using one of their payment systems (Form, Server or Direct (previously VSP Form, VSP Server and VSP Direct)).  For some reason, ProtX used to be downright secretive about this system and were difficult to get the information out of about it.  However, this is very useful for one of my clients as it allows us to confirm payments have actually gone through, keep track of refunds and spot any that somehow made it through without being logged by any of my systems (I don&#8217;t think that has ever actually happened, but it is a good double-check).  They use that report for entering payments into their accounts software.</p>
<p>Anyway, back to the email I got today&#8230; SagePay are warning that they are upgrading their systems between 27th and 29th August and first of all, if anyone has IP addresses of their payment gateways hard coded, they need to update them (sounds like a bad idea anyway), and secondly, to say that if anyone is using the Reporting and Admin API then please check the Reporting and Admin API Protocol document (linked to in the email) as the code may need updating.</p>
<p>First of all, a couple of minor observations: -</p>
<ul>
<li>They are allowing 14 days notice to make these changes.  That isn&#8217;t a great deal of time as many systems have a schedule of upgrades that are rolled out.  If anyone is in the middle of a big upgrade that could be a real pain in the neck.</li>
<li>The new name is rubbish &#8211; which marketing guy thought that &#8220;Reporting and Admin API&#8221; is easier to remember than &#8220;Access&#8221;?</li>
</ul>
<p>However, that&#8217;s not the real problem.  The real problem came when I looked at the document.</p>
<p>The document says</p>
<blockquote>
<div id="_mcePaste">All requests are sent to one gateway at address:</div>
<div id="_mcePaste"><a href="https://test.sagepay.com/access/access.htm">https://test.sagepay.com/Reporting and Admin API/Reporting and Admin API.htm</a> (Test)</div>
<div id="_mcePaste"><a href="https://live.sagepay.com/access/access.htm">https://live.sagepay.com/Reporting and Admin API/Reporting and Admin API.htm</a> (Live)</div>
</blockquote>
<div>This immediately looked a little odd to me as I thought it isn&#8217;t very sensible to include spaces in the URLs, but I thought that it shouldn&#8217;t actually be a major problem, so I tried it.  I got a 404 page not found.  I had another look at the document and if you have a look at the links above, you&#8217;ll see that they actually link to 2 different addresses: -</div>
<blockquote>
<div>https://test.sagepay.com/access/access.htm (Test)</div>
<div>https://live.sagepay.com/access/access.htm (Live)</div>
</blockquote>
<div>Now these were actually the old addresses, so I thought I&#8217;d try these, but they are still reporting protocol version 1.01, when the new protocol is apparently 1.02.  This might be updated at the same URL, but I don&#8217;t want to rely on it.</div>
<div>A closer look at the document gives some other interesting problems: -</div>
<blockquote>
<div>
<div>The XML field will contain the XML message, which always takes the following format:</div>
<div>&lt;vspReporting and Admin API&gt;</div>
<div>&lt;command&gt;whatever&lt;/command&gt;</div>
<div>&lt;vendor&gt;Vendor Name&lt;/vendor&gt;</div>
<div>&lt;user&gt;User name&lt;/user&gt;</div>
<div>&lt;other command specific parameters in here&#8230;./&gt;</div>
<div>&lt;signature&gt;MD5 Hash Signature&lt;/signature&gt;</div>
<div>&lt;/vspReporting and Admin API&gt;</div>
</div>
</blockquote>
<div>Now, I don&#8217;t claim to be an XML guru, but I&#8217;m pretty sure you aren&#8217;t allowed a tag name with spaces in, so that isn&#8217;t valid XML.  It actually looks to me like someone ran a search and replace, since the old tag was called vspaccess!  I think they might have been a bit too enthusiastic.  This would also make sense with the above URLs, but doesn&#8217;t really explain the protocol version problem that the old URLs return 1.01.</div>
<div>Since I ran out of other options and I didn&#8217;t want this to drag on, I decided to phone SagePay technical support.  A very nice lady there spent a few minutes trying to work out what I was talking about as she had obviously not heard of the Reporting and Admin API or VSP Access.  She managed to find the email that I had been sent and worked out where it had come from, so she forwarded my details on to the appropriate people.  I&#8217;ve just received an email back from them to confirm that the URLs are incorrect (big surprise!) and that they will send a new version of the document out with corrections.  They haven&#8217;t said when yet, but hopefully it will be in the next couple of weeks.</div>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F&amp;title=SagePay+VSP+Access+becomes+Reporting+and+Admin+API+but+the+protocol+documentation+is+wrong%21" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F&amp;title=SagePay+VSP+Access+becomes+Reporting+and+Admin+API+but+the+protocol+documentation+is+wrong%21" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F&amp;title=SagePay+VSP+Access+becomes+Reporting+and+Admin+API+but+the+protocol+documentation+is+wrong%21" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F&amp;t=SagePay+VSP+Access+becomes+Reporting+and+Admin+API+but+the+protocol+documentation+is+wrong%21" rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F&amp;title=SagePay+VSP+Access+becomes+Reporting+and+Admin+API+but+the+protocol+documentation+is+wrong%21" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F&amp;title=SagePay+VSP+Access+becomes+Reporting+and+Admin+API+but+the+protocol+documentation+is+wrong%21" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F&amp;title=SagePay+VSP+Access+becomes+Reporting+and+Admin+API+but+the+protocol+documentation+is+wrong%21" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F&amp;title=SagePay+VSP+Access+becomes+Reporting+and+Admin+API+but+the+protocol+documentation+is+wrong%21" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F13%2Fsagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong%2F&amp;t=SagePay+VSP+Access+becomes+Reporting+and+Admin+API+but+the+protocol+documentation+is+wrong%21" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/08/13/sagepay-vsp-access-becomes-reporting-and-admin-api-but-the-protocol-documentation-is-wrong/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My PS/2 Doorbell</title>
		<link>http://rainstorms.me.uk/blog/2010/08/12/my-ps2-doorbell/</link>
		<comments>http://rainstorms.me.uk/blog/2010/08/12/my-ps2-doorbell/#comments</comments>
		<pubDate>Thu, 12 Aug 2010 19:26:01 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[custom button]]></category>
		<category><![CDATA[door bell]]></category>
		<category><![CDATA[global events]]></category>
		<category><![CDATA[hot key]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[mciSendString]]></category>
		<category><![CDATA[My.Computer.Audio.Play]]></category>
		<category><![CDATA[PS/2]]></category>
		<category><![CDATA[USB]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=312</guid>
		<description><![CDATA[Over the last few years, we&#8217;ve been using a small battery powered doorbell made by a company called Friedland, but recently it has started playing up. I decided that since I have our file server next to our front door, it would be a fun project to connect a doorbell button up to the server, [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>Over the last few years, we&#8217;ve been using a small battery powered doorbell made by a company called Friedland, but recently it has started playing up.  I decided that since I have our file server next to our front door, it would be a fun project to connect a doorbell button up to the server, and set up the server to play a sound of a doorbell when it is pressed.</p>
<p>Since I didn&#8217;t want to waste any money on buying custom hardware to connect up a push button to the PC, and I couldn&#8217;t be bothered with too much complicated circuit design, I decided to cheat and disassemble an old (cheap) keyboard that I had lying around.  It happened to be a PS/2 one, which is fine, since I&#8217;m using an A-Tech space saving keyboard on my server anyway which is USB, so the PS/2 port is free.  The same principle would work just as well with a USB keyboard and of course that way you could probably have multiple ones plugged in, but then you might as well just assign different hot keys on the same controller if you want multiple buttons.</p>
<p>I elected to use the F11 key, since I don&#8217;t use it very much, especially on the server (which I rarely use directly anyway &#8211; it is mostly a file server, energy data upload for our Current Cost Envi 128 and it displays our CCTV cameras on a monitor by the front door).  In hind sight, it is probably better to choose a different key, as F11 is usually used for making things like browsers full screen, but it isn&#8217;t such an issue for me anyway.</p>
<p>I discovered that the keyboard controller has 2 sets of contacts, numbered (I think) R1-R6 and D1-D12.  When you press a key, it connects an R contact to a D contact, numbered depending on which key you pressed.  I couldn&#8217;t really be bothered trying to trace the circuitry, so I downloaded a piece of software from <a href="http://www.passmark.com/products/keytest.htm">http://www.passmark.com/products/keytest.htm</a> and tried connecting different combinations of Rs to Ds until I found the right combination to give me F11.  That only took a few minutes.</p>
<p>Once that was done, I screwed on a doorbell button that I bought for £3 on eBay next to my front door and ran the cable through the door frame.  I wired up the 2 wires to the selected contacts and tested it.  It appeared to be functioning as an F11 key correctly!</p>
<p>The next stage was dealing with the software.  I realised that I was going to need a method of listening for global key presses in Windows, so I could use it as a hot key.  Fortunately, I already had a project that I had downloaded from <a href="http://www.codeproject.com/KB/cs/globalhook.aspx?msg=3110732">http://www.codeproject.com/KB/cs/globalhook.aspx?msg=3110732</a> &#8211; this allowed me to catch the F11 key being pressed.</p>
<p>I set it up to play a sound file when it receives the key down event.  However, I didn&#8217;t want someone pressing the doorbell 20 times a minute, so I added a variable to keep track of when the doorbell was last pressed and not trigger anything unless it has been at least 10 seconds.</p>
<p>The next problem was playing the sound.  I had selected an mp3 file, which I was rather disappointed to find that My.Computer.Audio.Play does not support (it only handles wave files apparently).  I dug out the code for the old MCI command mciSendString and used that instead, which works very nicely.</p>
<p>That was basically it.  I set it up to auto-load on Windows starting, although you&#8217;d be better off running it as a Windows service really, but I couldn&#8217;t be bothered setting that up and my server is always logged in for the CCTV and the CurrentCost software anyway.</p>
<p>Other improvements I&#8217;ve thought of: -</p>
<ul>
<li>I&#8217;m currently using a &#8220;ding dong&#8221; sound for it.  From a usability point of view, this may confuse people slightly, as they are used to a normal doorbell going &#8220;ding&#8221; when they press, and &#8220;dong&#8221; when they release, whereas my doorbell goes &#8220;ding dong&#8221; when you press.  I could split the mp3 file into &#8220;ding.mp3&#8243; and &#8220;dong.mp3&#8243; and catch the keyup event to handle dong in it, and put ding in keydown where the full sound is at the moment.</li>
<li>Windows service I already mentioned</li>
<li>Network messaging &#8211; when the doorbell is pressed, it sends a network message and PCs can display a message/play a sound in case eg. I&#8217;m listening to music at the other end of the house and I don&#8217;t hear it.  Equally, you could rig it up to send an email, SMS, <del datetime="2010-08-12T18:56:17+00:00">twit</del>tweet or whatever you like, but I&#8217;m not sure why you&#8217;d want to.</li>
</ul>
<p><strong>Code: -</strong></p>
<pre name="code" class="vb.net">Public Class Form1
    Declare Function mciSendString Lib "winmm.dll" Alias "mciSendStringA" (ByVal lpstrCommand As String, ByVal lpstrReturnString As String, ByVal uReturnLength As Integer, ByVal hwndCallback As Integer) As Integer

Private LastPlay As Date?

    Private Sub Form1_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        AddHandler Gma.UserActivityMonitor.HookManager.KeyDown, AddressOf _GlobalEvents_KeyDown
    End Sub

    Private Sub _GlobalEvents_KeyDown(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyEventArgs)
        If e.KeyCode = Keys.F11 Then
            If LastPlay.HasValue AndAlso Now.Subtract(LastPlay.Value).TotalMilliseconds &lt; 10000 Then
                Exit Sub
            End If
            mciSendString("play """ &amp; IO.Path.Combine(Application.StartupPath, "doorbell.mp3") &amp; """", "", 0, Me.Handle)
            LastPlay = Now
        End If
    End Sub</pre>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F&amp;title=My+PS%2F2+Doorbell" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F&amp;title=My+PS%2F2+Doorbell" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F&amp;title=My+PS%2F2+Doorbell" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F&amp;t=My+PS%2F2+Doorbell" rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F&amp;title=My+PS%2F2+Doorbell" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F&amp;title=My+PS%2F2+Doorbell" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F&amp;title=My+PS%2F2+Doorbell" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F&amp;title=My+PS%2F2+Doorbell" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F12%2Fmy-ps2-doorbell%2F&amp;t=My+PS%2F2+Doorbell" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/08/12/my-ps2-doorbell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extension Methods stop working!?</title>
		<link>http://rainstorms.me.uk/blog/2010/08/11/extension-methods-stop-working/</link>
		<comments>http://rainstorms.me.uk/blog/2010/08/11/extension-methods-stop-working/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 10:41:36 +0000</pubDate>
		<dc:creator>wizzard</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[broken]]></category>
		<category><![CDATA[Bug]]></category>
		<category><![CDATA[Compilation]]></category>
		<category><![CDATA[compiler]]></category>
		<category><![CDATA[Extension Methods]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[visual studio 2010]]></category>

		<guid isPermaLink="false">http://rainstorms.me.uk/blog/?p=309</guid>
		<description><![CDATA[I&#8217;m working on a solution where I have several different projects. Some of these projects are class libraries (DLLs) and some projects reference others. In some of them I have a number of extension methods. I&#8217;ve noticed something strange happening occasionally. The extension methods in one of the class libraries stop functioning as extension methods [...]


No related posts.

Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m working on a solution where I have several different projects.  Some of these projects are class libraries (DLLs) and some projects reference others.  In some of them I have a number of extension methods.  </p>
<p>I&#8217;ve noticed something strange happening occasionally.  The extension methods in one of the class libraries stop functioning as extension methods for no apparent reason.  This is even if they are called from within the same class library.  It is usually after I have changed something, but not anything significant, and the namespace references all appear to be correct when I check.  This isn&#8217;t just intellisense either &#8211; the build fails compilation.</p>
<p>The simple solution to this problem that I have found (which may solve other weird compilation bugs as well) is simply to clean the solution, close Visual Studio, reopen it and build again.  This has worked every time that I&#8217;ve tried it so far.  </p>
<p>This applies to Visual Studio 2010 Professional, and possibly 2008 as well, but I can&#8217;t remember if I had that problem then.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a><strong><em>Bookmark this post</em></strong></a>
<br />
<div class="d">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F&amp;title=Extension+Methods+stop+working%21%3F" rel="nofollow" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F&amp;title=Extension+Methods+stop+working%21%3F" rel="nofollow" title="Add to&nbsp;digg"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dotnetkicks.com/kick/?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F&amp;title=Extension+Methods+stop+working%21%3F" rel="nofollow" title="Add to&nbsp;DotNetKicks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/dotnetkicks.png" title="Add to&nbsp;DotNetKicks" alt="Add to&nbsp;DotNetKicks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F" rel="nofollow" title="Add to&nbsp;Facebook"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://FriendSite.com/users/bookmarks/?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F&amp;t=Extension+Methods+stop+working%21%3F" rel="nofollow" title="Add to&nbsp;FriendSite"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/friendsite.png" title="Add to&nbsp;FriendSite" alt="Add to&nbsp;FriendSite" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F&amp;title=Extension+Methods+stop+working%21%3F" rel="nofollow" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F&amp;title=Extension+Methods+stop+working%21%3F" rel="nofollow" title="Add to&nbsp;reddit"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F&amp;title=Extension+Methods+stop+working%21%3F" rel="nofollow" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F&amp;title=Extension+Methods+stop+working%21%3F" rel="nofollow" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.shoutwire.com/?p=submit&amp;link=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F" rel="nofollow" title="Add to&nbsp;Shoutwire"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/shoutwire.png" title="Add to&nbsp;Shoutwire" alt="Add to&nbsp;Shoutwire" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F" rel="nofollow" title="Add to&nbsp;Technorati"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://myweb2.search.yahoo.com/myresults/bookmarklet?u=http%3A%2F%2Frainstorms.me.uk%2Fblog%2F2010%2F08%2F11%2Fextension-methods-stop-working%2F&amp;t=Extension+Methods+stop+working%21%3F" rel="nofollow" title="Add to&nbsp;Yahoo My Web"><img class="social_img" src="http://rainstorms.me.uk/blog/wp-content/plugins/social-bookmarks/images/yahoo.png" title="Add to&nbsp;Yahoo My Web" alt="Add to&nbsp;Yahoo My Web" /></a>
<br />
</div>
</div>
<!-- Social Bookmarks END -->


<p>No related posts.</p>
<p>Related posts brought to you by <a href='http://mitcho.com/code/yarpp/'>Yet Another Related Posts Plugin</a>.</p>]]></content:encoded>
			<wfw:commentRss>http://rainstorms.me.uk/blog/2010/08/11/extension-methods-stop-working/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
