How to run an application as shell replacement on Windows 10 Enterprise How to run an application as shell replacement on Windows 10 Enterprise powershell powershell

How to run an application as shell replacement on Windows 10 Enterprise


I had the same problem right now. And yes, Microsoft has changed the way to do a shell replacement. You can install and use the Embedded Shell Launcher to customize windows as you like it for kiosk mode. But this is only available for Enterprise and Education.

If you don't want to buy the Enterprise version you can use the already known registry locations in HKCU and HKLM. https://msdn.microsoft.com/en-us/library/ms838576(v=WinEmbedded.5).aspx

But wait, oh no since Windows 10 it is only possible to use Microsoft signed applications, so your normal .net application isn't started and the screen keeps being black after login. But we've figured out a workaround.

Just use a Batch-File as bootstrapping. If you set the registry keys you like to a Batch-File and the Batch-File starts the real application, then it works like a charm.

@echo offecho Bootstrapping, please wait ...start /b "Bootstrap" "C:\vmwatcher\VMViewClientWatcher.exe"


Have you tried changing the users shell?

https://msdn.microsoft.com/en-us/library/ms838576(v=WinEmbedded.5).aspx

There are a few registry keys you need to set. First one enables the ability to give the user a unique shell, the second one defines the executable that starts instead of explorer.


I wanted to do something similar, and I borrowed heavily from other answers, but none of them were a complete working answer for me. Here's what I ended up doing.

  1. Create a new user account
  2. Setup the following vbs script (largely inspired by this thread) to launch the shell application and name it something like "launch.vbs"
set oShell=createobject("wscript.shell") sCmd="d:\launchbox\launchbox.exe" oShell.run sCmd,,true 'true forces it to wait for process to finish sCmd="shutdown /r /t 0" oShell.run sCmd
  1. Login as the new user

  2. Run regedit

  3. Add a new string value named Shell to HKEY_Current_User\Software\Microsoft\Windows NT\CurrentVersion\Winlogon with a value of the command that you need to run to execute your script:

wscript d:\launchbox\launch.vbs
  1. Logoff and log back on as the user to see it in action