Pergunta

Estou fazendo algum desenvolvimento de Winforms, executando o XP e o VS 2005 (antigo, eu sei). Gostaria de garantir que meu aplicativo possa ser executado sem direitos de administrador, mas estou com preguiça de tentar executar o VS como não admin e não quero fazer login e sair para testar meu aplicativo.

Existe uma maneira de depurar como não admin?

Existe um conjunto de atributos de segurança de acesso ao código que eu posso adicionar ao meu código que me forçará a executar a mesma permissão definida como um não administrador?

Foi útil?

Solução

Execute o VS como outro usuário da sua sessão de desktop registrada atual. Ver Como ativar e usar o comando "Run como" ao executar programas no Windows. Isso significa que você não terá que fazer login e sair.

Eu sugeriria que você apenas execute seu aplicativo de destino como outro usuário, via Runas e depois anexe o depurador VS ao processo (se necessário), por meio da depuração> Anexar no processo ... Item de menu no Visual Studio.

Outras dicas

Com base na resposta de Phil, você pode automatizar o processo definindo o projeto de inicialização para:

Inicie o programa externo: c:\windows\system32\runas.exe

com os argumentos da linha de comando: /noprofile /user:{MachineName}\{UserName} {ApplicationName}.exe

Infelizmente, não acho que exista uma maneira automática de anexar o processo ao depurador VS (por causa do aviso de segurança), mas chamando condicionalmente chamando

#if (DEBUG) 
    System.Diagnostics.Debugger.Launch();
#endif

Você será solicitado a anexar a um depurador com dois cliques.

Abordando isso com uma mudança mais fundamental:

Se você permitir que seu computador permita sessões de desktop remotas simultâneas (Vista, XP, use o Google para outras pessoas) e inicie uma sessão de desktop remota para 127.0.0.2, você pode ser executado como um usuário completamente diferente do seu sistema local, permitindo que você faça o que quiser sem precisar alternar entre os usuários.

Para mim, normalmente executo como usuário não administrativo, mas inicio uma sessão de desktop remota como administrador sempre que precisar executar uma tarefa administrativa. Mas você pode fazer o contrário com a mesma facilidade.

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