<?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>Fooling Around &#187; extension</title>
	<atom:link href="http://alax.info/blog/tag/extension/feed" rel="self" type="application/rss+xml" />
	<link>http://alax.info/blog</link>
	<description>// Software Production Line</description>
	<lastBuildDate>Wed, 02 May 2012 15:42:49 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Windows Shell integration and Windows Live Messenger: things that should have never been done</title>
		<link>http://alax.info/blog/958</link>
		<comments>http://alax.info/blog/958#comments</comments>
		<pubDate>Wed, 24 Jun 2009 12:52:13 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[folder]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[messenger]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://alax.info/blog/?p=958</guid>
		<description><![CDATA[<a href="http://alax.info/blog/958" title="Windows Shell integration and Windows Live Messenger: things that should have never been done"></a>If you drag a file over Windows Live Messenger&#8216;s My Sharing Folders shell name space item, it would immediately interrupt dragging with an error message box, even if you never planned to drop onto this folder: This should definitely be &#8230;<p class="read-more"><a href="http://alax.info/blog/958">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://alax.info/blog/958" title="Windows Shell integration and Windows Live Messenger: things that should have never been done"></a><p>If you drag a file over <a href="http://download.live.com/messenger">Windows Live Messenger</a>&#8216;s <em>My Sharing Folders</em> shell name space item, it would immediately interrupt dragging with an error message box, even if you never planned to drop onto this folder:</p>
<p><img class="alignnone size-full wp-image-957" title="Windows Live Messenger" src="http://alax.info/blog/wp-content/uploads/2009/06/24-image001.png" alt="Windows Live Messenger" width="698" height="388" /></p>
<p>This should definitely be rather implemented a different way. If you ever tried to drag something using slow PC touchpad, you probably have an idea of how annoying such an interruption could be.</p>
<p>Windows Live Messenger was pre-installed. To disable shared folders feature, I wanted to find a proper setting in options, but it did not appear to be easy enough: Help button, Show the menu bar, Tools, Options, Sharing Folders on the left, oops! it was not helpful.</p>
<p>Going another way of finding DLL that hosts the shell extension revealed file named: <em>C:\Program Files\Windows Live\Messenger\fsshext.8.5.1302.1018.dll</em>. Once unregistered, the folder went away from the shell (process restart needed, typically logoff/logon):</p>
<pre>C:\&gt;regsvr32 /u "C:\Program Files\Windows Live\Messenger\fsshext.8.5.1302.1018.dll"</pre>
]]></content:encoded>
			<wfw:commentRss>http://alax.info/blog/958/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>NTFS Links: List junction points under certain directory</title>
		<link>http://alax.info/blog/833</link>
		<comments>http://alax.info/blog/833#comments</comments>
		<pubDate>Mon, 16 Feb 2009 20:18:45 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[NTFS Links]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[junction]]></category>
		<category><![CDATA[ntfs]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://alax.info/blog/?p=833</guid>
		<description><![CDATA[<a href="http://alax.info/blog/833" title="NTFS Links: List junction points under certain directory"></a>While NTFS junction points are powerful to relink files without duplicating data and/or moving between disks, they are treated as regular directories by most of software and it may unexpectedly result in conversion of a junction point into a regular &#8230;<p class="read-more"><a href="http://alax.info/blog/833">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://alax.info/blog/833" title="NTFS Links: List junction points under certain directory"></a><p>While NTFS junction points are powerful to relink files without duplicating data and/or moving between disks, they are treated as regular directories by most of software and it may unexpectedly result in conversion of a junction point into a regular directory with implied duplication of data and disk space waste.</p>
<p>This is a quick fix for the NTFS Links shell extension that allows to quickly list created junction points under certain directory, and delete if necessary. The update adds a property page Junction Points to NTFS non-UNC directory properties:</p>
<p><a href="http://alax.info/blog/wp-content/uploads/2009/02/16-image010.png"><img class="alignnone size-medium wp-image-834" title="Directory Junction Points Property Page" src="http://alax.info/blog/wp-content/uploads/2009/02/16-image010-252x300.png" alt="Directory Junction Points Property Page" width="252" height="300" /></a></p>
<p>This is a quick update, so be aware (also my TO DO list):</p>
<ul>
<li>no Russian localization, sorry</li>
<li>context menu should also be given another item Open Containing Directory</li>
<li>does not work for root directories</li>
<li>list items should be OLE draggable</li>
<li>there should be a junction point validation feature that checks availability of substitution path and indicates result by an icon</li>
<li>I should remove the mess between &#8220;soft link&#8221; and&#8221;junction point&#8221; in favor of the latter</li>
</ul>
<p>Release information:</p>
<ul>
<li>Updated Version: 1.1.3</li>
<li>Download Link: <a href="http://alax.info/blog-dist/AlaxInfoNtfsLinksSetup.msi">AlaxInfoNtfsLinksSetup.msi</a> (275K)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://alax.info/blog/833/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Two mouse clicks 7-Zip archives for a developer</title>
		<link>http://alax.info/blog/804</link>
		<comments>http://alax.info/blog/804#comments</comments>
		<pubDate>Tue, 10 Feb 2009 17:20:18 +0000</pubDate>
		<dc:creator>Roman</dc:creator>
				<category><![CDATA[ATL]]></category>
		<category><![CDATA[Seriously]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[Utilities]]></category>
		<category><![CDATA[7-zip]]></category>
		<category><![CDATA[7z]]></category>
		<category><![CDATA[archive]]></category>
		<category><![CDATA[compression]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[version]]></category>
		<category><![CDATA[zip]]></category>

		<guid isPermaLink="false">http://alax.info/blog/?p=804</guid>
		<description><![CDATA[<a href="http://alax.info/blog/804" title="Two mouse clicks 7-Zip archives for a developer"></a>I have been frequently troubleshooting remote systems and otherwise provide various temporary binary files to remote production sites with fixes or beta versions of new features etc. The software  is such that that customer sites have specific combination of hardware, &#8230;<p class="read-more"><a href="http://alax.info/blog/804">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<a href="http://alax.info/blog/804" title="Two mouse clicks 7-Zip archives for a developer"></a><p>I have been frequently troubleshooting remote systems and otherwise provide various temporary binary files to remote production sites with fixes or beta versions of new features etc. The software  is such that that customer sites have specific combination of hardware, configuration, hardware on LAN, software conflicts and there is a number of things that are very much easier troubleshooted directly on the production server, through remote connection. Typically I am using <a href="http://tightvnc.com">TightVNC</a> and <a href="http://www.microsoft.com/windowsXp/using/mobility/getstarted/Remoteintro.mspx">Windows Remote Desktop</a>, sometimes <a href="http://logmein.com/">LogMeIn</a>, <a href="http://radmin.com">RAdmin</a> and more rare alternatives (among such I would like to specially note <a href="http://teamviewer.com/">TeamViewer</a>).</p>
<p>Obviously except for released versions of binaries (which also exist in several versions from different configuration builds), there appear a number of intermediate files, DLLs and EXEs which are addressed to specific problems and fixes. The problem with multitude of different versions of the same DLL is widely known as <a href="http://en.wikipedia.org/wiki/DLL_hell">DLL hell</a>.</p>
<p>It is not actually a big hell since we are trying to follow simple rules:</p>
<ul>
<li>DLLs should be backward compatible, or if the compatibility is ever broken, DLL version mismatch scenario should be handled as gracefully as possible</li>
<li>DLLs and other binaries should have <a href="http://msdn.microsoft.com/en-us/library/aa381058.aspx">VERSIONINFO</a> resource</li>
<li>version information file version&#8217;s least significant number is incremented with each and every build; in particular this allows to keep privately program databases (PDB) and immediately find the corresponding database by file version</li>
<li>newer binaries should always have greated file version than older ones</li>
</ul>
<p>The problem however has been that the typical process of building a temporary build of a library and uploading it to remote location required too many clicks. Considering a number of times I have been through these operations, an automation and a productivity tool should have appeared long ago. Finally this is solved by a shell extension that compresses binaries into a transferrable archive in two clicks:</p>
<p><img class="alignnone size-full wp-image-805" title="Context Menu Shell Extension" src="http://alax.info/blog/wp-content/uploads/2009/02/10-image001.png" alt="Context Menu Shell Extension" width="575" height="506" /></p>
<p>Compression formats of 7-Zip (.7z), 7-ZIP SFX (.exe) and ZIP (.zip) are at user&#8217;s choice.</p>
<p><span id="more-804"></span></p>
<p>Because of great number of versions it is very useful to have file version as a part of file name (actual binary name won&#8217;t have the version because typically DLL name does not change through versions and creating copies such as for example using hard links is possible but not quite convenient) in order to be able to locate a file and/or version of interest using file search.</p>
<p>The shell extension locates an installed copy of <a href="http://7-zip.org/">7-Zip</a> and uses its command line interface to create archives.</p>
<p>If a binary with <a href="http://msdn.microsoft.com/en-us/library/aa381058.aspx">VERSIONINFO</a> resource is found among selected files (undefined behavior is multiple binaries selected), its name and version is used for archive name. If there is also a <a href="http://msdn.microsoft.com/en-us/library/yd4f8bd1.aspx">program database (.pdb)</a> file selected, archive name will receive and additional suffix &#8220;-pdb&#8221;.</p>
<p>A partial Visual C++ .NET 2008 source code is <a href="http://code.assembla.com/roatl-utilities/subversion/nodes/trunk/Extended7zShell">available from SVN</a>, release binary included [<a href="http://code.assembla.com/roatl-utilities/subversion/nodes/trunk/Extended7zShell/Release/Win32/Extended7zShell.dll?format=raw">Win32</a>, <a href="http://code.assembla.com/roatl-utilities/subversion/nodes/trunk/Extended7zShell/Release/x64/Extended7zShell.dll?format=raw">x64</a>].</p>
<p><a href="http://7-zip.org/"><img class="alignnone" title="7-Zip" src="http://7-zip.org/logos/7z_am.gif" alt="" width="88" height="31" /> </a></p>
]]></content:encoded>
			<wfw:commentRss>http://alax.info/blog/804/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

