http://www.perlmonks.org?node_id=660944


in reply to Win32 Daemon @INC

Windows services don't get the same environment as the user who the service is running as would get if they logged in.

For example, the per-user environment variables aren't set. I assume the same is true of drive mappings for that user.

You might have luck executing a "NET USE" from your script prior to accessing the drive letter, but that's really no different from using the UNC path directly.

There may be an invocation which allows services to see this sort of setting - perhaps someone else could chime in if so.

Replies are listed 'Best First'.
Re^2: Win32 Daemon @INC
by Corion (Patriarch) on Jan 07, 2008 at 21:14 UTC

    Actually, unless nothing else has been specified, the service will run as the system user, and the system user does not even have the permissions to access network resources, be they mapped or unmapped.

    The solution is usually to run the service as another user than the default.