However, when I used it to secure subscriber connections for a wireless ISP, I encountered a major shortcoming of the standard Windows Service supplied by the OpenVPN project: It doesn’t work well for laptops, due to lack of Sleep/Resume support.
To address this shortcoming, I ended up writing my own implementation of an NT Service for OpenVPN. It has proper Sleep/Resume event support, logs to the Windows Event Log, stores tunnel configuration within the Windows Registry and includes a simple administrative GUI for service and tunnel configuration. You can also reuse service and tunnel functionality in your own Microsoft .NET Application, as all core functions are contained within a DLL.
Niston Cloud’s OpenVPN Service for Windows is released under a MIT license and you can download the source code from openvpnwinsvc.codeplex.com. The Service does NOT include the OpenVPN application! You can obtain this from the OpenVPN community download page.