Não consigo entender

Delphi

18/07/2005

Caros colegas, peguei um programa q ao ser instalado ele criava uma pasta com as informações na chave HKEY_CURRENT_USER e tbm no arquivo system.ini o problema era q só o usuário q estava logado no momento da instalação podia ter acesso ao software, então eu alterei o instalador p/q as informações fossem criadas na pasta HKEY_LOCAL_MACHINE. Na proteção do software é verificado se as informações da chave do registro e do system.ini estão corretas caso não estejam a aplicação não é inicializada. Qdo executo o software com o usuario q foi feita a instalação, funciona perfeitamente agora com outro usuário não roda. Não deveria funcionar???


Fabiano_aprendiz

Fabiano_aprendiz

Curtidas 0

Respostas

Rjun

Rjun

18/07/2005

Você tem certeza que ele está registrando as informações no local machine?


GOSTEI 0
Fabiano_aprendiz

Fabiano_aprendiz

18/07/2005

absoluta, pois ao executar o regedit eu consigo visualizar as chaves.


GOSTEI 0
Rjun

Rjun

18/07/2005

Talvez ele esteja tentando ler no current user.


GOSTEI 0
Massuda

Massuda

18/07/2005

...Qdo executo o software com o usuario q foi feita a instalação, funciona perfeitamente agora com outro usuário não roda. Não deveria funcionar???
Imagino que o usuário que fez a instalação é administrador da máquina enquanto o que está dando problema não é.

Acho pode ser um problema de permissão existente no Delphi. Nas rotinas que [b:0c1fc27f72]lêem[/b:0c1fc27f72] o Registro do Windows, faça algo assim...
var
  Reg: TRegistry;
...
  Reg := TRegistry.Create(KEY_READ);
  // ou faça assim
  //  Reg := TRegistry.Create;
  //  Reg.Access := KEY_READ;
...
...isso reduz as permissões que o objeto irá solicitar ao Windows (o default é KEY_ALL_ACCESS).


GOSTEI 0
Fabiano_aprendiz

Fabiano_aprendiz

18/07/2005

Funcionou!!Mais uma vz agradeço a todos(em especial Massuda), suas dicas tem me ajudado bastante.
[]´s.


GOSTEI 0
POSTAR