locked
Explorer shell and Shell Launcher? RRS feed

  • Question

  • Hello,

    I am trying to create a WES7SP1 image with two different shells for two different users accounts using "Command Prompt Shell with Custom Shell Support" feature pack. This feature pack is needed because one of the shells should automatically restart if it is closed or if it crashes.

    All the settings regarding Shell launcher in the following registry keys are still set to default values:

    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
    [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows Embedded]

    First user account:

    In the first user account I want to use a custom application as shell. I used the following registry settings:

    Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded]
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\CurrentVersion]
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF]
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF\Shell Launcher]
    "Shell"="customshell.exe"
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF\Shell Launcher\AllOtherReturnCodeAction]
    "Action"=dword:00000000
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF\Shell Launcher\CustomReturnCodeAction]
    "Action"=dword:00000000
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF\Shell Launcher\CustomReturnCodeAction\ReturnCodes]
    "ReturnCodes"=hex(7):30,00,00,00,00,00

    It seems that everything works fine for the first user. The application runs as shell and restarts automatically if you close the application or if it crashes.

    Second user account:

    In the second user account I want to use explorer.exe as shell because this account needs normal desktop with full desktop functionality (start menu, taskbar, ...).

    I tried to use the following registry settings:

    Windows Registry Editor Version 5.00
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded]
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\CurrentVersion]
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF]
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF\Shell Launcher]
    "Shell"="explorer.exe"
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF\Shell Launcher\AllOtherReturnCodeAction]
    "Action"=dword:00000000
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF\Shell Launcher\CustomReturnCodeAction]
    "Action"=dword:00000000
    
    [HKEY_CURRENT_USER\SOFTWARE\Microsoft\Windows Embedded\EEF\Shell Launcher\CustomReturnCodeAction\ReturnCodes]
    "ReturnCodes"=hex(7):30,00,00,00,00,00

    The problem is that unlike my customshell explorer.exe does not run as shell, because start menu, taskbar, and so on are not visible. Furthermore explorer.exe is started over and over again until the system runs out of memory.

    Do you have any ideas how I can setup explorer.exe as shell for my second user account?

    Thanks in advance.

    • Edited by GB ZDFPS Friday, February 10, 2012 11:03 AM
    Friday, February 10, 2012 11:01 AM

Answers

  • There is a set of registry keys that make the shell launcher the shell to the system. The keys that you are referring only deal with shell launcher. You have to go one more level down for individual user account shells. There is an old article called Different Shells for Different Users: http://msdn.microsoft.com/en-us/library/ms838576.aspx. A more update version is in my book.

    -Sean


    www.sjjmicro.com / www.seanliming.com / www.annabooks.com, Book Author - Pro Guide to WES 7, XP Embedded Advanced, Pro Guide to POS for .NET

    • Marked as answer by GB ZDFPS Thursday, February 16, 2012 8:45 AM
    Friday, February 10, 2012 4:54 PM

All replies

  • There is a set of registry keys that make the shell launcher the shell to the system. The keys that you are referring only deal with shell launcher. You have to go one more level down for individual user account shells. There is an old article called Different Shells for Different Users: http://msdn.microsoft.com/en-us/library/ms838576.aspx. A more update version is in my book.

    -Sean


    www.sjjmicro.com / www.seanliming.com / www.annabooks.com, Book Author - Pro Guide to WES 7, XP Embedded Advanced, Pro Guide to POS for .NET

    • Marked as answer by GB ZDFPS Thursday, February 16, 2012 8:45 AM
    Friday, February 10, 2012 4:54 PM
  • There is a set of registry keys that make the shell launcher the shell to the system. The keys that you are referring only deal with shell launcher. You have to go one more level down for individual user account shells. There is an old article called Different Shells for Different Users: http://msdn.microsoft.com/en-us/library/ms838576.aspx. A more update version is in my book.

    -Sean


    www.sjjmicro.com / www.seanliming.com / www.annabooks.com, Book Author - Pro Guide to WES 7, XP Embedded Advanced, Pro Guide to POS for .NET


    What does more updated version mean? - other methode or did you added some pictures? ;)

    I never tried the described but did you resolve all dependencies of explorer shell?

    Windows Embedded Developer and Scripting Guy //Germany

    Friday, February 10, 2012 4:59 PM
  • With these settings everything seems to work fine:
    Key: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows NT\CurrentVersion\IniFileMapping\system.ini\boot\Shell
    Value: USR:Microsoft\Windows NT\CurrentVersion\Winlogon
    Thank you!
    Thursday, February 16, 2012 8:45 AM