Thanks for your quick response.
I double checked my code, I made mistake when paste code to the post, but not in my original code.
I tried your keys, it works for me either. I tried many different keys, all works but all keys under "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Updates", including several keys like:"HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Updates/UpdateExeVolatile", no space in it; "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Updates/Windows Server 2003". I don't know why...I refreshed and didn't work. Apparently it's not related to the white space.

Last time I run on Windows7 and can't access the "HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft", I forget to mention in that post I had resolved after running the cmd.exe as administrator. That does have difference on Windows7 system. For Win7 I have to run something as administrator, otherwise reading some part in reg may be denied though I do login as administrator.

This time I'm running on windows 2003 server. I just tried it on Win7 with administrator, but I'm still refused to access the keys under the "Updates", just the same as on win2003.

As far as I remember, Windows started "virtualising" filesystem and registry access with Vista / 2003 Server, depending on flags in the EXE header, WOW64, user privileges, and perhaps some other factors. I.e. things are not were you see or search them, some code by Microsoft rewrites the filesystem and registry paths. It's all documented somewhere at microsoft.com, good luck searching ... :-(

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)