
Vejo muitos tópicos aqui sobre como um software pode ser programado para solicitar privilégios de administrador no Windows, mas no meu caso tenho um instalador de software que roda com privilégios de administrador e, ao final da instalação, deve executar outro processo com privilégios limitados (como o usuário logado). Tanto o instalador quanto o software instalado foram criados por mim usando Delphi.
Estou pesquisando sobre esse assunto o dia todo e parece ser uma tarefa muito difícil de realizar apenas com linguagem de programação. Minha dúvida é se existe algum comando do Windows que eu possa usar para "chamar" o executável com privilégios inferiores ou talvez uma configuração de manifesto que eu possa incorporar ao software instalado para evitar que ele seja executado com privilégios de administrador. Bem, qualquer ideia é bem-vinda!
Obrigado!
Responder1
Eu tentei todas as soluções apontadas nopergunta semelhante, sem sucesso. Minha solução alternativa foi usar otarefascomando dentro de um arquivo BAT para agendar uma tarefa do Windows, execute-a e exclua-a na sequência.
Primeiro eu crio uma tarefa manualmente usando o Agendador de Tarefas e a exporto para um arquivo XML (clique com o botão direito > Exportar).
Depois de criar um arquivo BAT para fazer o trabalho com base no arquivo XML:
schtasks /create /tn "TempTask" /xml "c:\temp.xml"
schtasks /run /tn "TempTask"
schtasks /delete /f /tn "TempTask"
Espero que ajude outras pessoas com o mesmo problema! Obrigado!