On Sat, 30 Jun 2012 18:32:58 +1000, Dennis Volodomanov
<i...@psunrise.com> wrote:

> On 30/06/2012 12:57 PM, Kees Nuyt wrote:
>>
>> Is the database file in a protected folder (that is, "\Program Files",
>> or somewhere in the Windows system software tree) ?
>>
>> It shouldn't be. Data belongs somewhere else. Either in your
>> userprofile/appdata or in a completely separate dirtree that Microsoft
>> doesn't try to manage.
>>
>> HTH
>>
>
> No, the database is not in a protected folder, it's in the common 
> appdata folder (ProgramData on Windows7).

Mind you, there is a difference between the "special folders" (=symbolic
path names) :

AppDataFolder 
        = Full path to the Roaming folder for the current user

and

CommonAppDataFolder 
        = Full path to application data for all users.

and

LocalAppDataFolder
        = Full path to the folder that contains local
         (nonroaming) applications. 

To my understanding, CommonAppDataFolder is virtualized to

\Users\%USER%\AppData\Local\VirtualStore\ProgramData\ , 

which is at least a form of protection. Also, normal users would not be
able to delete files from CommonAppDataFolder , which is another form of
protection. 

I haven't hacked Windows for a long time, but my guess is:

1) you are running as administrator, 
2) or you (partially) disabled protection.

Which is not the best way to test applications.

Only your installer / uninstaller should touch CommonAppDataFolder .

I suppose the merits and best practices of folder virtualization are
documented on MSDN somewhere.

You are certainly not the first one to bump into this, a popular search
engine gives me  909000  hits on q=windows7+programdata, for example

http://www.codingquestion.info/6732413/deleting-file-from-cprogramdata-in-windows-7-does-not-really-delete-the-file/post

-- 
Regards,

Kees Nuyt

_______________________________________________
sqlite-users mailing list
sqlite-users@sqlite.org
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users

Reply via email to