
Jeff and others, As a user of both Windows and UNIX (FreeBSD), I think that the discussion is overcomplicated. There several things an application needs to know about the directories: 1) Where to put/find user-specific configuration-data. 2) Where to find system-wide configuration-data. 3) Where to put user-specific caches. 4) Where to find user-generated content. For UNIX these locations correspond to: 1) .dot files (directories) under ${HOME} 2) /etc, /usr/local/etc 3) .dot files (directories) under ${HOME} 4) ${HOME} For Windows they are: 1) Application Data\Company Name\Product Name in user profile (CSIDL_APPDATA) 2) Application Data\Company Name\Product Name in "all users" profile (CSIDL_COMMON_APPDATA) 3) Application Data\Company Name\Product Name in user profile (CSIDL_APPDATA) 4) "My Documents" or "Desktop" folder (CSIDL_PERSONAL) Essentially, the exact locations on Windows should be obtained via Shell API. If this approach is used, it is only necessary to support old and specific versions of Windows. Note, UNIX users typically store their files under ${HOME}, it is OK to consider ${HOME} as an equivalent of "My Documents", though they are not the same. Alexander Churanov