![]() |
![]() | ![]() | ![]() | ![]() | ![]() | ![]() | ![]() |
| Welcome to Windows Vista Forums. Our forum is dedicated to helping you find solutions with any problems, errors or issues you are experiencing with Windows Vista. The Vista forum also covers news and updates and has an extensive Windows Vista tutorial section that covers a wide range of tips and tricks. |
| |||||||
![]() |
| |
| | #1 (permalink) |
| | CTP3 Registry provider: incorrect location info for keys with '/' After these commands on my machine: Quote: > Set-Location HKCU:\Software\Far\PluginHotkeys > Get-ChildItem Plugins/Brackets/Brackets.dll Plugins/DrawLine/DrawLine.dll Plugins/EditCase/EditCase.dll .... Now let's step into one of this keys with funny names: Quote: > Set-Location Plugins/Brackets/Brackets.dll changed. But Get-Location shows incorrect paths where relevant '/' are replaced with '\': Quote: > Get-Location | Format-List Provider : Microsoft.PowerShell.Core\Registry ProviderPath : HKEY_CURRENT_USER\Software\Far\PluginHotkeys\Plugins \Brackets\Brackets.dll Path : HKCU:\Software\Far\PluginHotkeys\Plugins\Brackets \Brackets.dll Both paths shows not existing or different location (the latter case is quite nasty). Expected result should have two '/' instead of two last '\' in both ProviderPath and Path. ===== I recently posted this as a bug: https://connect.microsoft.com/feedba...9657&SiteID=99 And got the answer: Closed (By Design): The registry provider treats them as identical, and the provider infrastructure normalizes paths as you navigate. ===== Well, I do not really mind, but I just do not understand the answer. Can anybody help me to understand what they mean? Do they mean that paths HKCU:\Software\Far\PluginHotkeys\Plugins\Brackets\Brackets.dll HKCU:\Software\Far\PluginHotkeys\Plugins/Brackets/Brackets.dll are identical for registry? If yes, it still looks wrong to me. The first path points to the last key "Brackets.dll", the second to the last key "Plugins/Brackets/Brackets.dll" What am I missing? |
My System Specs![]() |
| | #2 (permalink) |
| | Re: CTP3 Registry provider: incorrect location info for keys with '/' in fact backslash is not the same as foreward slash. You can use foreward slash ( / ) in key names but backslash ( \ ) is recognized as subkeys separator. I confirm your report. "Roman Kuzmin" <nightroman@xxxxxx> rakstija zinojuma "news:4dcf50a8-65db-4f60-bdb4-91f39a7a0e98@xxxxxx"... Quote: > After these commands on my machine: Quote: >> Set-Location HKCU:\Software\Far\PluginHotkeys >> Get-ChildItem > I can see a bunch of keys with '/' in their names: > > Plugins/Brackets/Brackets.dll > Plugins/DrawLine/DrawLine.dll > Plugins/EditCase/EditCase.dll > ... > > Now let's step into one of this keys with funny names: > Quote: >> Set-Location Plugins/Brackets/Brackets.dll > It works, more or less, at least the current location is really > changed. But Get-Location shows incorrect paths where relevant '/' are > replaced with '\': > Quote: >> Get-Location | Format-List > Drive : HKCU > Provider : Microsoft.PowerShell.Core\Registry > ProviderPath : HKEY_CURRENT_USER\Software\Far\PluginHotkeys\Plugins > \Brackets\Brackets.dll > Path : HKCU:\Software\Far\PluginHotkeys\Plugins\Brackets > \Brackets.dll > > Both paths shows not existing or different location (the latter case > is quite nasty). > > Expected result should have two '/' instead of two last '\' in both > ProviderPath and Path. > > ===== > I recently posted this as a bug: > https://connect.microsoft.com/feedba...9657&SiteID=99 > > And got the answer: Closed (By Design): The registry provider treats > them as identical, and the provider infrastructure normalizes paths as > you navigate. > ===== > > Well, I do not really mind, but I just do not understand the answer. > Can anybody help me to understand what they mean? > > Do they mean that paths > > HKCU:\Software\Far\PluginHotkeys\Plugins\Brackets\Brackets.dll > HKCU:\Software\Far\PluginHotkeys\Plugins/Brackets/Brackets.dll > > are identical for registry? If yes, it still looks wrong to me. The > first path points to the last key "Brackets.dll", the second to the > last key "Plugins/Brackets/Brackets.dll" > > What am I missing? |
My System Specs![]() |
| | #3 (permalink) |
| | Re: CTP3 Registry provider: incorrect location info for keys with '/' Something is definitely wrong with '/' in registry names. Yet another example: Import this file test.reg into the registry: Windows Registry Editor Version 5.00 [HKEY_CURRENT_USER\a1] [HKEY_CURRENT_USER\a1\foo] [HKEY_CURRENT_USER\a1\foo\bar] [HKEY_CURRENT_USER\a1\foo/bar] Run regedit.exe and see what keys and paths we actually have there. Key a1 contains two child keys "foo" and "foo/bar". Now try to use PowerShell: 0> cd hkcu:\a1 0> ls Hive: HKEY_CURRENT_USER\a1 SKC VC Name Property --- -- ---- -------- 1 0 foo {} Hive: HKEY_CURRENT_USER\a1\foo SKC VC Name Property --- -- ---- -------- 0 0 bar {} So it shows two items with names "foo" and "bar". This is just wrong. |
My System Specs![]() |
| | #4 (permalink) |
| | Re: CTP3 Registry provider: incorrect location info for keys with '/' Yes, I tryied this way. PowerShell Registry Provider recognize all slashes as key-subkey separator (as FileSystem Provider. But we can't create a file or folder with any slash in name and it works as expected). However, how I mentioned, Registry allow foreward slashes in key or subkeys name. Therefore I think that bug exist. "Roman Kuzmin" <nightroman@xxxxxx> rakstija zinojuma "news:000debdc-9903-4c25-ad31-05beb7ce1e06@xxxxxx"... Quote: > Something is definitely wrong with '/' in registry names. Yet another > example: > > Import this file test.reg into the registry: > > Windows Registry Editor Version 5.00 > [HKEY_CURRENT_USER\a1] > [HKEY_CURRENT_USER\a1\foo] > [HKEY_CURRENT_USER\a1\foo\bar] > [HKEY_CURRENT_USER\a1\foo/bar] > > Run regedit.exe and see what keys and paths we actually have there. > Key a1 contains two child keys "foo" and "foo/bar". > > Now try to use PowerShell: > 0> cd hkcu:\a1 > 0> ls > > Hive: HKEY_CURRENT_USER\a1 > SKC VC Name Property > --- -- ---- -------- > 1 0 foo {} > Hive: HKEY_CURRENT_USER\a1\foo > SKC VC Name Property > --- -- ---- -------- > 0 0 bar {} > > So it shows two items with names "foo" and "bar". This is just wrong. |
My System Specs![]() |
![]() |
| Thread Tools | |
| |
Similar Threads | ||||
| Thread | Forum | |||
| Registry Keys for Controlling Provider Security | PowerShell | |||
| Incorrect Recipient Column Info | Live Mail | |||
| WinNT provider and CTP3 | PowerShell | |||
| How do I operate on (default) property of Registry provider? | PowerShell | |||
| Info: Powershell provider for Visual Source safe. Anyone have one? | PowerShell | |||