locked
Shell launcher component RRS feed

  • Question

  • Hi,

    I`ve some problems using the "shell launcher" component. If I use this component in my ICE configuration and apply the configuration to my device, everything is working as expected.

    When I create a master image by ICE - without the shell launcher component and applying the configuration to my device, I get a running WES8 system. After that I install some additional applications and so on to my system. Then I start the sysprep process (sysprep /generalize /audit /shutdown /unattend:c:\slave.xml). My "slave.xml" configuration file includes the shell launcher component. After starting the system again, all installation steps from the audit phase will be proceed. Then I run the second sysprep command (sysprep /oobe /shutdown /unattend:c:\slave.xml). The slave.xml file includes only these two FirstLogonCommands (uwfmgr.exe filter enable & restart system to enable write filter)

    After starting the system again, the write filter will be active but I always get the explorer-shell instead of my custom shell. My slave.xml file includes the shell launcher component but it seems to me that it will not be executed by the system.

    How can I acchieve that the shell launcher component will be executed by the oobe phase?

    best regards

    Bernd

    Wednesday, September 4, 2013 2:06 PM

Answers

  • Are you just wanting a command prompt as your shell?  That is what I am making...here is how I do it.

    1) Shell launcher in main project

    2) Launch in audit mode and make regular configurations as needed (in the command prompt shell environment)

    3) sysprep /oobe /generalize /shutdown /unattend:c:\myunattendfile.xml

     

    The unattend has just the uwfmgr enabling.  Upon startup, it runs through a couple of autoinstalls I put in the main project and then drops to the command prompt.



    • Edited by Kamin of Ressik Wednesday, September 4, 2013 3:16 PM
    • Marked as answer by bsu Wednesday, September 11, 2013 7:24 AM
    Wednesday, September 4, 2013 3:14 PM
  • Sysprep unattended file cannot be used to add new modules to the image. On boot after sysprep, the image goes through Passes 4 and 7, it doesn't go through Pass 2 again. You need to have the shell launcher in the image and configured so that you can run Sysprep with the unattended file. If it means using different shell, you can switch the temporary shell out later. In the unattended file, you can use a sync command to change the shell via registry key or PowerShell.

    www.annabooks.com / www.seanliming.com / Book Author - Pro Guide to WE8S, Pro Guide to WES 7, Pro Guide to POS for .NET

    • Proposed as answer by Sean LimingMVP Thursday, September 5, 2013 4:04 PM
    • Marked as answer by bsu Wednesday, September 11, 2013 7:24 AM
    Wednesday, September 4, 2013 4:25 PM

All replies

  • Are you just wanting a command prompt as your shell?  That is what I am making...here is how I do it.

    1) Shell launcher in main project

    2) Launch in audit mode and make regular configurations as needed (in the command prompt shell environment)

    3) sysprep /oobe /generalize /shutdown /unattend:c:\myunattendfile.xml

     

    The unattend has just the uwfmgr enabling.  Upon startup, it runs through a couple of autoinstalls I put in the main project and then drops to the command prompt.



    • Edited by Kamin of Ressik Wednesday, September 4, 2013 3:16 PM
    • Marked as answer by bsu Wednesday, September 11, 2013 7:24 AM
    Wednesday, September 4, 2013 3:14 PM
  • Sysprep unattended file cannot be used to add new modules to the image. On boot after sysprep, the image goes through Passes 4 and 7, it doesn't go through Pass 2 again. You need to have the shell launcher in the image and configured so that you can run Sysprep with the unattended file. If it means using different shell, you can switch the temporary shell out later. In the unattended file, you can use a sync command to change the shell via registry key or PowerShell.

    www.annabooks.com / www.seanliming.com / Book Author - Pro Guide to WE8S, Pro Guide to WES 7, Pro Guide to POS for .NET

    • Proposed as answer by Sean LimingMVP Thursday, September 5, 2013 4:04 PM
    • Marked as answer by bsu Wednesday, September 11, 2013 7:24 AM
    Wednesday, September 4, 2013 4:25 PM
  • I`ve included the shell launcher in the image and set the shell to "explorer.exe". In my unattended file, I use a sync command (in the oobe phase) to change the shell to my application via registry key. The application starts on every system start.

    I use the following synchronouscommand:

    reg add "HKLM\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" /v Shell /d "%Systemdrive%\Program Files (x86)\MyTest.exe" /f

    Is this command correct or is there a better way to proceed this step?

    But do you know which registry path I have to use to change the "DefaultReturnCodeAction" to 2? So that if I close the application the whole system will shut down.


    • Edited by bsu Thursday, September 5, 2013 4:25 PM update
    Thursday, September 5, 2013 2:35 PM
  •  The key you are changing is correct for normal Windows, but Shell Launcher uses a different key than the standard Windows Shell key. I don't know what it is.

    www.annabooks.com / www.seanliming.com / Book Author - Pro Guide to WE8S, Pro Guide to WES 7, Pro Guide to POS for .NET


    Friday, September 6, 2013 5:00 PM
  •  The key you are changing is correct for normal Windows, but Shell Launcher uses a different key than the standard Windows Shell key. I don't know what it is.

    www.annabooks.com / www.seanliming.com / Book Author - Pro Guide to WE8S, Pro Guide to WES 7, Pro Guide to POS for .NET

    ok, that means I have to include the shell launcher component into my "starting" image and I also have to configurate this component - especially with my starting application or shell.  

    In your post above you wrote that I can switch the temporary shell out later? Which sync command do I have to use to change the shell without affecting all the other shell launcher configuration parameters like the DefaultReturnCodeAction? 

    It would be great if it is possible to create a first image with the explorer shell -> make some changes to the image by installing applications and drivers -> generate another image by sysprep to get to audit mode (either with the explorer shell again or with my specific application) and in the last step (sysprep /oobe) I will change the shell to my application so that the user will get a kiosk application without the explorer shell

    Friday, September 6, 2013 5:33 PM
  • You could use Embedded Lockdown Manager to setup the shells, or export PowerShell script from ELM and just run the PowerShell Script after you have configured everything with Explorer.exe

    www.annabooks.com / www.seanliming.com / Book Author - Pro Guide to WE8S, Pro Guide to WES 7, Pro Guide to POS for .NET

    Wednesday, September 11, 2013 10:02 PM