in reply to Re^2: Perl script to EXE to Windows Service
in thread Perl script to EXE to Windows Service

use
a) the registry
b) a .ini-file located in the directory where the .exe is. you can get the path to the .exe by calling PerlSvc::exe()

Replies are listed 'Best First'.
Re^4: Perl script to EXE to Windows Service
by aquarium (Curate) on Dec 31, 2004 at 10:28 UTC
    or even supply it as a parameter to the service, i.e. "Start Parameters" when you show service properties. Supply a "reasonable" default when the service installs, or even ask for the parameter during installation
    the hardest line to type correctly is: stty erase ^H
      well, using the "registry", and ini file, or the "Start Parameters" is going to be an adventure for me as I have no idea how to go about using these to replicate what I was doing in a normal script.

      I started off with all the config params (about 40 of them -- some more stable than the others -- that is, some with more predictable values, while others that might need to be changed relatively frequently by the users of the program).

      Then I migrated the config params to a conf file that I read in with my own home grown method.

      Then I converted to using Config::Simple that brings in the params in a nice hash.

      Now, I am converting my script to an exe and that to a service. Afaiunderstand, everything in a service has to be hard- and long- coded because the service is running as a Local System account and needs to know exactly where to find what. That, and fact that I don't understand when exactly does the service read in the config params -- at the time that it is installed, or at the time that it is started -- creates problems.

      I would like the administrator of the service to be able to stop the service, change a param or two in some place convenient such as an external conf file, and restart the service with the new values. What how?

      Thanks to everyone.