Using Shell Launcher, you can configure a device that runs an application as the user interface, replacing the default shell (explorer.exe). In Shell Launcher v1, available in Windows client, you can only specify a Windows desktop application as the replacement shell. In Shell Launcher v2, available in Windows 10 version 1809+ / Windows 11, you can also specify a UWP app as the replacement shell. To use Shell Launcher v2 in Windows 10 version 1809, you need to install the KB4551853 update.
You can apply a custom shell through Shell Launcher by using PowerShell. Starting with Windows 10 version 1803+, you can also use mobile device management (MDM) to apply a custom shell through Shell Launcher.
Shell Launcher doesn't support a custom shell with an application that launches a different process and exits. For example, you cannot specify write.exe in Shell Launcher. Shell Launcher launches a custom shell and monitors the process to identify when the custom shell exits. Write.exe creates a 32-bit wordpad.exe process and exits. Because Shell Launcher is not aware of the newly created wordpad.exe process, Shell Launcher will take action based on the exit code of Write.exe, such as restarting the custom shell.
For Shell Launcher v2, you can use UWP app type for Shell by specifying the v2 namespace, and use v2:AppType to specify the type, as shown in the following example. If v2:AppType is not specified, it implies the shell is Win32 app.
In the XML for Shell Launcher v2, note the AllAppsFullScreen attribute. When set to True, Shell Launcher will run every app in full screen, or maximized for desktop apps. When this attribute is set to False or not set, only the custom shell app runs in full screen; other apps launched by the user will run in windowed mode.
To configure these action with Shell Launcher CSP, use below syntax in the shell launcher configuration xml. You can specify at most 4 custom actions mapping to 4 exit codes, and one default action for all other exit codes. When app exits and if the exit code is not found in the custom action mapping, or there is no default action defined, it will be no-op, i.e. nothing happens. So it's recommended to at least define DefaultAction. Get XML examples for different Shell Launcher v2 configurations.
It's the candy shell that makes Skittles work so well as a frozen treat. When you put the candy in your mouth, that shell crackles like Pop Rocks. If that's a sensation you don't enjoy, you're dead inside.
dd2b598166