Quais variáveis de ambiente principais devem ser definidas para um serviço do Windows?

1

Ao usar um gerenciador de serviços como srvany ou nssm para executar um programa normal como um serviço, você pode definir o ambiente do programa usando o registro conforme documentado aqui: link . Ao fazer isso, você precisa definir todas as variáveis de ambiente, não apenas as que deseja alterar. O artigo da Microsoft diz: "Certifique-se de incluir todas as entradas principais, como PATH, TEMP, OS e assim por diante." O que exatamente está incluído em "e assim por diante" e existe uma referência definitiva para essa informação?

    
por MicahStetson 20.11.2013 / 06:27

1 resposta

2

Não há uma lista concreta de exatamente quais variáveis de ambiente você precisa definir. A resposta é simplesmente todas as variáveis de ambiente que seu aplicativo / serviço estará usando. Isso varia dependendo do aplicativo. O aplicativo específico pode usar apenas TEMP ou pode não precisar de nenhuma variável de ambiente. Ou pode usar _NT_SYMBOL_PATH e irá falhar se essa variável de ambiente não for encontrada! Não há como saber sem conhecer sua inscrição.

Se você digitar set na linha de comando, você receberá uma lista de suas variáveis de ambiente atuais, o que é uma boa lista para começar.

Editar: Se você quiser ver quais variáveis de ambiente seus serviços atuais do Windows estão usando como exemplo, digite isso no Powershell 3:

$(Get-Process svchost)[0].StartInfo.EnvironmentVariables
    
por 20.11.2013 / 15:19