Я установил службу с помощью wix-installer:
<ServiceInstall Id="si11" DisplayName="abcsyncservice" Description="abcsyncservice" Name="abcsyncservice" Start="auto" Type="ownProcess" Vital="no" ErrorControl="normal">
<util:PermissionEx
User="Everyone"
GenericAll="yes"
ServiceChangeConfig="yes"
ServiceEnumerateDependents="yes"
ChangePermission="yes"
ServiceInterrogate="yes"
ServicePauseContinue="yes"
ServiceQueryConfig="yes"
ServiceQueryStatus="yes"
ServiceStart="yes"
ServiceStop="yes" />
</ServiceInstall>
При попытке перезапустить службу из приложения Python:
try:
win32serviceutil.RestartService(constants.SERVICE_NAME)
except Exception as ee:
print_log("Restart of service failed" + repr(ee), traceback=ee,
level=constants.LEVEL_ERROR, delay=False)
Я получаю следующую ошибку:
error(5, 'OpenSCManager', 'Access is denied.')
Как перезапустить службу, не сталкиваясь с ошибками привилегий? Я открыт для установки службы с такими разрешениями и пробовал использовать util:PermissionEx
. Мы заранее не знаем конкретного пользователя, который будет перезапускать службу. Это может быть любой пользователь.