diff --git a/main.c b/main.c index 0436cb1..0ee6f9a 100644 --- a/main.c +++ b/main.c @@ -28,6 +28,7 @@ #endif #include +#include #include #include #include @@ -263,7 +264,7 @@ int WINAPI _tWinMain (HINSTANCE hThisInstance, exit(1); } - if (!IsUserAdmin() && strtod(o.ovpn_version, NULL) > 2.3 && !o.silent_connection) + if ((!IsUserAdmin() || IsWindows7OrGreater()) && strtod(o.ovpn_version, NULL) > 2.3 && !o.silent_connection) CheckIServiceStatus(TRUE); BuildFileList(); diff --git a/openvpn.c b/openvpn.c index 533befd..9e23680 100644 --- a/openvpn.c +++ b/openvpn.c @@ -27,6 +27,7 @@ #include #include +#include #include #include #include @@ -1937,7 +1938,7 @@ StartOpenVPN(connection_t *c) (o.proxy_source != config ? _T("--management-query-proxy ") : _T(""))); /* Try to open the service pipe */ - if (!IsUserAdmin() && InitServiceIO (&c->iserv)) + if ((!IsUserAdmin() || IsWindows7OrGreater()) && InitServiceIO (&c->iserv)) { DWORD size = _tcslen(c->config_dir) + _tcslen(options) + sizeof(c->manage.password) + 3; TCHAR startup_info[1024];