Da der Quellcode an sich nicht falsch ist (syntaktisch, meine ich - von der Umsetzung ist er katastrophal), vermute ich, dass dir die Rechte zum Schreiben in
HKLM fehlen.
Passiert bei Windows NT, 2000 und XP recht häufig. Aber das wurde durchaus schon mehrfach angesprochen. Wird nur gern überlesen.