Pergunta

Estou criando um programa que será instalado usando o projeto instalador .net.O programa grava os arquivos de configurações em seu diretório no diretório Arquivos de Programas.Ele acredita que existem algumas configurações do diretório ativo que impedirão que o aplicativo acesse esse diretório se um usuário limitado estiver executando o programa.É possível alterar as configurações da pasta do aplicativo durante a instalação para que isso não seja um problema?

Foi útil?

Solução

Escrever na pasta Arquivos de Programas é uma péssima idéia; você deve assumir que esse local é "somente leitura" depois de instalado.

Salvar as configurações do usuário em Arquivos de Programas causa problemas se mais de duas pessoas usarem o computador ao mesmo tempo (por exemplo,Serviços de Terminal) cujas configurações devem ser salvas, você deseja que outros usuários conheçam 'suas' configurações?O que acontece se o seu programa gravar configurações no arquivo como usuário A, mas o usuário B não puder editar o arquivo?O usuário B pode ter acesso ao diretório, mas não pode ler/excluir o arquivo de preferências, pois ele pertence ao usuário A.

Os programas Win9x herdados geralmente gravam na pasta de arquivos de programas. O Windows Vista, na verdade, faz alguns truques interessantes para permitir que esses programas funcionem.Quando o seu programa grava um arquivo, o Vista o coloca em outro lugar que só é acessível a esse usuário.O mesmo é feito para gravações de registro no HKLM (ou pelo menos foi o que descobri após horas de depuração ...) e o Server 2008 faz a mesma coisa.

Se você precisar salvar as configurações do usuário, a melhor alternativa seria salvar as configurações na pasta Application Data (variável de ambiente% APPDATA%)

Se as configurações abrangerem todo o sistema, o usuário administrativo deverá defini-las após a instalação ou na primeira execução e elas não deverão poder ser substituídas por usuários limitados.

Então, para responder à sua pergunta - SIM, existe uma maneira de fazer o que você pediu.Mas é uma má ideia, é insegura e provavelmente causará problemas no longo prazo.

Outras dicas

Você pode escrever uma classe de instalador personalizada que pode alterar as permissões de segurança da pasta.Isso pressupõe que a instalação seja feita por um usuário que tenha permissão para alterar a segurança de arquivos/diretórios.

A melhor opção é não gravar em diretórios em Arquivos de Programas.

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