Shell Managers face with a problem
2001年02月25日 21:45
You can switch or replace your current shell with anothers by shell managers. As I know, there are many shell managers for Win32 as follows.
- Carapace (1.5c, now testing 2.x) by Pixol, is a relatively new and skinnable shell manager with some features that are useful for people who use multiple shells.
- LiteSpawn (1.80) by Glen Anderson aka katmai, seems to found an internal shell manager (ice.exe) in IceSphere shell. Some people introduce LiteSpawn as a recommended manager for LiteStep though it might be an old one and little hard to use for newbies especially in an uninstallation.
- ShellOn (2.2) by Michael Rhodes aka delusional, is also one of powerful shell manager with some features such as changing wallpapers or scripts.
- Snafkin (1.0 beta 453) by Ks, is supposedly the first shell manager for Win32 from Japan. Now it supports some of plugins for changing wallpapers, launching apps, and clearing the recycle bin.
- or, you can find anothers at Floach.pimpin.net (or Windows Shellist for Japanese).
Currently as I said we can find a problem what was called as “Explorer problem” named by ken, that Explorer.exe will execute as a shell even while another shell replacement has been launched when we set a value in HKEY_LOCAL_MACHINE\…\WinLogon\Shell as “Explorer.exe”. On the other hand, we will see Explorer.exe as a file manager at the startup even if we set Explorer.exe as a shell, when we set a value in HKEY_LOCAL_MACHINE\…\WinLogon\Shell as another shell replacement. So,
- HKLM\…\Shell=Explorer.exe + HKCU\…\Shell=Explorer.exe = No problem,
- HKLM\…\Shell=Explorer.exe + HKCU\…\Shell=ShellReplacement.exe = Explorer will launch as a shell on the shell replacement,
- HKLM\…\Shell=ShellReplacement.exe + HKCU\…\Shell=Explorer.exe = Explorer will not launch as a shell,
- HKLM\…\Shell=ShellReplacement.exe + HKCU\…\Shell=ShellReplacement.exe = No problem,
seems to be an annoying issue for users not being an administrator (or an account in the administrators group).
Some of people have provided ideas for resolving this problem. “How to specify a different shell per user” (I saw a similar webpage in the Knowledgebase at Microsoft though, hehe) points that we use a value in HKLM with the following mapping:
- HKLM\ … \CurrentVersion\IniFileMapping\system.ini\boot
- Shell = SYS:Microsoft\Windows NT\CurrentVersion\Winlogon
and if the above expression ‘SYS:’ is replaced with ‘USR:Software’, we get a value for the Shell entry as:
- USR:Software\Microsoft\Windows NT\CurrentVersion\Winlogon
or, you can read such workaround at brembs.net (but it must be unfair that he uses the logo of litestep.net with an expression “official blah blah…”). Thanks authours.
Now almost all shell managers have not support such method for enabling some of shells per user, and we have to logon as an administrator without specifing a value in HKCU (yes the problem will not arise when we logon only with a value in HKLM). But it appears to be insufficient for home users who have better to login as not being administrators. So, the above method must be expected for all managers in future.
AFTERWORDS: please be careful, the above method will not make any effect for Explorer.exe as a shell. Explorer.exe will not launch as a shell even if you make a change in HKLM\…\boot\Shell key (I have confirmed that)!
