TESTAR PERMISSÕES NA PASTA

MAXCIM 11/10/2014 16:21:24
#441871
Olá amigos tudo bem?

como vejo se o usuário tem permissão para gravar na pasta?
com o Windows 8 e 8.1 tenho problemas com as permissões de gravação na pasta do sistema, ao gerar alguns arquivos ,como remessa para banco ou até XML das NFe, o sistema informa que fora criado com sucesso, mas ver o conteúdo da pasta esta vazio, ao fazer um teste rodando como ADM, criou normalmente.
precisava de algum código que testasse as permissões e caso negativo emitir um aviso e solicitar novo local para gravar, ai o usuário indica meus documentos ou pasta ao seu gosto.


desde já agradeço
OCELOT 11/10/2014 22:05:02
#441873
Resposta escolhida
Você não deveria gravar nada na pasta do programa, não apenas quando não conseguir gravar, desde o Windows Vista com o UAC os usuários não tem permissão de gravação dentro de pastas de sistema se o programa não for executado como administrador.

O correto é você salvar em alguma outra posta, como na pasta de documentos no caso de arquivos em que o usuário deve ter acesso fácil ou no AppData em caso de arquivos que devem ser usados apenas pelo seu programa, em todo caso o ideal é criar uma pasta sua dentro de uma dessas pastas.

Você pode pegar o caminho das pastas usando o Environment.GetFolderPath(SpecialFolder)
MAXCIM 12/10/2014 15:03:56
#441878
entendo Ocelote,
tenho enfrentado muitos problemas com isso, gravar um simples arquivo . INI na pasta do sistema tem sido muito complicado.
enquanto eu não mudo todo o projeto, há como eu testar as permissão e em caso negativo, alterar que deva rodar como ADM ou solicitar novo local de gravação.
Tópico encerrado , respostas não são mais permitidas