"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