in reply to Re^3: Installing a config file during module operation
in thread Installing a config file during module operation

I'm getting the same idea on the windows machine here, too - wierd. According to the CSIDL documentation on MS's site, CSIDL_LOCAL_APPDATA has "[a] typical path [of] C:\Documents and Settings\username\Local Settings\Application Data." [emphasis in original] But here, that returns the desktop, just like yours. Wierd. Perhaps that's a bug in Win32?

Update: No, no bug in Win32 - nor even Windows. PEBKAC. As xdg points out, failing to import the constant was the problem. That said, it was quite well hidden at the end of a longish paragraph. I suppose I could make a suggestion to the author: bold this in the perldoc :-) - but that's merely a suggestion, not a bug report ;-)

  • Comment on Re^4: Installing a config file during module operation

Replies are listed 'Best First'.
Re^5: Installing a config file during module operation
by salva (Canon) on Aug 08, 2005 at 08:46 UTC
    hey, bug reports are welcome!!!

    Where do you thing the configuration files should go? what version of windows are you using?

    update: btw, on my windows xp it points to

    C:\Documents and Settings\salva\Local Settings\Application Data\

    anyway, I have uploaded a new version to CPAN with a work around that will ignore LOCAL_APPDATA or APPDATA when they point to any place below the user desktop.

      I suspect people aren't reading docs for Win32. You have to import the constant. (I'll admit I didn't do that at first, either.)

      > perl -MWin32 -le "print Win32::GetFolderPath(CSIDL_LOCAL_APPDATA)" C:\Documents and Settings\DGolden\Desktop > perl -MWin32=CSIDL_LOCAL_APPDATA -le "print Win32::GetFolderPath(CSI +DL_LOCAL_APPDATA)" C:\Documents and Settings\DGolden\Local Settings\Application Data

      -xdg

      Code written by xdg and posted on PerlMonks is public domain. It is provided as is with no warranties, express or implied, of any kind. Posted code may not have been tested. Use of posted code is at your own risk.

        Thanks in large part to the discussion in this thread and Win32 CSIDL_LOCAL_APPDATA, I am making progress toward this goal. Here are three utility subroutines I've written as part of this project. The first identifies a "home" directory suitable for holding a configuration file. The other two are used to locate the config file, suppress its effect during 'make test', then restore it to life afterwards.

        Jim Keenan