On Sat, 20 Dec 2008, Vincent Snijders wrote:
> Felipe Monteiro de Carvalho schreef: > > Hello, > > > > GetAppConfigFile in win32 uses CSIDL_LOCAL_APPDATA to be implemented. > > > > I did some research, and I think that CSIDL_APPDATA is a better choice: > > > > http://blogs.msdn.com/oldnewthing/archive/2005/07/01/434647.aspx > > > > They are very similar, but the LOCAL version is a bit more specifc, > > and the non-LOCAL has the advantage of a lower requirement. It > > requires shell 4.0 while the other requires shell 5.0 > > > > Careful that both are for local settings, the name just isn't very > > intuitive. > > I thought that local version is not stored on the network and is not available > in the roaming profile. Putting a 100 MB Lazarus exe in the CSIDL_APPDATA is > not a good thing, it ruins startup time (and shutdown time to copy the 100 MB > to the network). So, if this change is made, I will probably put windows > specific code in Lazarus to prevent that. I specially chose local because I don't want it to be roaming data. I don't intend to change the implementation, if only for backward compatibility: suddenly all config files would no longer be found. And frankly, with each new version of Windows, there are new folders and rules, so we can keep playing catch-up. That aside, I think we should maybe create a unit 'osfolders' or so which creates a cross-platform interface to retrieve 'special' folders in a cross-platform way, using some enumerated type. I have made this once for Delphi, to hide the ugly windows API in something more Pascal-ish. Extending it to work on Unices as well should not be too hard. I'll put it on my todo list. Michael. _______________________________________________ fpc-devel maillist - fpc-devel@lists.freepascal.org http://lists.freepascal.org/mailman/listinfo/fpc-devel