<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>What the %$#&amp;amp;amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx</link><description>You know, South Park was just on, it was the one where they wind up taking a bus to China for the world dodgeball championship. I was trying to decide whether it was a good thing or not that I recognized 野種 on the banner in the back of the gym even though</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1488254</link><pubDate>Thu, 18 Jan 2007 13:11:05 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1488254</guid><dc:creator>Björn</dc:creator><description>&lt;p&gt;So, it might be due to the current state of caffeination of myself, but what is the solution for the mix path case? And is his non-localized element the user name in the path? And if, so, what is the solution to get &amp;quot;Bilder&amp;quot;? Will it be presented in an upcoming post? Will I continue to end sentence in this comment with U+003F a.k.a. QUESTION MARK? No, I guess I will not :)&lt;/p&gt;
&lt;p&gt;Sidenote: Wouldn't it be easier and more readable to use C++ (or C++/CLI) for such samples - the interop declarations add a lot of clutter; maybe syntax highlighting could mitigate it...&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1488625</link><pubDate>Thu, 18 Jan 2007 15:35:52 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1488625</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;p&gt;Actually Bj&amp;#246;rn, that is not at all known or obvious, at the moment. :-)&lt;/p&gt;
&lt;p&gt;I think it was mainly the fact that I was pretty tight for time that led to the language choice for the sample, &amp;nbsp;though for this case losing the pinvoke declarations actually would have (in my opinion) required me talking more about the functions I was calling that were unfamiliar and their params....&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1491201</link><pubDate>Fri, 19 Jan 2007 03:53:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1491201</guid><dc:creator>Dean Harding</dc:creator><description>&lt;p&gt;Hmm, I'm not really sure about this &amp;quot;feature&amp;quot; actually. (That is, having the C:\Users folder untranslated for everybody, and only &amp;quot;displaying&amp;quot; a translated version)&lt;/p&gt;
&lt;p&gt;I mean, I understand that for MUI and all that, you've got to have SOME physical folder name which may be different to what the user expects, but couldn't that name have been the localized version of &amp;quot;Users&amp;quot; (or whatever) when the OS was being installed (so if I installed in a French language, I'd get a physical folder name of &amp;quot;C:\Utilisateurs&amp;quot;).&lt;/p&gt;
&lt;p&gt;You'd still use SHGetLocalizedName to get the real localized name, but since 99% of people would be USING Vista in the same language that they INSTALLED it, most of the time it'd be exactly the same as the physical name.&lt;/p&gt;
&lt;p&gt;As it is now, anywhere I want to display a path, I HAVE to use SHGetLocalizedName (a Vista-only function, of course), otherwise non-English users are going to be rather confused... Isn't it better to be wrong for 1% of users than it is to be wrong for 50% of users (whatever the proportion of non-English-speaking people use Windows)?&lt;/p&gt;
&lt;p&gt;&amp;lt;/end-rant&amp;gt; Ah well, I guess the boat as sailed on this one!&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1491787</link><pubDate>Fri, 19 Jan 2007 08:39:15 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1491787</guid><dc:creator>Pavanaja U B</dc:creator><description>&lt;p&gt;I have larger issue. Indic does not work on the console :(&lt;/p&gt;
&lt;p&gt;-Pavanaja&lt;/p&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1491967</link><pubDate>Fri, 19 Jan 2007 09:59:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1491967</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;P&gt;You have to try the &lt;STRONG&gt;new&lt;/STRONG&gt; console for that!&lt;/P&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1493343</link><pubDate>Fri, 19 Jan 2007 18:48:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1493343</guid><dc:creator>ph_arnaud</dc:creator><description>&lt;p&gt;Thanks for getting some research and discussion going on this topic.&lt;/p&gt;
&lt;p&gt;I also discovered that the function does seem to work for short paths and with trailing backslash.&lt;/p&gt;
&lt;p&gt;c:\Program Files\ works. &amp;nbsp;(implemented in a tiny MFC dialog app)&lt;/p&gt;
&lt;p&gt;I am still interested to hear the solution for longer paths, as the average case may be to put in a titlebar a full path to a file, or a message box confirming save/delete/etc, with full long path name - with as you mention a mix of folders with no localized name available and a few folders with localized names.&lt;/p&gt;
&lt;p&gt;For example:&lt;/p&gt;
&lt;p&gt;C:\Users\admin\Pictures\bike.jpg&lt;/p&gt;
&lt;p&gt;Just in case I tried to pass in some paths like:&lt;/p&gt;
&lt;p&gt;Pictures&lt;/p&gt;
&lt;p&gt;%USERPROFILE%\Pictures&lt;/p&gt;
&lt;p&gt;with and without a real filename that exists in that directory, didn't get any productive result.&lt;/p&gt;
&lt;p&gt;This function SHGetLocalizedName seems like it can't work for a full long path, because it in fact returns a 'path' &amp;nbsp;(dll name, and res id) to find one localized directory name.&lt;/p&gt;
&lt;p&gt;I believe pretty much the same issue existed on the multilingual version of Windows XP (enu with language packs), when switched to a language pack, (Explorer would show some folder names localized, vs true English names in the file system). &amp;nbsp;But maybe no one really noticed as the ratio of 'full-localized' XP to enu + language pack XP was vastly skewed to full-localized XP as that was the consumer version available to most end-users.&lt;/p&gt;
&lt;p&gt;Looking forward to more info on this topic.&lt;/p&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1495884</link><pubDate>Sat, 20 Jan 2007 06:18:34 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1495884</guid><dc:creator>Pavanaja UB</dc:creator><description>&lt;p&gt;&amp;gt; You have to try the new console for that!&lt;/p&gt;
&lt;p&gt;Where is that?&lt;/p&gt;
&lt;p&gt;Rgds,&lt;/p&gt;
&lt;p&gt;Pavanaja&lt;/p&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1497008</link><pubDate>Sat, 20 Jan 2007 08:48:45 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1497008</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;p&gt;It's called PowerShell? You have probably heard tell of it in other blogs; if not a search should be pretty easy....&lt;/p&gt;
&lt;p&gt;(let's get this blog and its comment back on topic, kay?)&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1499716</link><pubDate>Sun, 21 Jan 2007 00:14:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1499716</guid><dc:creator>James S.</dc:creator><description>&lt;p&gt;The behaviour of the SHGetLocalizedName function seems correct to me (although the documentation for it is rubbish - the third parameter can't seem to decide whether it's in or out and the type is wrong). The string &amp;quot;C:\Users\Bloke&amp;quot; specifies a specific directory; that directory does not have a localised name. On the other hand, &amp;quot;C:\Users&amp;quot; specifies a different directory, which perhaps does.&lt;/p&gt;
&lt;p&gt;Isn't the problem here that what we think we want is a function CreateLocalisedPath which maps each path component to its localised value? We could easily write one :)&lt;/p&gt;
&lt;p&gt;Really though, the problem is that this functionality creates a one-way mapping from files to filenames, when most software and users expect bidirectional mappings (even if there are many of them). The user won't be able to type &amp;quot;C:\Utilisateurs&amp;quot;, because it doesn't exist. It might even be a different directory! And of course, the vast majority of software won't bother with this particular tax, because the developers won't know about it.&lt;/p&gt;
&lt;p&gt;Windows XP had this problem with the start menu. The default folders had desktop.ini files pointing to localised names. This was terribly confusing to anyone who tried to rename the items on the start menu, and doubly so if their user account's start menu folder lacked desktop.ini but the All Users folder did. &amp;quot;Fortunately&amp;quot;, most users never organised their start menu, leading to the new search-based thingy in Vista (which I still consider to be a crime against the organised, but I'm hoping I'll get used to it).&lt;/p&gt;
&lt;p&gt;Of course, junctions wouldn't help because there would need to be an infinite number of them :(&lt;/p&gt;
&lt;p&gt;The real answer must be to use cryptic names like usr and bin to distract people from the issue :)&lt;/p&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1506581</link><pubDate>Mon, 22 Jan 2007 10:38:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1506581</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;P&gt;For me the big problem is that this function (while probably useful in the context in which the Shell calls it) is mostly useless for anyone outside of MS (and even for most people within MS). And there is no clear indication of the correct function to be calling here, so there is no hint on where to go from here?&lt;/P&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1507018</link><pubDate>Mon, 22 Jan 2007 12:23:08 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1507018</guid><dc:creator>Centaur</dc:creator><description>&lt;p&gt;Why was it decided that names should be localized? Is it based on the assumption that users will not be able to learn a few foreign words? Personally I find this assumption insulting.&lt;/p&gt;
&lt;p&gt;The abstraction that this function creates is inherently leaky. Users will not be able to use these localized names in contexts where they expect to be able directory names. They will say, “Why is there a ‘buffalo’ caption on the elephant’s cage? Computers are *so* hard to use”. They will learn not to trust the shell.&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1507216</link><pubDate>Mon, 22 Jan 2007 13:15:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1507216</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;P&gt;You mean the original decison long before MUI and back when the first localized versions of Windows were being created? When not every user wanted to be required to learn English words, and not everyone at Microsoft wanted to force them to do so?&lt;/P&gt;
&lt;P&gt;This was a decision made more than ten versions ago, so it is hard to pin down exactly why, but it's a little late to chuck it all now, IMHO.&lt;/P&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1507243</link><pubDate>Mon, 22 Jan 2007 13:27:21 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1507243</guid><dc:creator>c2j2</dc:creator><description>&lt;p&gt;BTW: With the new Vista abbreviated names (c:\Documents == c:\Documents and Settings\[user name]\My Documents), it will be more likely for users to enter the path directly in an edit control (falling on the nose) than to select the path using CommonDialog (using a &amp;quot;browse&amp;quot; button after the edit control).&lt;/p&gt;
&lt;p&gt;That entry form (edit control with a &amp;quot;browse button&amp;quot;) is pretty much standard.&lt;/p&gt;
&lt;p&gt;Thus for experienced users, they will experience more trouble ;-)&lt;/p&gt;
&lt;p&gt;Will there PLEASE be a thorough manual on how to handle these path mappings correctly, in BOTH directions?&lt;/p&gt;
&lt;p&gt;Christian&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1507278</link><pubDate>Mon, 22 Jan 2007 13:41:20 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1507278</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;P&gt;Hey c2j2, see &lt;STRONG&gt;&lt;A class="" href="http://blogs.msdn.com/michkap/archive/2006/12/13/1275292.aspx"&gt;this post&lt;/A&gt;&lt;/STRONG&gt; for why the shorter names happened....&lt;/P&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1507672</link><pubDate>Mon, 22 Jan 2007 15:34:04 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1507672</guid><dc:creator>c2j2</dc:creator><description>&lt;p&gt;Thanks, MichKa, actually that's where I have seen them first ;-) But my problem is that the paths are so short that some users will enter them in the path edit box faster as selecting them though a commdlg LoadFile().&lt;/p&gt;
&lt;p&gt;So what happens if a user enters &amp;quot;c:\dokumente\x.txt&amp;quot; in the edit box to save a file in the &amp;quot;c:\Documents and Settings\[user name]\My Documents&amp;quot; folder, as the knows &amp;quot;c:\dokumente&amp;quot; exists (from explorer)?&lt;/p&gt;
&lt;p&gt;&amp;quot;File open error&amp;quot; as the directory does not exist!&lt;/p&gt;
&lt;p&gt;a) my program expects this, creates the directory as needed and writes the file - will it ever be found again (for sure not in c:\Documents and Settings\[user name]\My Documents, but also &amp;quot;c:\dokumente&amp;quot; will not be visible in Explorer, will it? Will there be two paths of the same name, one my new directory and the other pointing to the &amp;quot;old&amp;quot;, long-named path?)&lt;/p&gt;
&lt;p&gt;b) creating the directory fails -&amp;gt; It will confuse the user as the directory does exist for the user (he can see it in the Explorer)&lt;/p&gt;
&lt;p&gt;Anyway, the damage is done, and I fear it will cause some support contacts itself... so for compatibility reasons (or whatever reason is given for the localized paths) a lot of developers actually need to make their applications vista-compatible! Duh!&lt;/p&gt;
&lt;p&gt;So all us application developers need to find an easy way for filename conversions, for example SHConvertFSNameToUIName() and SHConvertUINameToFSName()).&lt;/p&gt;
&lt;p&gt;Christian&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1507968</link><pubDate>Mon, 22 Jan 2007 16:07:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1507968</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;p&gt;Hi Christian,&lt;/p&gt;
&lt;p&gt;You are actually in your argument using two entirely unrelated issues to try to argue against the problems of the one bring discussed here. We have:&lt;/p&gt;
&lt;p&gt;1) The top level, virtual &amp;quot;My Documents&amp;quot; which maps to the longer path -- a feature that has been around since at least Win2000 and has not led to a huge number of people creating phatom new directories. I doubt thast renasming it will change this.&lt;/p&gt;
&lt;p&gt;2) The localized path issue beung discussed here.&lt;/p&gt;
&lt;p&gt;I would argue that the design of a textbox you type into is a mistake and I ususlly disable the textbox and force them to go through the fileopen dialog. I would recommend that you do the same here, frankly, as this works round 90% of the issues that concern you? :-)&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1508297</link><pubDate>Mon, 22 Jan 2007 17:13:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1508297</guid><dc:creator>c2j2</dc:creator><description>&lt;p&gt;Hi MichKa,&lt;/p&gt;
&lt;p&gt;What you describe (or I assume you describe) is correct, that these folders have been around a long time. I cannot create a &amp;quot;my documents\x.txt&amp;quot; as the folder is so pure virtual, it does not reside in my &amp;quot;c:\&amp;quot; root ;-) Try 'echo Hallo &amp;quot;&amp;gt;my documents\x.txt&amp;quot;'. No user can expect these paths in an edit control that expects a filesystem path. &lt;/p&gt;
&lt;p&gt;Once he enters a physical (or seemingly physical) path, that is, a path that he &amp;quot;sees&amp;quot; as a &amp;nbsp;subdirectory on the harddisk, it's different.&lt;/p&gt;
&lt;p&gt;I mean the shortcut folders you described in the other post. As they are virtual, localized, but on the harddisk's tree, I would expect consitency. I can create a file &amp;quot;x.txt&amp;quot; in &amp;quot;c:\dokumente&amp;quot; in the Explorer, but I cannot in the command shell ('echo Hallo MichKa &amp;gt;c:\dokumente\x.txt&amp;quot;) and also not in an application that enables fast copy&amp;amp;paste of paths (which is used by prof\b\b\b\busers who shudder at the slowness and awquardness of having to click to open a dialog to enable them to insert a path thay could insert much faster directly).&lt;/p&gt;
&lt;p&gt;I don't have a localized Vista here, only an US RC1, so I cannot test what will happen.&lt;/p&gt;
&lt;p&gt;Christian&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1508324</link><pubDate>Mon, 22 Jan 2007 17:18:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1508324</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;P&gt;Again Christian , this is 100% unrelated to the localized dirs issue, happens on English too, and has been around since win2000. Please take it to the &lt;STRONG&gt;&lt;A class="" href="http://shellrevealed.com/"&gt;shell blog&lt;/A&gt;&lt;/STRONG&gt; as it is their design and has nothing to do with the localized directories.&lt;/P&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1509861</link><pubDate>Tue, 23 Jan 2007 00:54:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1509861</guid><dc:creator>Installers?</dc:creator><description>&lt;p&gt;Virtually every installer created thus far presents an 'install location' choice to end users, with an edit box and a Browse button. &lt;/p&gt;
&lt;p&gt;Am I correct that this can (and will) happen?&lt;/p&gt;
&lt;p&gt;1. User on a French machine installing some English shareware&lt;/p&gt;
&lt;p&gt;2. Installer prompts for install location&lt;/p&gt;
&lt;p&gt;3. It reads: C:\Program Files\Appname&lt;/p&gt;
&lt;p&gt;4. User thinks that it's a non-internationalized installer (with accent, exclaming &amp;quot;stupid Americans!&amp;quot;) &lt;/p&gt;
&lt;p&gt;5. User changes the path to C:\Programmes\Appname&lt;/p&gt;
&lt;p&gt;Now the user has both a C:\Program Files folder and a C:\Programmes folder? Does Vista smart enough to handle this? What happens when they enter C:\Programmes into the address bar? Which folder is loaded? &lt;/p&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1513397</link><pubDate>Tue, 23 Jan 2007 13:42:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1513397</guid><dc:creator>ph_arnaud</dc:creator><description>&lt;p&gt;Hi,&lt;/p&gt;
&lt;p&gt;I don't think you need English shareware to see the difference. &amp;nbsp;You could use French or English designed for XP software, or even designed for Vista...&lt;/p&gt;
&lt;p&gt;The German Office 2007 installer doesn't show the installation path in the 'default' installation steps - there are no practically no options and the software is just installed.&lt;/p&gt;
&lt;p&gt;Only when you choose 'custom', then it does show the English name 'Program Files' as part of path in an edit box (enabled for typing). &amp;nbsp;There is a browse button next to the edit box, which shows a tree structure with localized directory names. &amp;nbsp;Selecting the localized name, then ok, does not change the content of the edit box, which will still contain the English name 'Program Files'. &amp;nbsp;In the Office 2007 installer if you do replace the 'Program Files' with 'Programme' in the install path edit box, it doesn't seem to be an issue, the files are still really installed to Program Files - probably because of the Programme folder junction that exists and redirects? - and of course in Windows Explorer it appears to exist in Programme, whether you put 'Program Files' or 'Programme' in that install edit box)&lt;/p&gt;
&lt;p&gt;Beyond installation (which is one time, and perhaps not seen by all users), is run-time usage.&lt;/p&gt;
&lt;p&gt;Word 2007 in some cases appears to avoid showing complete paths in UI. &amp;nbsp;For example on the titlebar for the active document, or save confirmation dialogs, it seems to show just the filename - thus avoiding the issue. &amp;nbsp;I don't have any insight if this is to avoid this English/localized foldername issue, or done for other reasons.&lt;/p&gt;
&lt;p&gt;German Word 2007 is not completely able to avoid showing full paths. &amp;nbsp;In some cases like hyperlink name and tooltips, the English directory names, when contained in a path, do display.&lt;/p&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1513458</link><pubDate>Tue, 23 Jan 2007 13:52:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1513458</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;P&gt;And everything still works, then. Some confusion? Sure. But that is preferred to some stuff being broken....&lt;/P&gt;</description></item><item><title>Windows Vista junctions points, MUI and localized folder names</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1659313</link><pubDate>Mon, 12 Feb 2007 13:33:31 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1659313</guid><dc:creator>Carlos Quintero's blog</dc:creator><description>&lt;p&gt;I spent quite a few hours yesterday dealing with an intriguing thing that hapenned two days ago while&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1668832</link><pubDate>Tue, 13 Feb 2007 16:05:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1668832</guid><dc:creator>Phil Jollans</dc:creator><description>&lt;p&gt;Michka, I think localized directory names were a bad idea from the word go. I think that they were introduced in Windows 95, so the design decision was probably about 13 years ago.&lt;/p&gt;
&lt;p&gt;You say that it is too late to chuck it now. It seems to me that the basic idea has in fact been chucked. What remains is some cosmetics in the windows explorer.&lt;/p&gt;
&lt;p&gt;Localizing the names of directories, which under the surface actually retain their original names, seems so obviously a be bad idea, that the best approach is probably to boycott it. Working with filenames is a basic operation in many applications and the best way to handle it consistently is work with the real filenames.&lt;/p&gt;
&lt;p&gt;I cannot imagine the localized aliases being a success and I fully expect Microsoft to abandon them in the following version of Windows.&lt;/p&gt;
&lt;p&gt;Phil&lt;/p&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1669248</link><pubDate>Tue, 13 Feb 2007 17:13:37 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1669248</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;P&gt;The real question is whether more has to be done other than what has already been done -- why not keep the small amount of cosmetic work? :-)&lt;/P&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1682148</link><pubDate>Thu, 15 Feb 2007 12:01:23 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1682148</guid><dc:creator>i.g.</dc:creator><description>&lt;p&gt;So, how can we convert&lt;/p&gt;
&lt;p&gt;C:\Users\admin\Pictures&lt;/p&gt;
&lt;p&gt;into&lt;/p&gt;
&lt;p&gt;C:\Betnutzer\admin\Bilder&lt;/p&gt;
&lt;p&gt;?&lt;/p&gt;
&lt;p&gt;The SHGetLocalizedName() function works only for the first part (i.e. converting C:\Users into C:\Benutzer is easy, just like shown in the example code)... but how can we get the rest?&lt;/p&gt;</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1683262</link><pubDate>Thu, 15 Feb 2007 16:36:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1683262</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;p&gt;If I knew, I'd have posted it -- but thus far no one seems to know the answer....&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1736328</link><pubDate>Wed, 21 Feb 2007 21:00:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1736328</guid><dc:creator>Ming Zhu</dc:creator><description>&lt;P&gt;I am from the Windows Shell team. I have recently come across a customer question with the link to this blog. I can see many confusion here and I feel that I can share the discussion here.&lt;/P&gt;
&lt;P&gt;Actually, SHGetLocalizedName API is NOT designed to work with folders. The MSDN document already mentioned that it is used to retrieve localized names for files. Use it on folders has in-consistent result - for some folders it will work but for some it does not. &lt;/P&gt;
&lt;P&gt;The official way to get a localized name for a folder is through the IShellItem::GetDisplayName or IShellFolder::GetDisplayNameOf method, it works on both pre-Vista and Vista systems. And, it works for all shell folders as well, include those non-file-sytem folders such as "Control Panel". &lt;/P&gt;
&lt;P&gt;Here's some code example:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;&lt;FONT face="Consolas,Lucida Console,Courier New,Courier"&gt;
&lt;P&gt;//&lt;BR&gt;// &amp;nbsp;Get the display name of a folder in the shell namespace according to the pidl&lt;BR&gt;//&lt;BR&gt;HRESULT GetDisplayNameFromPidl(LPCITEMIDLIST pidl, __out_ecount(cchName) LPWSTR pszName, UINT cchName) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;IShellFolder *psf = NULL;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;LPCITEMIDLIST pidlRelative = NULL;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;HRESULT hr = SHBindToParent(pidl, IID_PPV_ARGS(&amp;amp;psf), &amp;amp;pidlRelative);&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (SUCCEEDED(hr))&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;STRRET sr;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hr = psf-&amp;gt;GetDisplayNameOf(pidlRelative, SHGDN_NORMAL, &amp;amp;sr);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (SUCCEEDED(hr))&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hr = StrRetToBuf(&amp;amp;sr, pidl, pszName, cchName);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (FAILED(hr))&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trace(Warning, "StrRetToBuf failed, hr = %08X", hr);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trace(Warning, "GetDisplayNameOf failed, hr = %08X", hr);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;psf-&amp;gt;Release();&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;Trace(Warning, "SHBindToParent failed, hr = %08X", hr);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return hr;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;//&lt;BR&gt;// &amp;nbsp;Get the a string form of the PIDL by concatenate the display names of the folders in the PIDL&lt;BR&gt;//&lt;BR&gt;HRESULT GetPidlStringFromPidl(LPCITEMIDLIST pidl, __out_ecount(cchPidlString) LPWSTR pszPidlString, size_t cchPidlString) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;HRESULT &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; hr = S_OK;&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// First, get the display name of each level of the pidl, and combine them together.&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Since we used ILRemoveLastID() recursively, the order is actually bottom to top.&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;WCHAR &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; szReversedString[MAX_PATH] = L"";&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;LPITEMIDLIST &amp;nbsp; &amp;nbsp;pidlClone = ILClone(pidl);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (pidlClone)&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (SUCCEEDED(hr))&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;WCHAR &amp;nbsp; szOneLevel[MAX_PATH];&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hr = GetDisplayNameFromPidl(pidlClone, szOneLevel, ARRAYSIZE(szOneLevel));&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (SUCCEEDED(hr))&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringCchCat(szReversedString, ARRAYSIZE(szReversedString), L"\\");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringCchCat(szReversedString, ARRAYSIZE(szReversedString), szOneLevel);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (!ILRemoveLastID(pidlClone))&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;break;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ILFree(pidlClone);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&amp;nbsp;else&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;hr = E_OUTOFMEMORY;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;// Now, we are gonna reverse the path in szReverseName, to get a regular top to bottom path&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;*pszPidlString = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;PWSTR &amp;nbsp;pszLast = szReversedString;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;while (pszLast)&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pszLast = StrRChr(szReversedString, NULL, L'\\');&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (pszLast) {&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;*pszLast = 0;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;pszLast++;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;if (pszLast)&amp;nbsp;{&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringCchCat(pszPidlString, cchPidlString, L"\\");&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;StringCchCat(pszPidlString, cchPidlString, pszLast);&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;return hr;&lt;BR&gt;}&lt;/P&gt;&lt;/FONT&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;You can see the above code works with PIDLs - the shell equivelant of paths. You can get the PIDL from many APIs such as SHGetFolderLocation, ILCreateFromPath etc. &lt;/P&gt;
&lt;P&gt;Hope this helps.&lt;/P&gt;</description></item><item><title>Here is what's up with localized paths in Vista (and in Windows!)</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1737188</link><pubDate>Wed, 21 Feb 2007 23:37:49 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1737188</guid><dc:creator>Sorting It All Out</dc:creator><description>&lt;p&gt;Some of you may recall the confusion surrounding localized paths in Vista that I mentioned not too long&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#1737658</link><pubDate>Thu, 22 Feb 2007 01:40:33 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:1737658</guid><dc:creator>ph_arnaud</dc:creator><description>&lt;p&gt;Thanks for the precise example!&lt;/p&gt;
&lt;p&gt;Now let's see if we can get some recommendations from the Vista User Experience Guidelines team.&lt;/p&gt;
&lt;p&gt;This is worth a topic in there. &amp;nbsp;Do we do this mapping only in 'shell explorer' types of interfaces, or should any path shown in a Windows application (list of paths in compression tools, paths in confirmation dialogs, installation paths, etc.) be mapped to a localized folder paths.&lt;/p&gt;
&lt;p&gt;I think they've got a link on their page for feedback...&lt;/p&gt;
&lt;p&gt;mailto:winui@microsoft.com?subject=Windows Vista User Experience Guidelines feedback&lt;/p&gt;</description></item><item><title>If you had gotten there first, you might have staked your claim too!</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#5026625</link><pubDate>Fri, 21 Sep 2007 10:06:50 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:5026625</guid><dc:creator>Sorting It All Out</dc:creator><description>&lt;p&gt;I was reading Raymond Chen's blog post Find the Flowers vs. Minesweeper which is a pointer to David Vray's&lt;/p&gt;
</description></item><item><title>re: What the %$#&amp;amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#9221271</link><pubDate>Mon, 15 Dec 2008 19:30:46 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9221271</guid><dc:creator>Pissed-off user</dc:creator><description>&lt;p&gt;I don't care that you screwed up the system 13 years ago. What you're doing now is *WORSE*! I can't begin to describe how fucked-up my system has gotten after installing a few programs on it. Any differences in handing file names between shell, GUI and installers is just *WRONG*.&lt;/p&gt;
&lt;p&gt;I want a refund!&lt;/p&gt;</description></item><item><title>re: What the %$#&amp;amp; is up with localized paths in Vista?</title><link>http://blogs.msdn.com/michkap/archive/2007/01/18/1487464.aspx#9222805</link><pubDate>Tue, 16 Dec 2008 03:28:47 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:9222805</guid><dc:creator>Michael S. Kaplan</dc:creator><description>&lt;p&gt;Kind of hard to comment given the lack of actual information, such as:&lt;/p&gt;
&lt;p&gt;1) Initial install language&lt;/p&gt;
&lt;p&gt;2) Names of the programs that were installed&lt;/p&gt;
&lt;p&gt;3) For each program installed in #2,&lt;/p&gt;
&lt;p&gt;---a) The UI language at the time of install&lt;/p&gt;
&lt;p&gt;---b) The path to which the program was installed&lt;/p&gt;
&lt;p&gt;4) the exact way in which the system thereby became &amp;quot;fucked up&amp;quot;, specifically what failed and how -- and of course why said failure is so truly awful that a refund is required&lt;/p&gt;
&lt;p&gt;5) How and where you purchased Vista (since you are asking for a refund, how you paid seems relevant!)&lt;/p&gt;
</description></item></channel></rss>