|
@@ -53,6 +53,8 @@ std::string InstallService(PSTR pszServiceName,
|
|
|
char szPathTmp[MAX_PATH],szPath[MAX_PATH];
|
|
|
SC_HANDLE schSCManager = NULL;
|
|
|
SC_HANDLE schService = NULL;
|
|
|
+ SERVICE_DESCRIPTION sd;
|
|
|
+ LPTSTR szDesc = TEXT("ZeroTier network virtualization service.");
|
|
|
|
|
|
if (GetModuleFileName(NULL, szPathTmp, ARRAYSIZE(szPath)) == 0)
|
|
|
{
|
|
@@ -77,7 +79,7 @@ std::string InstallService(PSTR pszServiceName,
|
|
|
schSCManager, // SCManager database
|
|
|
pszServiceName, // Name of service
|
|
|
pszDisplayName, // Name to display
|
|
|
- SERVICE_QUERY_STATUS, // Desired access
|
|
|
+ SERVICE_ALL_ACCESS, // Desired access
|
|
|
SERVICE_WIN32_OWN_PROCESS, // Service type
|
|
|
dwStartType, // Service start type
|
|
|
SERVICE_ERROR_NORMAL, // Error control type
|
|
@@ -94,6 +96,9 @@ std::string InstallService(PSTR pszServiceName,
|
|
|
goto Cleanup;
|
|
|
}
|
|
|
|
|
|
+ // Setup service description
|
|
|
+ sd.lpDescription = szDesc;
|
|
|
+ ChangeServiceConfig2(schService, SERVICE_CONFIG_DESCRIPTION, &sd);
|
|
|
Cleanup:
|
|
|
// Centralized cleanup for all allocated resources.
|
|
|
if (schSCManager)
|