Maneira correta de lidar com o UAC em c #

Eu tenho um aplicativo (serviço Windows) instalado em um diretório na pasta Arquivos de Programa. Junto com esse aplicativo, há outro aplicativo WinForms usado para configurar o serviço (entre outras coisas). Quando faz a configuração, salva as alterações em um arquivo de configuração que fica ao lado do serviço.

Ao rodar no Vista / Win7, o UAC impede que o usuário salve no arquivo de configuração. O que eu gostaria de fazer é:

coloque o ícone de escudo ao lado do item de menu usado para configurarsolicitar permissões de UAC quando esse item for escolhidosó mostra o ícone / prompt quando em um sistema operacional que exigemostre apenas o ícone / prompt quando as permissões forem necessárias (por exemplo, se o aplicativo estiver instalado em algum lugar que não exija permissão do UAC)

Eu realmente não quero executar o aplicativo inteiro como administrador, pois ele também é usado para outros fins que não exigem permissões de UAC (portanto, definir um arquivo de manifesto do aplicativo não é a solução correta). Também estou assumindo (corrija-me se estiver errado) que, uma vez que as permissões do UAC tenham sido concedidas, meu processo existente não possa executar a ação e que precisarei iniciar um novo processo.

Como posso conseguir isso da melhor maneira?

questionAnswers(2)

yourAnswerToTheQuestion