我正在使用新的屬性架構,並且在註冊或取消註冊新版本時一直習慣於檢查註冊表。其中一個主要檢查點是HKEY_LOCAL_MACHINE\SOFTWARE\MICROSOFT\WINDOWS\CURRENTVERSION\PROPERTYSYSTEM\PROPERTYSCHEMA
。註冊表項爲什麼/如何註冊表項在Regedit中隱藏但在PowerShell中可見?
有趣的是,我偶爾會失去對Regedit中此註冊表位置的訪問權限。我看到這個(注意PropertySchema的缺席):
我知道模式仍然是註冊的,因爲我可以使用prop.exe工具和propschema SDK示例應用程序來描述它們。這些屬性在Windows資源管理器和搜索中可用。
另外,我可以使用PowerShell列出此配置單元的內容:
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
...
反正,我不明白這是如何發生的,我是否應該擔心它。從同事的機器導出此密鑰並重新導入它可以暫時提供幫助,因爲它會在Regedit中顯示隱藏/丟失的密鑰(即使它們不在我的同事的機器上)。
我在管理員組中運行Windows 7 SP1。
也許你不經意間運行的是註冊表編輯器或PowerShell的的32位版本? 32位應用程序和64位應用程序具有不同的註冊表視圖。 –
@HarryJohnston在我的機器上,'c:\ windows \ regedit.exe'是64位的。 'C:\ Windows \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe'也是64位的。 也可能值得注意的是,我通常使用SysInternals的regjump在Regedit內部導航,但它使用活動的Regedit實例。 –
如果您使用regjump並且沒有活動的regedit實例,會發生什麼情況?新實例是64位還是32位? –