<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: 8.3 backward compatibility, or, why *.dpr returns .dproj files</title>
	<atom:link href="http://blog.excastle.com/2007/10/01/83-backward-compatibility-or-why-dpr-returns-dproj-files/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.excastle.com/2007/10/01/83-backward-compatibility-or-why-dpr-returns-dproj-files/</link>
	<description>Life, .NET, and Cats</description>
	<pubDate>Sat, 11 Oct 2008 09:12:59 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
		<item>
		<title>By: Joe White</title>
		<link>http://blog.excastle.com/2007/10/01/83-backward-compatibility-or-why-dpr-returns-dproj-files/#comment-5731</link>
		<dc:creator>Joe White</dc:creator>
		<pubDate>Tue, 02 Oct 2007 14:00:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2007/10/01/83-backward-compatibility-or-why-dpr-returns-dproj-files/#comment-5731</guid>
		<description>Wow - that's cool. I didn't know about PathMatchSpec.&lt;br&gt;&lt;br&gt;Unfortunately, pinvoke.net doesn't show there being a managed API for it, and I'd rather not dip into P/Invoke because of the permission issues it raises (not runnable in partial trust, etc.)
</description>
		<content:encoded><![CDATA[<p>Wow - that&#8217;s cool. I didn&#8217;t know about PathMatchSpec.</p>
<p>Unfortunately, pinvoke.net doesn&#8217;t show there being a managed API for it, and I&#8217;d rather not dip into P/Invoke because of the permission issues it raises (not runnable in partial trust, etc.)</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Rob Kennedy</title>
		<link>http://blog.excastle.com/2007/10/01/83-backward-compatibility-or-why-dpr-returns-dproj-files/#comment-5730</link>
		<dc:creator>Rob Kennedy</dc:creator>
		<pubDate>Tue, 02 Oct 2007 12:56:00 +0000</pubDate>
		<guid isPermaLink="false">http://blog.excastle.com/2007/10/01/83-backward-compatibility-or-why-dpr-returns-dproj-files/#comment-5730</guid>
		<description>Another way is to re-check the long name of the file against the mask as FindNextFile returns them. PatchMatchSpec will do it.&lt;br&gt;&lt;br&gt;I turn off short file name generation. The only program I've seen tripped up by it was Acrobat Reader's installer (version 5 or 6). It was a 32-bit self-extractor that invoked a 16-bit installer to install the 32-bit program. When the extractor created files in my temp folder, it wound up in a folder with spaces in it, which was unfindable by the 16-bit installer.&lt;br&gt;&lt;br&gt;And that's how 32-bit programs end up not supporting long file names, too: Take a 16-bit program that &#34;knows&#34; a file name can never be more than 12 characters, and simply recompile it with a 32-bit compiler. It's now calling the 32-bit FindFirstFile natively, but it still thinks the file name will fit in its 13-character buffer.
</description>
		<content:encoded><![CDATA[<p>Another way is to re-check the long name of the file against the mask as FindNextFile returns them. PatchMatchSpec will do it.</p>
<p>I turn off short file name generation. The only program I&#8217;ve seen tripped up by it was Acrobat Reader&#8217;s installer (version 5 or 6). It was a 32-bit self-extractor that invoked a 16-bit installer to install the 32-bit program. When the extractor created files in my temp folder, it wound up in a folder with spaces in it, which was unfindable by the 16-bit installer.</p>
<p>And that&#8217;s how 32-bit programs end up not supporting long file names, too: Take a 16-bit program that &quot;knows&quot; a file name can never be more than 12 characters, and simply recompile it with a 32-bit compiler. It&#8217;s now calling the 32-bit FindFirstFile natively, but it still thinks the file name will fit in its 13-character buffer.</p>
]]></content:encoded>
	</item>
</channel>
</rss>
