"Virtualized" root directory on Windows (was Re: import/export)

Kenneth Brody kenbrody at spamcop.net
Fri May 30 14:47:18 PDT 2014


On 5/30/2014 4:52 PM, Brian K. White wrote:
> On 5/30/2014 2:20 PM, Kenneth Brody wrote:
>> On 5/30/2014 1:34 PM, Nancy Palmquist wrote:
>>> You may have trouble writing to C:\ drive.  Windows 7 does not usually
>>> allow it.
>> [...]
>>
>> Actually, it's a but more "interesting" than that.
>>
>> Windows will let (some?) programs create files in a "virtualized" root
>> directory, which is in "%LOCALAPPDATA%\VirtualStore".
[...]
> Oh my freaking god... You'd think every single programmer in the entire
> windows empire, even though they are windows programmers, should have
> forseen exactly these kinds of problems and just told whoever proposed
> this behavior that it's patently insane.

I'm sure it came from the desire to prevent apps without raised privileges 
from modifying files in the root directory, plus the desire to allow such 
changes to be on a per-user basis.

Since it was pretty common to have things such as app-specific changes to 
the AUTOEXEC.BAT file (or, as I understand it, ".ini" files under "\program 
files") from the dawn of time, perhaps they decided that this was the way to 
allow "old" apps to make such changes, without screwing things up too badly?

I just don't understand (yet) how Windows decides if it should look in the 
virtualized folder first or not.  Both vim and gvim are marked as Windows 
5.00, and virtually everything else in the header is the same, except for 
GUI versus console.  The only significant difference between dclerk and vim 
(both console apps, yet vim uses the virtualized directory and dclerk does 
not) is vim is Windows 5.00 and dclerk is 5.01.

There's probably something in here that gives the details about "when":

     http://technet.microsoft.com/en-us/magazine/2007.06.uac.aspx

-- 
Kenneth Brody


More information about the Filepro-list mailing list