Problemas de Permissão no Registry
olá Pessoal
o problema é o seguinte..
tenho um sistema q é utilizado em empresas com Win 2003 Server e estações Win XP.
nas estações para realizar a instalação do setup do sistema o admin tem q se logar e rodar o mesmo, ja q usuarios comuns ñ conseguem rodar os executáveis.
esse setup por usa vez grava valores do no registro (Registry) que depois o meu programa terá que acessar para verificar algumas informações.
só que o problema é que os usuarios comuns que estão logados não tem permissão para acessar o registry, consequentemente o meu sistema tb não. Então acontece erro no meu programa pq ele não tem permissão pra acessar.
então voce teria lguma sugestão pra esse problema ?????
obs.:
utilizo o Inno Setup pra montar o instalador e Delphi7-Firebird1.5
abaixo o código de come acesso o registry
function Caminho_Dp : String;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(´\Software\MyProg\Path´, false) then
begin
Result := Reg.ReadString(´Dp´);
end;
end;
abraço
Diogo
o problema é o seguinte..
tenho um sistema q é utilizado em empresas com Win 2003 Server e estações Win XP.
nas estações para realizar a instalação do setup do sistema o admin tem q se logar e rodar o mesmo, ja q usuarios comuns ñ conseguem rodar os executáveis.
esse setup por usa vez grava valores do no registro (Registry) que depois o meu programa terá que acessar para verificar algumas informações.
só que o problema é que os usuarios comuns que estão logados não tem permissão para acessar o registry, consequentemente o meu sistema tb não. Então acontece erro no meu programa pq ele não tem permissão pra acessar.
então voce teria lguma sugestão pra esse problema ?????
obs.:
utilizo o Inno Setup pra montar o instalador e Delphi7-Firebird1.5
abaixo o código de come acesso o registry
function Caminho_Dp : String;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(´\Software\MyProg\Path´, false) then
begin
Result := Reg.ReadString(´Dp´);
end;
end;
abraço
Diogo
Diogoalles
Curtidas 0
Respostas
Geno
23/03/2004
olá Pessoal
o problema é o seguinte..
tenho um sistema q é utilizado em empresas com Win 2003 Server e estações Win XP.
nas estações para realizar a instalação do setup do sistema o admin tem q se logar e rodar o mesmo, ja q usuarios comuns ñ conseguem rodar os executáveis.
esse setup por usa vez grava valores do no registro (Registry) que depois o meu programa terá que acessar para verificar algumas informações.
só que o problema é que os usuarios comuns que estão logados não tem permissão para acessar o registry, consequentemente o meu sistema tb não. Então acontece erro no meu programa pq ele não tem permissão pra acessar.
então voce teria lguma sugestão pra esse problema ?????
obs.:
utilizo o Inno Setup pra montar o instalador e Delphi7-Firebird1.5
abaixo o código de come acesso o registry
function Caminho_Dp : String;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKey(´\Software\MyProg\Path´, false) then
begin
Result := Reg.ReadString(´Dp´);
end;
end;
abraço
Diogo
Ao inves do OpenKey, use o OpenKeyReadOnly:
function Caminho_Dp : String;
var
Reg : TRegistry;
begin
Reg := TRegistry.Create;
Reg.RootKey := HKEY_LOCAL_MACHINE;
if Reg.OpenKeyReadOnly(´\Software\MyProg\Path´) then
begin
Result := Reg.ReadString(´Dp´);
end;
end;
GOSTEI 0