Como instalar um programa para que ele possa ser lançado na inicialização com direitos de administrador no Windows Vista / 7

StackOverflow https://stackoverflow.com/questions/3323639

  •  28-09-2020
  •  | 
  •  

Pergunta

Eu li como fazer isso com um serviço, mas eu quero saber se é possível com um aplicativo simples. Eu estou usando c #.

Obrigado

Foi útil?

Solução

Não é possível.A experiência mais próxima que você poderia ter seria criar um serviço para funcionar elevado e um aplicativo WinForms que é executado sem elevação e é apenas uma front end para o serviço.Você tem que ter cuidado, porém, você pode causar preocupações de segurança se não hesitar se desravessamente.

Outras dicas

Você não pode.A única outra maneira de correr elevada sem o consentimento do usuário é como uma tarefa agendada.

Windows não executará um aplicativo elevado na inicialização porque não deseja solicitar um milhão de aplicativos de inicialização.Tecnicamente, você pode contornar isso escrevendo um lançador simples que Shellexecute é seu aplicativo real, mas isso vai solicitar a inicialização e é bastante irritante.A melhor abordagem que os outros disseram é mover as tarefas que você precisa de privilégios administrativos para um serviço e manter as coisas da interface do usuário separadas.

Eu encorajo você a ler um post no Blog da equipe da UAC sobre por que os aplicativos de inicialização estão bloqueados de exigir elevação .Uma coisa a considerar: exigir que a elevação impede completamente os usuários padrão usando seu aplicativo.

A Orientação Oficial: Seu programa de inicialização não deve exigir elevação.Para ser honesto, estou tendo dificuldade em imaginar um cenário onde você poderia legitimamente exigir elevação em um aplicativo de inicialização.Você poderia fornecer mais detalhes sobre por que você precisa de elevação?

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top