A lot of quoting from openvpn sites
Code:
Running OpenVPN as a Windows Service
When OpenVPN runs as a service it will start a separate OpenVPN process for each configuration file it finds in the \Program Files\OpenVPN\config directory and will output a logfile of the same name to the \Program Files\OpenVPN\log directory.
When installed as a service, OpenVPN will default to manual start mode. You can go to the "Services" control panel in Control Panel -> Administrative Tools to start the service or to set it to Automatic Start mode.
A sample config file has been provided in \Program Files\OpenVPN\config\sample.ovpn.txt which can be adapted to your needs.
Service Notes:
When you install OpenVPN as a service, you are actually installing openvpnserv.exe which is a service wrapper for OpenVPN, i.e. it reads the config file directory and starts up a separate OpenVPN process for each config file. openvpnserv.exe performs the same function under windows as the /etc/init.d/openvpn startup script does under linux.
When you stop the OpenVPN service, it will send a terminate signal to all OpenVPN processes which were started by it.
If the OpenVPN service wrapper (openvpnserv.exe) encounters fatal errors, it will write them to the windows event log, which can be viewed in Control Panel -> Administrative Tools -> Event Viewer -> Application Log.
If the OpenVPN processes themselves encounter errors, they will write them to their respective log files in the log file directory.
There is a one-to-one correspondence between an OpenVPN process, an OpenVPN config file, an OpenVPN log file, and a TAP-Win32 adapter which represents an endpoint of a VPN tunnel.
OpenVPN tunnels are point-to-point in their simplest form, but can be made point-to-multi-point through the use of bridging or routing (see below).
Multiple OpenVPN processes can run concurrently, each on a different TAP-Win32 adapter.
openvpn.exe gets all configuration information from its config file, not from the registry.
The openvpnserv.exe program (the service wrapper) gets several string parameters from the registry which can be modified by the user. If you change any of these parameters, you should be able to upgrade OpenVPN to a new version without the installer overwriting your changes:
HKEY_LOCAL_MACHINE\SOFTWARE\OpenVPN
config_dir
configuration file directory to scan, defaults to "\Program Files\OpenVPN\config"
config_ext
file extension on configuration files, defaults to "ovpn"
exe_path
path to openvpn.exe, defaults to "\Program Files\OpenVPN\bin\openvpn.exe"
log_dir
log file directory, defaults to "\Program Files\OpenVPN\log"
log_append
if set to "1", multiple instantiations of an OpenVPN process will append onto the same log file, if set to "0" (default), each new instantiation will truncate the previous log file
priority
the windows priority class for each instantiated OpenVPN process, can be one of:
"IDLE_PRIORITY_CLASS"
"BELOW_NORMAL_PRIORITY_CLASS"
"NORMAL_PRIORITY_CLASS" (default)
"ABOVE_NORMAL_PRIORITY_CLASS"
"HIGH_PRIORITY_CLASS"
When OpenVPN runs as a service it will start a separate OpenVPN process for each configuration file it finds in the \Program Files\OpenVPN\config directory and will output a logfile of the same name to the \Program Files\OpenVPN\log directory.
When installed as a service, OpenVPN will default to manual start mode. You can go to the "Services" control panel in Control Panel -> Administrative Tools to start the service or to set it to Automatic Start mode.
A sample config file has been provided in \Program Files\OpenVPN\config\sample.ovpn.txt which can be adapted to your needs.
Service Notes:
When you install OpenVPN as a service, you are actually installing openvpnserv.exe which is a service wrapper for OpenVPN, i.e. it reads the config file directory and starts up a separate OpenVPN process for each config file. openvpnserv.exe performs the same function under windows as the /etc/init.d/openvpn startup script does under linux.
When you stop the OpenVPN service, it will send a terminate signal to all OpenVPN processes which were started by it.
If the OpenVPN service wrapper (openvpnserv.exe) encounters fatal errors, it will write them to the windows event log, which can be viewed in Control Panel -> Administrative Tools -> Event Viewer -> Application Log.
If the OpenVPN processes themselves encounter errors, they will write them to their respective log files in the log file directory.
There is a one-to-one correspondence between an OpenVPN process, an OpenVPN config file, an OpenVPN log file, and a TAP-Win32 adapter which represents an endpoint of a VPN tunnel.
OpenVPN tunnels are point-to-point in their simplest form, but can be made point-to-multi-point through the use of bridging or routing (see below).
Multiple OpenVPN processes can run concurrently, each on a different TAP-Win32 adapter.
openvpn.exe gets all configuration information from its config file, not from the registry.
The openvpnserv.exe program (the service wrapper) gets several string parameters from the registry which can be modified by the user. If you change any of these parameters, you should be able to upgrade OpenVPN to a new version without the installer overwriting your changes:
HKEY_LOCAL_MACHINE\SOFTWARE\OpenVPN
config_dir
configuration file directory to scan, defaults to "\Program Files\OpenVPN\config"
config_ext
file extension on configuration files, defaults to "ovpn"
exe_path
path to openvpn.exe, defaults to "\Program Files\OpenVPN\bin\openvpn.exe"
log_dir
log file directory, defaults to "\Program Files\OpenVPN\log"
log_append
if set to "1", multiple instantiations of an OpenVPN process will append onto the same log file, if set to "0" (default), each new instantiation will truncate the previous log file
priority
the windows priority class for each instantiated OpenVPN process, can be one of:
"IDLE_PRIORITY_CLASS"
"BELOW_NORMAL_PRIORITY_CLASS"
"NORMAL_PRIORITY_CLASS" (default)
"ABOVE_NORMAL_PRIORITY_CLASS"
"HIGH_PRIORITY_CLASS"
I read that.
I know how to start it as a service.
When I start the service it does not connect.
I assume this is because it does not prompt for a un/pw when one is needed to connect
I would like to know if this information can be included in the config file.
Am I being unclear with my question?



