special folders

David Glasgow david at dvglasgow.wanadoo.co.uk
Sat Nov 1 06:14:53 EDT 2008


On 31 Oct 2008, at 5:00 pm, Ken Ray wrote:

>
> Right - in both cases, you can use specialFolderPath(35) and it  
> will resolve
> properly on both platforms.

Aha.  That is very helpful.  I had followed the link on the Rev  
dictionary page and found CSIDL_PROGRAM_FILES = 0x0026
which I hadn't appreciated is pure VB (?), I thought the numerical  
reference was a Windows thing, and represented what I would have to  
put in the parentheses in specialfolderpath ().  I just hadn't read  
properly your web page which clearly states "Use the entry under the  
No. heading with specialFolderPath" I also hadn't anticipated the  
simplicity of the syntax being the naked decimal number in parentheses.

That one example has no doubt saved me hours of fettling about.


>
> Tiemo is right though - on both Vista and XP, the Application Data (or
> ProgramData) folder is a hidden folder that novice users won't have  
> changed.

That could be exactly what I want for my results stack.  I can see  
that lots of developers use it, presumable for data which are not  
preferences or user accessible products of the program.

>
> The general rule of thumb is:
>
>   - Applications go into "C:/Program Files" (XP) or "C:/ 
> Programs" (Vista);
> accessed with "specialFolderPath(38)"
>
>   - Support files for the application that the user won't be  
> getting access
> to go in "C:/Documents and Settings/<user>/Application Data" (XP) or
> "C:/Users/<user>/AppData/Roaming" (Vista); accessed with
> "specialFolderPath(26)"

I would prefer not to save this stack on a per user basis, but have a  
single copy updated by all users.  Would it be OK just to refer to a  
via specialfolderpath(26) but just trim the path to refer to a folder  
sitting 'above' the /<user>/ folder?  If not, I think programdata  
might be the way to go.

>
>   - User-generated or user-accessible files go in "C:/Documents and
> Settings/<user>/My Documents" (XP) or "C:/Users/<user>/ 
> Documents" (Vista);
> accessed with "specialFolderPath("documents") or "specialFolderPath 
> (5)"

That's great, and I will save all my exported charts and whatnot to a  
user specific folder here.

>
>   - Preferences/settings go in the Registry
>
>
Really helpful overall.  Thanks Ken et al.  The fog is clearing, and  
the red herrings are swimming off into the distance.

Best,

David Glasgow


More information about the use-livecode mailing list