Scott Hanselman

Vista's "Show Compatibility Files" and the Scrumptious Wonder that is File Virtualization

December 01, 2006 Comment on this post [7] Posted in Musings | Reviews
Sponsored By

I was trying to convert some (totally legal) video files into MP4 format for use on my iPod for an upcoming trip to Arusha. I used the Videora iPod Convertor, by the way. By default Videora is set to write to: C:\Program Files\VideoraiPodConverter\Videos so I opened an explorer window and watched that folder for my output files to show up. After hours of converting. Nothing. I searched my hard drive high and low. Nada. What was it chewing on so long? I should have at LEAST 2 gigs of MP4s now. Where are they. I tried again. Hours past. Nothing.

What's this button "Compatibility Files?"

Um, OK. Click.

Zoinks!

Then I remembered. In Vista the rules are that if you don't have explicit (by requesting) elevated permissions to write to C:\Program Files, the system lets you think you are writing there but actually redirects (virtualizes) your writes elsewhere. Jerry has some details here, where I took the next picture from.

On the surface, this sucks in a huge way, especially for my Mom in the "where are my files" kind of way.

As far as programs on my system, there's a number of "mal-behaved" programs that are getting their writer redirected to the "Virtual Store." Of note are MSN Messenger, the new Nero, and FireFox.

Ideally apps will write to the places they should be writing to, like Isolated Storage and such. Apps like Videora should include a manifest that explains what they're going to need (security and permissions demands) so that the consent dialog (run my Consent.exe of all things) would be issued automatically.

Personally, I'd rather see a UI with a link or button in the folder rather than in the Toolbar. It is pretty important and blends in there.

The other really bad UI issue is that there's no way to get to the compatibility-based Virtual Store from the common file open/save dialogs.

The same redirection CAN happen with apps that try to write to registry in HKLM, so watch for that also if something "goes missing."

I can see how hard they're working to make Vista more secure while still maintaining extensive backward compatibility. I haven't had any apps (other than one Java app) bork under Vista yet, but things like this Virtual Store will be confusing until new minor releases of apps with a modicum of Vista-awareness come out.

About Scott

Scott Hanselman is a former professor, former Chief Architect in finance, now speaker, consultant, father, diabetic, and Microsoft employee. He is a failed stand-up comic, a cornrower, and a book author.

facebook bluesky subscribe
About   Newsletter
Hosting By
Hosted on Linux using .NET in an Azure App Service
December 01, 2006 14:01
I don't understand why they choose to go that why.
They could show the files when you are watching the folder as the user that created them, but provide you a visual que for the compatibility files. And when you are watching the folder as a different user they could give you a "Where are my files ?" link that explain you that those were not you files bla-bla-bla.
December 01, 2006 17:29
I'm a bit puzzled that Microsoft seem to have only completed half this feature. If you're going to magically virtualize away writes, for valid security reasons, why would you not magically virtualize back reads, for valid usability reasons?

Vista obviously 'knows' where the files have gone and it supports symbolic and hard links in the file system (and even shortcut .lnk files), so why aren't these (or some other magic shell trick) used to make the files appear to be where you expect them to be?

The way that this is implemented, from a users point of view, breaks peoples mental model of files and folders - a pretty fundamental computing concept. It's already wasted several hours of your time - and you're just one user.
December 01, 2006 18:00
You truly lead a blessed life if you have not had a good Borking from Vista. Seems Vista has saved up all the borks meant for you and transfered them to my machine - lets see: Skype (BSOD), QuickCam (BSOD), VMWare Server (Weird System slowdown - even in Safe Mode - cleared after 2 hours of unuseable/unstable behavior), IE (wouldn't open for a full week. finally able to get it working with a reset of Internet Options), CodeRush (won't run - known problem in .4 release)

All in all it has been the worst MS OS upgrade experience I have had in 20 years. I even waited until RTM just to avoid all these problems.
December 01, 2006 21:22
You don't have to "censor" the porn files from us, Scott. We can take it!
December 01, 2006 23:44
Finally! I love this -- it's forcing application developers, even the bad ones, to store user data where it should be: in the user's folder (or public folder) -- rather than scattered mish-mosh across the HD.

Your Mom should never be browsing to C:\Program Files\... to find content.
December 02, 2006 12:12
Joe,

You obviously have a driver or hardware issue, as Windows itself will not crash into a BSOD automagically. I'm guessing you've installed a beta sound or video driver, hrm? None of the major companies have final driver sets for Vista yet, except maybe Intel, who released their new chipset drivers a few days ago (and they work great!)

Also, you would want to check the compatability of those apps you listed with the publisher/authors.. I can guarantee 90% of them aren't signed off as 100% Vista compatable yet..

Scott, have you run into fun with iTunes yet? It syncs soo slow for me. Like 30 mins to sync a few songs slow. I asked Mark R (SysInternals) to look into it, but it's doubtful that he will. Seems to me it's Apple's fault anyway. They really should make a .NET 3.0 (WPF) version of iTunes that will run on XP/Vista, and use the new rendering layer to quickly show their fancy-schmancy UI.
December 04, 2006 3:06
i love Jerrys response to your linking directly to his image. He's got a modified version just for you. Classic.

Took me ages to work out what was going on there.

Comments are closed.

Disclaimer: The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.