файл не найден при запуске службы - PullRequest
0 голосов
/ 01 ноября 2011

У меня проблема в Windows 7, которая, вероятно, связана с тем, как Windows обрабатывает пользовательские файлы в определенных местах на диске.Я использую общий ресурс, чтобы скопировать файл на удаленный компьютер.Затем я добавляю этот файл в качестве службы.проблема в том, что scm не видит файл ... он дает мне файл not found error.Существуют ли разрешения, которые я могу установить после копирования файла в общую папку?

HSCM = OpenSCManager(hostname.c_str(), SERVICES_ACTIVE_DATABASE, GENERIC_READ | SC_MANAGER_CREATE_SERVICE | SERVICE_START);

wstring remote_file_location = L"\\\\" + *hostname + L"\\admin$\\system32\\" + Service::GetServiceName() + L".exe";

CopyFile(&local_file_location[0], &remote_file_location[0], false)

SC_HANDLE h_service = CreateService(HSCM, servicename.c_str(), servicename.c_str(), SC_MANAGER_CREATE_SERVICE, SERVICE_WIN32_OWN_PROCESS, SERVICE_DEMAND_START, SERVICE_ERROR_IGNORE, (L"%SYSTEMROOT%\\system32\\" + servicename + L".exe").c_str(), NULL, NULL, NULL, NULL, NULL);

1 Ответ

0 голосов
/ 03 ноября 2011

Хранение файла в каталоге% systemroot% решило эту проблему.Файл теперь доступен всем пользователям.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...