PDA

Ver la Versión Completa : Error al escribir en el Registro en Windows Vista


Ana María
16-09-2008, 14:45:54
Cordial saludo, tengo una aplicación hecha en Delphi (BDS 2006) que corre perfecto en Windows Xp, pero en Windows Vista me saca un error:

Esto ocurre cuando intento escribir en el registro:

Procedure Escribir( AKey, AVal: String );
Var
Reg: TRegistry;
sKey, sPath, sValue: String;
Handled: Boolean;
Begin
sPath:='5C534F4654574152455C436C61737365735C434C5349445C';
sKey:=AKey;
sValue:=AVal;
Handled:=False;

If Not Handled Then
Begin
Reg := TRegistry.Create;
Try
If FRegistryRootKey = rkCurrentUser Then
Reg.RootKey := HKEY_CURRENT_USER Else
Reg.RootKey := HKEY_LOCAL_MACHINE;

Reg.OpenKey( sPath, True );
Reg.WriteString( sKey, sValue );
Finally
Reg.CloseKey;
Reg.Free;
End;
End;
End;

//Llamada al procedimiento


Escribir( 'MiClave', 'Mivalor' );// <--- Aqui falla en windows vista

// Este es el error
// 'Incapaz de escribir en MiClave'; //'Unable to write to MiClave';

Muchas gracias por su tiempo y ayuda.

Saludos

Crandel
16-09-2008, 15:21:18
En windows vista necesitas permiso de administrador para poder escribir en HKEY_LOCAL_MACHINE

.

Neftali [Germán.Estévez]
16-09-2008, 15:41:54
...tengo una aplicación hecha en Delphi (BDS 2006) que corre perfecto en Windows Xp, pero en Windows Vista me saca un error

Apuesto unas cevezas a lo que ya te han dicho; Tema de permisos.

Para hacer la prueba rápida, ejecuta la aplicación pulsando click derecho sobre ella y con los permisos de administrador a ver si desaparece el error.

egostar
16-09-2008, 15:55:37
Yo he dicho en otros hilos acerca del problema con la llamada gran seguridad de Windows Vista.

A pesar de tener derechos de administrador el 'maldito' UAC (Control de Cuentas de Usuarios) sobrepasa esos derechos y los baja para que no se acceda a ciertos archivos, directorios y demás cosas que pueden ser perjudiciales para el sistema operativo.

Todo se soluciona deshabilitando el UAC, y puedes deshabilitarlo en el Panel de Control, Cuentas de Usuario, aqui puedes ver una imagen acerca de eso.

http://www.sneath.org/tim/uac.png

Por otro lado, me pregunto si en realidad te funciona al grabar tu clave en HKEY_LOCAL_MACHINE, ya que no veo que estés incluyendo la clave SOFTWARE y si quieres escribir en la raiz de HKEY_LOCAL_MACHINE no te lo va a permitir.

Salud OS

Ana María
16-09-2008, 16:35:13
Gracias a todos por sus respuestas.

Tan solo despues de "postear'' la pregunta me encontré con esta solución: de cHacKall (http://www.clubdelphi.com/trucos/index.php?id=463) donde explica con claridad que hacer. Aunque no he probado esta solución espero que funcione.

Saludos