<?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>The Agile Micro ISV Blog &#187; dotnet</title>
	<atom:link href="http://www.agilemicroisv.com/dotnet/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.agilemicroisv.com</link>
	<description>Small fish. Big pond.</description>
	<lastBuildDate>Thu, 22 Apr 2010 09:40:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>SSL and Code Signing for the Micro ISV</title>
		<link>http://www.agilemicroisv.com/2009/10/ssl-and-code-signing-for-the-micro-isv/</link>
		<comments>http://www.agilemicroisv.com/2009/10/ssl-and-code-signing-for-the-micro-isv/#comments</comments>
		<pubDate>Thu, 15 Oct 2009 08:28:58 +0000</pubDate>
		<dc:creator>Tim Haughton</dc:creator>
				<category><![CDATA[Micro ISV]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[websites]]></category>
		<category><![CDATA[Certificate authority]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Public key infrastructure]]></category>
		<category><![CDATA[StartCom Ltd]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://www.agilemicroisv.com/?p=349</guid>
		<description><![CDATA[



Image via Wikipedia



A year or two ago, trusted Micro ISV&#8216;er Andy Brice posted an article entitled The Great Digital Certificate Ripoff? It&#8217;s well worth a read as it underlines some of the apparent anticompetitive aspects of this particular market.
I&#8217;m very happy to say that the ground is shifting &#8211; something interesting is happening. Internet Explorer [...]]]></description>
			<content:encoded><![CDATA[<div class="zemanta-img" style="margin: 1em; display: block;">
<div>
<dl class="wp-caption alignright" style="width: 266px;">
<dt class="wp-caption-dt"><a href="http://en.wikipedia.org/wiki/Image:Internet_Explorer_7_Logo.png" rel="wp-prettyPhoto[g349]"><img title="Windows Internet Explorer" src="http://upload.wikimedia.org/wikipedia/en/1/10/Internet_Explorer_7_Logo.png" alt="Windows Internet Explorer" width="256" height="256" /></a></dt>
<dd class="wp-caption-dd zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://en.wikipedia.org/wiki/Image:Internet_Explorer_7_Logo.png" rel="wp-prettyPhoto[g349]">Wikipedia</a></dd>
</dl>
</div>
</div>
<p>A year or two ago, trusted <a class="zem_slink" title="Micro ISV" rel="wikipedia" href="http://en.wikipedia.org/wiki/Micro_ISV">Micro ISV</a>&#8216;er Andy Brice posted an article entitled <a href="http://successfulsoftware.net/2008/02/27/the-great-digital-certificate-ripoff/">The Great Digital Certificate Ripoff?</a> It&#8217;s well worth a read as it underlines some of the apparent anticompetitive aspects of this particular market.</p>
<p>I&#8217;m very happy to say that the ground is shifting &#8211; something interesting is happening. <a class="zem_slink" title="Internet Explorer" rel="wikipedia" href="http://en.wikipedia.org/wiki/Internet_Explorer">Internet Explorer</a> is pretty much universally despised by tech-savvy users, but its sheer market slice means that only a fool would ignore it. As of now, Internet Explorer (and by extension, <a class="zem_slink" title="Windows" rel="homepage" href="http://www.microsoft.com/WINDOWS">Windows</a>) will have a new root certificate installed. The root certificate will be that of StartCom Ltd. Why is this important?</p>
<blockquote><p><strong>StartCom is the only public <a class="zem_slink" title="Certificate authority" rel="wikipedia" href="http://en.wikipedia.org/wiki/Certificate_authority">certification authority</a> providing <a class="zem_slink" title="Public key certificate" rel="wikipedia" href="http://en.wikipedia.org/wiki/Public_key_certificate">digital certificates</a> for free!</strong></p></blockquote>
<p>The implications for security on Windows are profound. No longer will <a class="zem_slink" title="Transport Layer Security" rel="wikipedia" href="http://en.wikipedia.org/wiki/Transport_Layer_Security">SSL</a> and <a class="zem_slink" title="Code signing" rel="wikipedia" href="http://en.wikipedia.org/wiki/Code_signing">code signing</a> certificates be expensive commodities for the little guy. Firefox and <a class="zem_slink" title="Apple" rel="homepage" href="http://www.apple.com">Apple</a> have supported StartCom for some time, but thankfully us Windows developers can now get in on it.</p>
<p>The SLL certificates are free and provide:</p>
<blockquote>
<ul>
<li>Web server certificates (SSL/TLS)</li>
<li>Client and mail certificates (S/MIME)</li>
<li>128/256-bit encryption</li>
<li>US $ 10,000  insurance guaranteed</li>
<li>Valid 365 days (1 year)</li>
</ul>
</blockquote>
<p>The code signing certificates require a verified account, but still cost a measley $39, and boast:</p>
<ul>
<blockquote>
<li>Web server certificates (SSL/TLS)</li>
<li>Wild cards (*.domain.com)</li>
<li>Multiple domains (DNS Alt Names)</li>
<li>128/256-bit encryption</li>
<li>Object Code Signing (beta)</li>
<li>Client and mail certificates (S/MIME)</li>
<li>US $ 10,000 insurance guaranteed</li>
<li>2 Years validity (730 days)</li>
</blockquote>
</ul>
<p>Well done to StartCom, and well done to Microsoft. Check out the <a href="https://www.startssl.com/">certificates on offer here</a>.</p>
<h6 class="zemanta-related-title" style="font-size: 1em;">Related articles by Zemanta</h6>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.istartedsomething.com/20091010/microsoft-free-root-certificate-authority-windows/">Long Zheng: Microsoft adds free root certificate authority to Windows</a> (istartedsomething.com)</li>
<li class="zemanta-article-ul-li"><a href="http://r.zemanta.com/?u=http%3A//www.newswire.ca/en/releases/archive/July2009/15/c6289.html&amp;a=6207417&amp;rid=597f37bd-6584-4a19-bcda-4185ff52edfc&amp;e=af6187cf0d730371df92a2efce43f268">EV SSL Certificates &#8212; Not Just for Major Organizations</a> (newswire.ca)</li>
</ul>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><img class="zemanta-pixie-img" style="border: medium none; float: right;" src="http://img.zemanta.com/pixy.gif?x-id=597f37bd-6584-4a19-bcda-4185ff52edfc" alt="" /><span class="zem-script more-related pretty-attribution"><script src="http://static.zemanta.com/readside/loader.js" type="text/javascript"></script></span></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.agilemicroisv.com%2F2009%2F10%2Fssl-and-code-signing-for-the-micro-isv%2F&amp;linkname=SSL%20and%20Code%20Signing%20for%20the%20Micro%20ISV"><img src="http://www.agilemicroisv.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.agilemicroisv.com/2009/10/ssl-and-code-signing-for-the-micro-isv/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>I don&#8217;t like splashscreens, but&#8230;</title>
		<link>http://www.agilemicroisv.com/2009/03/i-dont-like-splashscreens-but/</link>
		<comments>http://www.agilemicroisv.com/2009/03/i-dont-like-splashscreens-but/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 16:33:17 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://www.agilemicroisv.com/2009/03/i-dont-like-splashscreens-but.html </guid>
		<description><![CDATA[Image by Getty Images via Daylife ...I've just added one to Home
Document Manager. .Net isn't renowned for it's cold startup times, and
WPF apps start like standard .Net app after a horse tranquilizer. Home
Document Manager has an ever...
]]></description>
			<content:encoded><![CDATA[<p class="zemanta-img" style="margin: 1em; float: right; display: block; width: 160px;"><a href="http://www.daylife.com/image/0fXk1ipeu0al0?utm_source=zemanta&amp;utm_medium=p&amp;utm_content=0fXk1ipeu0al0&amp;utm_campaign=z1"><img alt="SAN FRANCISCO - JANUARY 29: (FILES) Buttons wi..." src="archives_files/150x98.jpg" style="border: medium none ; display: block;" width="150" height="98"></a><span class="zemanta-img-attribution">Image by <a href="http://www.daylife.com/source/Getty_Images">Getty Images</a> via <a href="http://www.daylife.com/">Daylife</a></span></p>
<p>&#8230;I&#8217;ve just added one to Home Document Manager.</p>
<p>.Net isn&#8217;t renowned for it&#8217;s cold startup times, and <a class="zem_slink" href="http://en.wikipedia.org/wiki/Windows_Presentation_Foundation" rel="wikipedia" title="Windows Presentation Foundation">WPF</a><br />
apps start like standard .Net app after a horse tranquilizer. Home<br />
Document Manager has an ever increasing list of assemblies that it<br />
needs to import at startup and that takes time. This is on top of the<br />
whole WPF stack.</p>
<p>.Net 3.5 SP1 introduced a new SplashScreen<br />
class. You can set the SplashScreen by adding an image to your project<br />
and setting its build properties, or you can use the class directly. I<br />
find this new class a little flaky, as it can throw exceptions under<br />
certain circumstances if it loses focus.</p>
<p>It does raise the question of what to show on a splash screen. Just a fancy graphic/logo? Version info? Website info?</p>
<fieldset class="zemanta-related">
<legend class="zemanta-related-title">Related articles by Zemanta</legend>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://blogs.msdn.com/brada/archive/2009/03/19/what-is-net-ria-services.aspx">What is .NET RIA Services?</a> (blogs.msdn.com)</li>
<li class="zemanta-article-ul-li"><a href="http://www.devx.com/dotnet/Article/40536?trk=DXRSS_LATEST">WPF Wonders: Getting Started with WPF</a> (devx.com)</li>
</ul>
</fieldset>
<div class="zemanta-pixie"><img alt="" class="zemanta-pixie-img" src="archives_files/pixy_003.gif"><span class="zem-script more-related"><script class="zem-processed" defer="defer" src="archives_files/loader.js" type="text/javascript"></script></span></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.agilemicroisv.com%2F2009%2F03%2Fi-dont-like-splashscreens-but%2F&amp;linkname=I%20don%26%238217%3Bt%20like%20splashscreens%2C%20but%26%238230%3B"><img src="http://www.agilemicroisv.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.agilemicroisv.com/2009/03/i-dont-like-splashscreens-but/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>More Fun With ClickOnce</title>
		<link>http://www.agilemicroisv.com/2008/11/more-fun-with-clickonce/</link>
		<comments>http://www.agilemicroisv.com/2008/11/more-fun-with-clickonce/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 16:12:42 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://www.agilemicroisv.com/2008/11/more-fun-with-clickonce.html </guid>
		<description><![CDATA[Image via WikipediaThe fun continues. My previous problems with the
"Incorrect Function" error message when running the bootstrapper turned
out to be a corrupt VM. My current issues revolve aroung trying to get
one of Home Document Manager's components to...
]]></description>
			<content:encoded><![CDATA[<p><span class="zemanta-img" style="margin: 1em; float: right; display: block;"><a href="http://en.wikipedia.org/wiki/Image:KeepItSimple.VM.jpg" rel="wp-prettyPhoto[g14]"><img alt="Keep It Simple album cover" src="archives_files/202px-KeepItSimple.jpg" style="border: medium none ; display: block;" title="Keep It Simple album cover" width="202" height="202"></a><span class="zemanta-img-attribution" style="font-size: 0.8em;">Image via <a href="http://en.wikipedia.org/wiki/Image:KeepItSimple.VM.jpg" rel="wp-prettyPhoto[g14]">Wikipedia</a></span></span>The fun continues.</p>
<p>My<br />
previous problems with the &#8220;Incorrect Function&#8221; error message when<br />
running the bootstrapper turned out to be a corrupt VM. My current<br />
issues revolve aroung trying to get one of Home Document Manager&#8217;s<br />
components to find its resources when deployed.</p>
<p>In <a class="zem_slink" href="http://en.wikipedia.org/wiki/ClickOnce" rel="wikipedia" title="ClickOnce">ClickOnce</a>, each <a class="zem_slink" href="http://en.wikipedia.org/wiki/.NET_assembly" rel="wikipedia" title=".NET assembly">assembly</a><br />
is deployed to its own folder, and you have no control over that<br />
folder&#8217;s name. Since I have to manually load the resources, this<br />
presented issues. Tonight I&#8217;m going to try adding the resources as<br />
&#8216;Data&#8217; and having them copied to the ClickOnce app&#8217;s data directory.<br />
This folder I can locate on disk so hopefully, security issues aside, I<br />
should be able to load in the assemblies.</p>
<fieldset class="zemanta-related">
<legend class="zemanta-related-title">Related articles by Zemanta</legend>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://www.agilemicroisv.com/2008/11/vista-uac-and-the-clickonce-bootstrapper.html">Vista, UAC and the ClickOnce Bootstrapper</a></li>
</ul>
</fieldset>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/5a77bafc-cb0e-49ed-9e2b-f2ac6aa644ce/" title="Zemified by Zemanta"><img alt="Reblog this post [with Zemanta]" class="zemanta-pixie-img" src="archives_files/reblog_e_002.png" style="border: medium none ; float: right;"></a></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.agilemicroisv.com%2F2008%2F11%2Fmore-fun-with-clickonce%2F&amp;linkname=More%20Fun%20With%20ClickOnce"><img src="http://www.agilemicroisv.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.agilemicroisv.com/2008/11/more-fun-with-clickonce/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Vista, UAC and the ClickOnce Bootstrapper</title>
		<link>http://www.agilemicroisv.com/2008/11/vista-uac-and-the-clickonce-bootstrapper/</link>
		<comments>http://www.agilemicroisv.com/2008/11/vista-uac-and-the-clickonce-bootstrapper/#comments</comments>
		<pubDate>Sat, 01 Nov 2008 14:26:55 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://www.agilemicroisv.com/2008/11/vista-uac-and-the-clickonce-bootstrapper.html </guid>
		<description><![CDATA[Image by cocoate.com via FlickrWe all enjoy being bitten in the ass by
that 1 scenario that we never remembered to test, especially when
you're about to release. My particular ass biting comes in the form of
the ClickOnce bootstrapper....
]]></description>
			<content:encoded><![CDATA[<p><span class="zemanta-img" style="margin: 1em; float: right; display: block;"><a href="http://www.flickr.com/photos/17963290@N00/575956879"><img alt="Installing Microsoft Windows Vista" src="archives_files/575956879_b95cf012b5_m.jpg" style="border: medium none ; display: block;" title="Installing Microsoft Windows Vista" width="240" height="148"></a><span class="zemanta-img-attribution" style="font-size: 0.8em;">Image by <a href="http://www.flickr.com/photos/17963290@N00/575956879">cocoate.com</a> via Flickr</span></span>We<br />
all enjoy being bitten in the ass by that 1 scenario that we never<br />
remembered to test, especially when you&#8217;re about to release. My<br />
particular ass biting comes in the form of the <a class="zem_slink" href="http://en.wikipedia.org/wiki/ClickOnce" rel="wikipedia" title="ClickOnce">ClickOnce</a><br />
bootstrapper. For those of you who don&#8217;t know ClickOnce, the<br />
bootstrapper is the setup.exe that users run in order to install all<br />
your prerequisites and then your application.</p>
<p>It had been working fine, until I remembered to try it on a <a class="zem_slink" href="http://www.microsoft.com/vista" rel="homepage" title="Windows Vista">Vista</a> install with <a class="zem_slink" href="http://en.wikipedia.org/wiki/User_Account_Control" rel="wikipedia" title="User Account Control">UAC</a><br />
enabled, which is the default setting. Now, everyone I&#8217;ve ever met<br />
disables UAC as soon as Vista is installed, but your average home user<br />
will probably not know it can be turned off and just accept the<br />
insanely irritating thing.</p>
<p>With UAC enabled, the bootstrapper<br />
doesn&#8217;t give you a message on launch saying &#8220;Hello, we don&#8217;t have the<br />
right permissions), no. It gets half way through the <a class="zem_slink" href="http://en.wikipedia.org/wiki/Installation_%28computer_programs%29" rel="wikipedia" title="Installation (computer programs)">installation</a>,<br />
then throws an &#8220;Incorrect Function&#8221; error, leaving developers pouring<br />
through install logs to try and guess the problem. Needless to say, end<br />
users <strong>must not </strong>be exposed to this utter lameness.</p>
<p>I&#8217;m currently <a href="http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=4047201&amp;SiteID=1">conversing with various MSFT boffins</a><br />
to see if a resolution can be found, although I&#8217;m not hopeful. There&#8217;s<br />
a fair bit of ducking and diving going on, which usually indicates<br />
you&#8217;ve hit on a shortcoming</p>
<p>If no resolution can be found, the stark truth is that if you need to use the bootstrapper, <strong>ClickOnce is entirely incompatible with an out-of-the-box Vista setup.</strong></p>
<p><strong>Edit: </strong>I&#8217;m wrong. So very wrong. The problem was caused by a corrupt VM. Not ClickOnce.</p>
<fieldset class="zemanta-related">
<legend class="zemanta-related-title">Related articles by Zemanta</legend>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://technologizer.com/2008/10/08/an-unblinking-look-at-user-access-control/">An Unblinking Look at User Access Control</a></li>
<li class="zemanta-article-ul-li"><a href="http://lifehacker.com/5062612/norton-user-account-control-makes-uac-less-annoying">Norton User Account Control Makes UAC Less Annoying [Featured Windows Download]</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.downloadsquad.com/2008/10/09/user-account-control-to-be-less-annoying-in-windows-7/">User Account Control to be less annoying in Windows 7</a></li>
</ul>
</fieldset>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a class="zemanta-pixie-a" href="http://reblog.zemanta.com/zemified/c34078fc-f5c6-4a5b-82be-2f72080fe914/" title="Zemified by Zemanta"><img alt="Reblog this post [with Zemanta]" class="zemanta-pixie-img" src="archives_files/reblog_e_014.png" style="border: medium none ; float: right;"></a></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.agilemicroisv.com%2F2008%2F11%2Fvista-uac-and-the-clickonce-bootstrapper%2F&amp;linkname=Vista%2C%20UAC%20and%20the%20ClickOnce%20Bootstrapper"><img src="http://www.agilemicroisv.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.agilemicroisv.com/2008/11/vista-uac-and-the-clickonce-bootstrapper/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Click Once and the Micro ISV</title>
		<link>http://www.agilemicroisv.com/2008/08/click-once-and/</link>
		<comments>http://www.agilemicroisv.com/2008/08/click-once-and/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 15:33:49 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://www.agilemicroisv.com/2008/08/click-once-and.html </guid>
		<description><![CDATA[Click Once is a simplified deployment technology for .Net desktop
applications from the good folks in Redmond. Although to date, I've
only seen it used on internal business applications, the more I play
with it, the more I suspect it...
]]></description>
			<content:encoded><![CDATA[<p>Click Once is a simplified deployment technology for <a class="zem_slink" rel="homepage" title=".NET Framework" href="http://www.microsoft.com/net/">.Net</a><br />
desktop applications from the good folks in Redmond. Although to date,<br />
I&#8217;ve only seen it used on internal business applications, the more I<br />
play with it, the more I suspect it could be of some interest to micro <a class="zem_slink" rel="wikipedia" title="Independent software vendor" href="http://en.wikipedia.org/wiki/Independent_software_vendor">ISVs</a>. Why?</p>
<p><span style="font-size: 1.2em;">Benefits for Vendor</span></p>
<ul>
<li>Alleviates the need for writing an installer.</li>
<li>Alleviates the need for writing auto update code.</li>
<li>Alleviates the need for notifying customers of minor updates.</li>
</ul>
<p><span style="font-size: 1.2em;">Benefits for Customer</span></p>
<ul>
<li>No need to keep abreast of updates.</li>
<li>Applications auto update, but with the option to roll back to previous versions.</li>
</ul>
<p>Click Once is not only easy for customers, it&#8217;s also very easy to deploy for developers too. In <a class="zem_slink" rel="homepage" title="Microsoft Visual Studio" href="http://msdn.microsoft.com/vstudio/">Visual Studio</a>, the Click Once publish dialog look like this:</p>
<p><a href="http://timhaughton.typepad.com/photos/uncategorized/2008/08/22/publish.png" rel="wp-prettyPhoto[g20]"><img class="image-full" alt="Publish" title="Publish" src="archives_files/publish.png" style="margin: 0px 0px 5px 5px; float: none;" border="0"></a><br />
<br />&nbsp; </p>
<p>Clicking &#8216;Publish Now&#8217; generates all the necessary files, and sends them to either local <a class="zem_slink" rel="homepage" title="Internet Information Services" href="http://www.microsoft.com/iis">IIS</a>, a remote IIS server, and <a class="zem_slink" rel="wikipedia" title="File Transfer Protocol" href="http://en.wikipedia.org/wiki/File_Transfer_Protocol">FTP site</a>, or a file location.</p>
<p>Click Once will handle installing the most common prerequisites for you, and will also let you define update behaviour.</p>
<p>One thing to note &#8211; there is a common misconception that Click Once<br />
can only be deployed from IIS hosted sites, requiring often quite<br />
costly hosting. <strong>This isn&#8217;t correct</strong>. After a bit of digging and tweaking, I found out that you can host Click Once apps quite happily on <a class="zem_slink" rel="homepage" title="Apache HTTP Server" href="http://httpd.apache.org/">Apache</a>. All that is required is to add the following to your <a class="zem_slink" rel="wikipedia" title=".htaccess" href="http://en.wikipedia.org/wiki/.htaccess">.htaccess</a> file:</p>
<p>AddType application/x-ms-application application<br />AddType application/x-ms-manifest manifest<br />AddType application/octet-stream deploy</p>
<p>Thanks to <a href="http://software.clempaul.me.uk/articles.php?article=1">Paul Clement</a> for that gem.</p>
<p>Having said all this, there are a few caveats. If you&#8217;re releasing<br />
.Net apps, chances are you&#8217;re going to be obfuscating them using<br />
something like <a href="http://www.eziriz.com/">.Net Reactor</a>.<br />
This, unfortunately, precludes you from using Visual Studio for<br />
deploying them. It just means that you&#8217;ve got to script is using the<br />
Mage tool. There&#8217;s a good <a href="http://msdn.microsoft.com/en-us/library/xc3tc5xx.aspx">walkthough here</a>.</p>
<p>It&#8217;s also not a substitute for InstallAware in all circumstances. If<br />
your installer needs to do much more than private deployment to a<br />
folder and an entry in the start menu, then you&#8217;re going to either<br />
implement more initialisation code in your app, or revert to a full<br />
blown installer. I think it&#8217;s fair to say the majority of .Net apps are<br />
privately deployed, and so could benefit from Click Once.</p>
<p>If you&#8217;re a <a class="zem_slink" rel="wikipedia" title="Micro ISV" href="http://en.wikipedia.org/wiki/Micro_ISV">micro ISV</a> writing .Net apps, have you used Click Once? What were your experiences?</p>
<fieldset class="zemanta-related">
<legend class="zemanta-related-title">Related articles by Zemanta</legend>
<ul class="zemanta-article-ul">
<li class="zemanta-article-ul-li"><a href="http://devlicio.us/blogs/sergio_pereira/archive/2008/07/31/software-i-can-t-work-without.aspx">Software I can&#8217;t work without</a></li>
<li class="zemanta-article-ul-li"><a href="http://blogs.msdn.com/brada/archive/2008/08/11/some-results-from-visual-studio-and-net-framework-developer-documentation-survey.aspx">Some Results from Visual Studio and .NET Framework Developer Documentation Survey</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.vnunet.com/vnunet/news/2223697/microsoft-updates-developer">Microsoft updates developer tools</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.computerworld.com/action/article.do?command=viewArticleBasic&amp;articleId=9112445&amp;source=rss_topic125">Microsoft service packs boost developers</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.techcrunchit.com/2008/08/20/spikesource-empowers-to-long-tail-isvs/">SpikeSource Empowers Long Tail ISV&#8217;s</a></li>
<li class="zemanta-article-ul-li"><a href="http://www.infoworld.com/article/08/08/21/How_to_turn_a_software_pirate_into_a_paying_customer_1.html?source=rss&amp;url=http://www.infoworld.com/article/08/08/21/How_to_turn_a_software_pirate_into_a_paying_customer_1.html">How to turn a software pirate into a paying customer</a></li>
<li class="zemanta-article-ul-li"><a href="http://blogs.msdn.com/stevecla01/archive/2008/07/22/software-plus-services-and-developers.aspx">Software Plus Services and Developers</a></li>
<li class="zemanta-article-ul-li"><a href="http://blogs.msdn.com/brada/archive/2008/08/13/net-framework-3-5-sp1-allows-managed-code-to-be-launched-from-a-network-share.aspx">.NET Framework 3.5 SP1 Allows managed code to be launched from a network share!</a></li>
<li class="zemanta-article-ul-li"><a href="http://blogs.msdn.com/brada/archive/2008/08/18/what-changed-in-net-framework-3-5-sp1.aspx">What Changed in .NET Framework 3.5 SP1?</a></li>
</ul>
</fieldset>
<div class="zemanta-pixie" style="margin-top: 10px; height: 15px;"><a title="Zemified by Zemanta" href="http://reblog.zemanta.com/zemified/28faf4f8-5d14-43ee-9f8a-3fb4f941ba91/" class="zemanta-pixie-a"><img alt="Reblog this post [with Zemanta]" src="archives_files/reblog_e_020.png" class="zemanta-pixie-img" style="border: medium none ; float: right;"></a></div>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.agilemicroisv.com%2F2008%2F08%2Fclick-once-and%2F&amp;linkname=Click%20Once%20and%20the%20Micro%20ISV"><img src="http://www.agilemicroisv.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.agilemicroisv.com/2008/08/click-once-and/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>.Net Reactor Support Forum</title>
		<link>http://www.agilemicroisv.com/2008/04/net-reactor-sup/</link>
		<comments>http://www.agilemicroisv.com/2008/04/net-reactor-sup/#comments</comments>
		<pubDate>Wed, 23 Apr 2008 14:08:01 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://www.agilemicroisv.com/2008/04/net-reactor-sup.html </guid>
		<description><![CDATA[By popular request, I've created a support forum for .Net Reactor.
Subscribe to .Net Reactor Support Email: Visit this group I heard from
the chap who develops Reactor a few months ago, and it seems he has
some health issues...
]]></description>
			<content:encoded><![CDATA[<p><img alt="Reactor" title="Reactor" src="archives_files/reactor.png" style="margin: 0px 5px 5px 0px; float: none;" border="0"></p>
<p>By popular request, I&#8217;ve created a support forum for <a href="http://eziriz.com/">.Net Reactor</a>.</p>
<p>&nbsp; &nbsp;&nbsp; &nbsp;&nbsp;<br />
<table style="padding: 5px; background-color: rgb(255, 255, 255);" border="0" cellspacing="0">
<tbody>
<tr>
<td>
&nbsp; <img src="archives_files/groups_bar.gif" alt="Google Groups" width="132" height="26"><br />
&nbsp; </td>
</tr>
<tr>
<td style="padding-left: 5px;">
&nbsp; <strong>Subscribe to .Net Reactor Support</strong><br />
&nbsp; </td>
</tr>
<form action="http://groups.google.com/group/net-reactor-support/boxsubscribe"></form>
<tr>
<td style="padding-left: 5px;">
&nbsp; Email:<br />
<input name="email" type="text">
&nbsp;<br />
<input name="sub" value="Subscribe" type="submit">
&nbsp; </td>
</tr>
<tr>
<td align="right">
&nbsp; <a href="http://groups.google.com/group/net-reactor-support">Visit this group</a>
</td>
</tr>
</tbody>
</table>
<p>I heard from the chap who develops Reactor a few months ago, and it<br />
seems he has some health issues that mean he has to spend some time in<br />
hospital. As such, I&#8217;m sure I speak for all Reactor users when I wish<br />
him a speedy recovery. Being a micro ISV is tough, especially when<br />
you&#8217;re ill. So hopefully this forum will alleviate some of the support<br />
burden.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.agilemicroisv.com%2F2008%2F04%2Fnet-reactor-sup%2F&amp;linkname=.Net%20Reactor%20Support%20Forum"><img src="http://www.agilemicroisv.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.agilemicroisv.com/2008/04/net-reactor-sup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Ergo</title>
		<link>http://www.agilemicroisv.com/2007/12/ergo/</link>
		<comments>http://www.agilemicroisv.com/2007/12/ergo/#comments</comments>
		<pubDate>Thu, 20 Dec 2007 20:36:56 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://www.agilemicroisv.com/2007/12/ergo.html </guid>
		<description><![CDATA[For the last 8 or 9 months or so, I've had the good fortune to be
developing a new product called Ergo with the folk at Invu. Ergo is a
search aggregation, visualisation and collaboration tool written for
.Net 3.0...
]]></description>
			<content:encoded><![CDATA[<p><img src="archives_files/headerlogo.jpg" title="Headerlogo" alt="Headerlogo" style="margin: 0px 5px 5px 0px; float: left;" border="0"><br />
For the last 8 or 9 months or so, I&#8217;ve had the good fortune to be developing a new product called <a href="http://www.yourergo.com/">Ergo</a> with the folk at <a href="http://www.invu.net/">Invu</a>.<br />
Ergo is a search aggregation, visualisation and collaboration tool<br />
written for .Net 3.0 and Windows Vista. We&#8217;re currently at Beta 2 and a<br />
free trial version is available <a href="http://www.yourergo.com/">here</a>. Feedback, as ever, is most welcome.</p>
<p><span style="font-size: 1.2em;"><br /></span></p>
<p><span style="font-size: 1.2em;">Search</span></p>
<p><img src="archives_files/searchsources.jpg" title="Searchsources" alt="Searchsources" style="margin: 0px 20px 5px 0px; float: left;" border="0"><br />
Ergo currently aggregates search from 8 sources;</p>
<ul>
<li><a href="http://www.microsoft.com/windows/products/winfamily/desktopsearch/default.mspx">Local Machine</a> </li>
<li><a href="http://www.live.com/">Live Search</a> </li>
<li><a href="http://search.yahoo.com/">Yahoo!</a> </li>
<li><a href="http://www.google.com/">Google</a> </li>
<li><a href="http://en.wikipedia.org/">Wikipedia</a> </li>
<li><a href="http://www.flickr.com/">Flickr</a> </li>
<li><a href="http://www.youtube.com/">You Tube</a> </li>
<li><a href="http://www.microsoft.com/windows/IE/ie7/tour/rss/">RSS Feeds</a></li>
</ul>
<p>The local machine search uses Microsoft&#8217;s Windows Desktop Search<br />
technology to perform really fast searches of your machine. It is the<br />
Desktop Search technology that is probably responsible for hard drive<br />
activity when you&#8217;re not doing anything. You can configure what parts<br />
of your system WDS indexes using a little known part of Windows, if you<br />
press the Windows button, type &#8220;Indexing Options&#8221; and run it, you can<br />
add whichever locations you would like to index.&nbsp; With the arrival<br />
of Vista SP1, Google will almost certainly write their own search<br />
protocol for Windows, so you <u>should</u> be able to use any Google offering in place of WDS.</p>
<p>The RSS feeds search uses the RSS feeds that you have subscribed to<br />
in Windows Explorer. I suspect this might be expanded to use other<br />
methods of RSS aggregation, Google Reader, for example.</p>
<p><span style="font-size: 1.2em;">Visualisation</span></p>
<p>Once the search is complete, we use a custom clustering engine to<br />
organise the results, and we offer numerous different ways to visualise<br />
the results. For example, here are some of the ways I can visualise the<br />
search results for the search term &#8220;Physics&#8221; on my local machine:</p>
<div style="float: none;">
<br />
<a href="http://timhaughton.typepad.com/.shared/image.html?/photos/uncategorized/2007/12/20/networkview.jpg" onclick="window.open(this.href, '_blank', 'width=800,height=640,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false"><img alt="Networkview" title="Networkview" src="archives_files/networkview.jpg" style="margin: 0px 5px 5px 0px;" border="0" width="200" height="160"></a><br />
The Network View.
</div>
<div style="float: left;">
<br />
<a onclick="window.open(this.href, '_blank', 'width=800,height=640,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false" href="http://timhaughton.typepad.com/.shared/image.html?/photos/uncategorized/2007/12/20/galaxyview.jpg"><br />
<img src="archives_files/galaxyview.jpg" title="Galaxyview" alt="Galaxyview" style="margin: 0px 5px 5px 0px;" border="0" width="200" height="160"></a>The Galaxy View</div>
<div style="float: left;">
<br />
<a onclick="window.open(this.href, '_blank', 'width=800,height=640,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false" href="http://timhaughton.typepad.com/.shared/image.html?/photos/uncategorized/2007/12/20/treemapview_2.jpg"><br />
<img alt="Treemapview_2" title="Treemapview_2" src="archives_files/treemapview_2.jpg" style="margin: 0px 5px 5px 0px;" border="0" width="200" height="160"></a>The Treemap View
</div>
<div style="float: none; vertical-align: top;">
<a onclick="window.open(this.href, '_blank', 'width=800,height=640,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false" href="http://timhaughton.typepad.com/.shared/image.html?/photos/uncategorized/2007/12/20/treemapview_2.jpg" width="800" style="float: none;"><br />
</a><a onclick="window.open(this.href, '_blank', 'width=800,height=640,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false" href="http://timhaughton.typepad.com/.shared/image.html?/photos/uncategorized/2007/12/20/clusterview.jpg"><img src="archives_files/clusterview.jpg" title="Clusterview" alt="Clusterview" style="margin: 0px 5px 5px 0px;" border="0" width="200" height="160"></a><br />
I can then view the documents/web pages in any given cluster, along<br />
with information about a particular document. I can then choose to<br />
preview a document in a lightweight viewer/reader, or open the document<br />
in the associated reader, Adobe Reader or Firefox for example.
</div>
<div style="float: none; vertical-align: top;">
<br />
<a onclick="window.open(this.href, '_blank', 'width=800,height=640,scrollbars=no,resizable=no,toolbar=no,directories=no,location=no,menubar=no,status=no,left=0,top=0'); return false" href="http://timhaughton.typepad.com/.shared/image.html?/photos/uncategorized/2007/12/20/annotation.jpg"><img src="archives_files/annotation.jpg" title="Annotation" alt="Annotation" style="margin: 0px 5px 5px 0px;" border="0" width="200" height="160"></a>There<br />
is also support for collaboration and annotation built in to Ergo. Some<br />
of the functionality, like the Ink support is targetted at the Tablet<br />
PC market, but for instance, if I want to annotate a particular web<br />
page, I can&nbsp; store these annotations and send them to colleagues<br />
using the XPS file format.
</div>
<p></p>
<p>There&#8217;s a lot more to the application of course, but that&#8217;s the top and bottom of it. Feedback welcome.</p>
<p>&#8212;&#8211;<br />
EXTENDED</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.agilemicroisv.com%2F2007%2F12%2Fergo%2F&amp;linkname=Ergo"><img src="http://www.agilemicroisv.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.agilemicroisv.com/2007/12/ergo/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>.Net Reactor &#8211; How to stop a good product from becoming great.</title>
		<link>http://www.agilemicroisv.com/2007/11/net-reactor-s/</link>
		<comments>http://www.agilemicroisv.com/2007/11/net-reactor-s/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 21:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Marketing]]></category>
		<category><![CDATA[Micro ISV]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://www.agilemicroisv.com/2007/11/net-reactor-s.html </guid>
		<description><![CDATA[.Net Reactor is a comprehensive protection tool for .Net assemblies,
it's web site is here. Its key features, include: - Intellectual
property protection through obfuscation, IL modification and
sophisticated native code wall techniques. - A powerful and
configurable licensing system,...
]]></description>
			<content:encoded><![CDATA[<p><img alt="Reactor" title="Reactor" src="archives_files/reactor.png" style="margin: 0px 5px 5px 0px; float: left;" border="0"><strong>.Net Reactor </strong>is a comprehensive protection tool for .Net assemblies, it&#8217;s web site is <a href="http://www.eziriz.com/index.htm">here</a>.</p>
<p>Its key features, include:</p>
<p>- <strong>Intellectual property protection </strong>through obfuscation, IL modification and sophisticated native code wall techniques.</p>
<p>- A powerful and configurable <strong>licensing system</strong>, including trial-ware settings, trial to full conversion, SaaS etc.</p>
<p>- An <strong>SDK</strong> to integrate and automate licensing activities with your system.</p>
<p>So, what do I think of it?</p>
<p>I&#8217;ve been using .Net Reactor over the last week or two to protect a sizable <a href="http://www.yourergo.com/">WPF application</a> that will be hitting public beta in the next couple of days. I&#8217;ve found a couple of wrinkles with Reactor;</p>
<p>1) It doesn&#8217;t play nicely with WPF applications. Obfuscation seems<br />
to break resource locating, so most of our assemblies have only minimal<br />
protection (decompilation protection). Merging the assemblies into one<br />
also seems to break resource location.</p>
<p>2) Speed is an issue. As soon as you enable an option that requires<br />
the binary (NAT) file to be generated, you&#8217;re hitting big startup<br />
delays. We initially found that if all assemblies in the application<br />
had binaries generated by Reactor, it would take around 20 seconds to<br />
start. To get around this, we enabled only minimal protection on all<br />
but the main exe. For the main exe, we enabled the trial lockout, thus<br />
requiring the binary files to be generated.</p>
<p>The application itself is pretty solid, but there are problems:</p>
<p>1) The help file is mediocre at best. Perhaps not a problem, since<br />
developers usually understand what it is happening,&nbsp; and I<br />
certainly managed to do pretty much everything I wanted to do without<br />
even opening the help file.</p>
<p>2) Technical support is, as far as I can tell, non-existent. Both<br />
myself and colleagues have emailed asking questions and reporting<br />
problems, all appear to have been ignored. Maybe he&#8217;s on holiday, maybe<br />
he&#8217;s dead, who knows. To compound the problem, there is no user forum. </p>
<p>So all in all, it is a pretty solid, regularly updated and completely unsupported product. <strong>Would I use it again?</strong> Yes.</p>
<p>The issues surrounding support I&#8217;m sure must be harming product<br />
sales. They seem to be missing part of the equation in the Micro ISV<br />
world:</p>
<p><strong>Is it enough that your application does what it says it<br />
does? No. Customers want to believe in you, in what you do. They want<br />
to love your process as well as your product.</strong></p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.agilemicroisv.com%2F2007%2F11%2Fnet-reactor-s%2F&amp;linkname=.Net%20Reactor%20%26%238211%3B%20How%20to%20stop%20a%20good%20product%20from%20becoming%20great."><img src="http://www.agilemicroisv.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.agilemicroisv.com/2007/11/net-reactor-s/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Good Behaviour</title>
		<link>http://www.agilemicroisv.com/2007/10/good-behaviour/</link>
		<comments>http://www.agilemicroisv.com/2007/10/good-behaviour/#comments</comments>
		<pubDate>Mon, 08 Oct 2007 21:00:00 +0000</pubDate>
		<dc:creator></dc:creator>
				<category><![CDATA[Agile]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[dotnet]]></category>

		<guid isPermaLink="false">http://www.agilemicroisv.com/2007/10/good-behaviour.html </guid>
		<description><![CDATA[It's been an interesting couple of weeks for the NSpec project. For
readers who don't know what it is, it's a behaviour specification
framework for .Net, specifically targeted at practitioners of Behaviour
Driven Development. A while ago, myself and some...
]]></description>
			<content:encoded><![CDATA[<p><img src="archives_files/behave5.jpg" title="Behave5" alt="Behave5" style="margin: 0px 5px 5px 0px; float: left; width: 172px; height: 228px;" border="0"><br />
It&#8217;s been an interesting couple of weeks for the <a href="http://nspec.tigris.org/">NSpec</a><br />
project. For readers who don&#8217;t know what it is, it&#8217;s a behaviour<br />
specification framework for .Net, specifically targeted at&nbsp;<br />
practitioners of <a href="http://behabiourdriven.org/">Behaviour Driven Development</a>. A while ago,&nbsp; myself and some other active members of the BDD .Net community agreed to merge <a href="http://nspec.tigris.org/">NSpec</a> with <a href="http://nbehave.org/">NBehave,</a> a cousin in the BDD .Net arena.</p>
<p><a href="http://blog.agilejoe.com/">Joe Ocampo</a> has spearheaded<br />
the integration, and I&#8217;m happy to confirm that the integration is<br />
complete, and NSpec itself will soon cease to be. Long live NBehave.</p>
<p>It&#8217;s new home is <a href="http://www.codeplex.com/NBehave/">here.</a></p>
<p>Microsoft have also offered to sponsor the project, which is mighty nice of them.</p>
<p><a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fwww.agilemicroisv.com%2F2007%2F10%2Fgood-behaviour%2F&amp;linkname=Good%20Behaviour"><img src="http://www.agilemicroisv.com/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.agilemicroisv.com/2007/10/good-behaviour/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
