Uma possibilidade, embora exija programação, seria escrever um serviço do sistema (rodando com todos os privilégios requeridos, e configurado para iniciar manualmente), e dar os direitos a um grupo específico para iniciar e parar este serviço (isto é simples, consulte Como faço para conceder permissões de início / parada / reinicialização em um serviço a um usuário ou grupo arbitrário em um servidor que não seja membro do domínio? , você pode usar, por exemplo, o Service Security Editor ou o Process Hacker para editar a ACL.
Os usuários não precisariam de nenhum privilégio: o serviço faria as desconexões / alterações de compartilhamento necessárias no início e reverteria para a configuração normal ao parar. Quando seu aplicativo tiver que ser atualizado, o usuário que fizer isso só terá que iniciar o serviço antes da atualização e pará-lo depois. A propósito, esse tipo de solução é usado por alguns softwares, por exemplo, para permitir que todos os atualizem (veja, por exemplo, o Serviço de Manutenção da Mozilla ).