servicio script restablecimiento reiniciar para iniciar impresion forzar detener desde cómo windows-services installer inno-setup

windows services - script - ¿Cómo reiniciar el servicio utilizando el símbolo del sistema?



restablecimiento de red windows 7 (6)

Quiero reiniciar el servicio de Windows usando el símbolo del sistema en la sección [Icons] usando Inno Setup. Por favor ayudame a resolver el problema.


Este es mi código, para iniciar / detener un servicio de Windows usando el comando SC . Si el servicio no se inicia / detiene, imprimirá una información de registro. Puedes probarlo por Inno Setup.

{ start a service } Exec(ExpandConstant(''{cmd}''), ''/C sc start ServiceName'', '''', SW_HIDE, ewWaitUntilTerminated, ResultCode); Log(''sc start ServiceName:''+SysErrorMessage(ResultCode));

{ stop a service } Exec(ExpandConstant(''{cmd}''), ''/C sc stop ServiceName'', '''', SW_HIDE, ewWaitUntilTerminated, ResultCode); Log(''sc stop ServiceName:''+SysErrorMessage(ResultCode));


Para reiniciar un servicio en ejecución:

net stop "service name" && net start "service name"

Sin embargo, si no sabe si el servicio se está ejecutando en primer lugar y desea reiniciarlo o iniciarlo, use esto:

net stop "service name" & net start "service name"

Esto funciona si el servicio ya se está ejecutando o no.

Para referencia, aquí está la documentation sobre los símbolos de procesamiento condicional.


Puede iniciar y detener y consultar servicios utilizando el comando SC . En cuanto a innosetup no estoy seguro.


Puede usar sc start [service] para iniciar un servicio y sc stop [service] para detenerlo. Con algunos servicios net start [service] está haciendo lo mismo.

Pero si desea usarlo en el mismo lote, tenga en cuenta que sc stop no esperará a que se detenga el servicio. En este caso, debe usar net stop [service] seguido de net start [service] . Esto se ejecutará de forma síncrona.


Puedes crear un archivo .bat con el siguiente contenido:

net stop "my service name" net start "my service name"


net.exe stop "servicename" && net.exe start "servicename"