467,926 Members | 1,521 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 467,926 developers. It's quick & easy.

Perl Script When Launched From the Service Fails to Load Environment Variables

I am running into a strange problem. I have perl script which reads the
"APPDATA" environment variable, and does some work on that directory.

When I a launch this script from Command Prompt, it works perfectly fine,
however when the same script is launched from a DLL hosted in a particular
Service, the script fails to read the envrionment variable.

Does any one has any clue, whats going wrong ?

Regards,
Abhishek
Apr 21 '06 #1
  • viewed: 1485
Share:
2 Replies
In message <Et**************@TK2MSFTNGP02.phx.gbl>, Anarula <a@a.com>
writes
I am running into a strange problem. I have perl script which reads the
"APPDATA" environment variable, and does some work on that directory.

When I a launch this script from Command Prompt, it works perfectly fine,
however when the same script is launched from a DLL hosted in a particular
Service, the script fails to read the envrionment variable.

Does any one has any clue, whats going wrong ?


The script is most likely loading environment variables, but the
environment variables will be for the account it is running on. Most
likely the service is not running in the same user account as the
account you expect. Try running the service on your user account and see
what happens, or try adding the environment variables to the local or
system account (guess) that your service is running as.

Same comment applies to the registry (I got bitten with this with the
registry - makes sense to me that the environment variables will be the
same).

Stephen
--
Stephen Kellett
Object Media Limited http://www.objmedia.demon.co.uk/software.html
Computer Consultancy, Software Development
Windows C++, Java, Assembler, Performance Analysis, Troubleshooting
Apr 21 '06 #2
>I am running into a strange problem. I have perl script which reads the
"APPDATA" environment variable, and does some work on that directory.

When I a launch this script from Command Prompt, it works perfectly fine,
however when the same script is launched from a DLL hosted in a particular
Service, the script fails to read the envrionment variable.

Does any one has any clue, whats going wrong ?


The most probably cause is that the service is running with LOCAL_SYSTEM or
LOCAL_SERVICE account credentials for which that variable is not defined.

To test this you can go to control panel ->administrative services ->
services.
open the properties window for your service, and change the logon
credentials from whatever they are to your own account credentials.

then stop and start the service. if it works then, it means that the
variable does not exist for the LOCAL_SYSTEM or SERVICE account.

--

Kind regards,
Bruno van Dooren
br**********************@hotmail.com
Remove only "_nos_pam"
Apr 21 '06 #3

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

2 posts views Thread by Sandman | last post: by
4 posts views Thread by Keith | last post: by
reply views Thread by Envex Developments | last post: by
reply views Thread by Envex Developments | last post: by
1 post views Thread by Rebles | last post: by
1 post views Thread by replysonika | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.