Why / how are registry entries hidden in Regedit but visible in PowerShell?
I am working with a new property schema and am used to checking the registry when registering or unregistering a new version. One of the main places to test this is HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\PROPERTYSYSTEM\PROPERTYSCHEMA
.
Interestingly, I sometimes lose access to this Regedit registration place. I can see this (note the lack of PropertySchema):
I know the schemas are still registered because I can use the prop.exe tool and the propschema SDK sample app to describe them. The properties are available in Windows Explorer and Search.
Also, I can use PowerShell to enumerate the contents of this hive:
C:\Users\carlton> cd hklm:
HKLM:\>
C:\Users\carlton> cd hklm:
HKLM:\> cd SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\PROPERTYSYSTEM\PROPERTYSCHEMA
HKLM:\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\PROPERTYSYSTEM\PROPERTYSCHEMA> dir
Hive: HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\PROPERTYSYSTEM\PROPERTYSCHEMA
Name Property
---- --------
0000 (default) : C:\Program Files\Internet Explorer\ie9props.propdesc
SchemaId : {D9B5ABA1-5E8A-4902-B6A1-50B3C0311C2E}
URI : ie9props.propdesc
CompactURI : 5376bae4b39f43768806afcb6b8ff5464bf9c989d1a819c6e6d99ba1e8ce2512
0001 (default) : C:\Program Files\Microsoft Office\Office14\Custom.propdesc
SchemaId : {537AAAB1-1D85-48DC-A99E-16EB8C309FE5}
URI : custom.propdesc
CompactURI : 2e3be58e5cbbc0da093956b46a3905f11cf0f5bbf11987a8619e25f7261ee8be
0002 (default) : C:\apps\MSOffice\Office14\VisioCustom.propdesc
SchemaId : {18503526-0466-4942-AC6E-41C1D380EABA}
URI : visiocustom.propdesc
...
Anyway, I don't understand how this happens, and if I should be worried about it. Exporting this key from a colleague machine and re-importing it may temporarily help as it will show keys in Regedit that were hidden / missing (even if they were not on my colleague machine).
I am a member of the Administrators group running Windows 7 SP1.
source to share
Harry Johnston's intuition was correct. I have restarted regedit from the command line with an outline c:\windows\regedit
and I will take another look at what I was expecting under HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\PropertySystem\PropertySchema
. I could've sworn it didn't show either, but now it works apparently.
I confirmed this by exporting the parent key (PropertySystem) from 64bit and 32bit regedit and doing Beyond Compare. The propdesc files truly don't exist in the 32-bit version.
See 32-bit and 64-bit Application Data in the Registry (MSDN)
source to share