Configurando permissões arquivos e pastas utilizando Inno Setup
Portanto, aquilo que eu aprendi para hoje?
Nos últimos dias, eu estava incomodado com esta limitações de um dos programas que nós criamos. O software não permite que os usuários que não têm adminisrative privilages de escrever, modificar e apagar arquivos e pastas na pasta Program Files. Em suma, somente o administrador ou alguns usuários limitados, têm que Admin privilages, pode usar o software. Isto é bastante aborrecido e impraticável para um software comercial como o que estamos fazendo.
Então, como faço para resolver este problema?
A minha primeira abordagem é a de saber se existe uma Borland C + + função que defina o arquivo e permissões após criar a pasta dela. Mas ela wasn'ta sucesso desde borland c + + só tem uma função para a determinação do arquivo atributos, se é só ler, hiden ou arquivo. Também pode alterar os atributos, mas fazendo essas coisas precisam adminitrative um nível privilages. Então, por isso, qualquer C + + funções não pode mudar as permissões que o usuário não seja um administrador.
A segunda abordagem é bem sucedida e as permissões para definir durante a instalação processo, e que só pode ser feito na criação de compilador, o Inno Setup. Inno setup é o mais popular compilador setup. Alguns afirmam que é melhor do que qualquer comercial set-up compiladores, mas a outra coisa importante sobre Inno Setup é que é gratuito e de código aberto. A saída do Inno Setup é um compilado instalação arquivo executável. A configuração do arquivo de instalação podem ser fixados ou modificar no código fonte. No caso do meu problema, permissões de arquivo pode ser definido usando o código a seguir:
[As Dir.]
Nome: "(app) \"; Permissões: todos-modificação
O referido código simplesmente significa que durante o processo de instalação, a pasta onde o arquivo executável e outros arquivos estão localizados, todos tem as permissões para criar novos arquivos já existentes ou modificar e apagar arquivos e subdiretórios. Assim fácil, não? Mas essa linha 2 código me levou 3 horas para aprender.
Arquivado em: Software











