Al parecer solucione el problema de la siguente forma.
[/CODE]
public SetupGame(string nameGame)
{
configuracion = new gameConfig(false);
// Creacion de las claves de registro
llaveRegistro = Registry.CurrentUser;
GRGroup = (llaveRegistro.OpenSubKey("Software",true)).CreateSubKey("GuyaniGames");
FMCZ = GRGroup.CreateSubKey(nameGame);
juegoConfig = FMCZ.CreateSubKey("Configuracion");
juegoConfig.OpenSubKey("Configuracion",true);
configuracion.VolSonido = System.Convert.ToInt32(juegoConfig.GetValue("Volumen de Sonido",this.configuracion.VolSonido));
configuracion.VolMusica = System.Convert.ToInt32(juegoConfig.GetValue("Volumen de Musica",this.configuracion.VolMusica));
}
Este codigo ta bueno ya que al revisar con REGEDIT las claves fueron creadas.
Aqui esta la falla!!!
public void SaveSetup()
{
juegoConfig.SetValue("Volumen de Sonido",(Int32)configuracion.VolSonido);
juegoConfig.SetValue("Volumen de Musica",(Int32)configuracion.VolMusica);
}
[CODE]
El detalle es que hay que volver a abrir todas las claves y subclaves (al salir del ambito del primer metodo se cierran todas las claves
!yo no sabia eso¡) para poder escribir un valor.