What is Shell Launcher?
Shell Launcher is a Windows feature that you can use to replace the default Windows Explorer shell (Explorer.exe
) with a Windows desktop application or a Universal Windows Platform (UWP) app.
Practical examples include:
- Public browsing
- Interactive digital signage
- ATMs
Shell Launcher controls which application the user sees as the shell after sign-in. It doesn't prevent the user from accessing other desktop applications and system components. From a custom shell, you can launch secondary views displayed on multiple monitors, or launch other apps in full screen on user's demand.
With Shell Launcher, you can use features and methods to control access to other applications or system components. These methods include, but aren't limited to:
- Configuration Service Provider (CSP): you can use a Mobile Device Management (MDM) solution like Microsoft Intune
- Group policy (GPO)
- AppLocker
Shell Launcher is part of the Assigned Access feature, which allows you to configure kiosks or restricted user experiences. To learn about the differences between Shell Launcher and the other options offered by Assigned Access, see Windows kiosks and restricted user experiences.
Windows edition requirements
The following table lists the Windows editions that support Shell Launcher:
Edition | Shell Launcher support |
---|---|
Education | ✅ |
Enterprise | ✅ |
Enterprise LTSC | ✅ |
IoT Enterprise | ✅ |
IoT Enterprise LTSC | ✅ |
Pro Education | ❌ |
Pro | ❌ |
Limitations
Here are some limitations to consider when using Shell Launcher:
- Windows doesn't support setting a custom shell before the out-of-box experience (OOBE). If you do, you can't deploy the resulting image
- Shell Launcher doesn't support a custom shell with an application that launches a different process and exits. For example, you can't 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-bitwordpad.exe
process and exits. Since Shell Launcher isn't aware of the newly createdwordpad.exe
process, Shell Launcher takes action based on the exit code ofWrite.exe
, such as restarting the custom shell
Configure a device with Shell Launcher
The configuration of Shell Launcher is done using an XML file. The XML file is applied to the device via the Assigned Access CSP, using one of the following options:
- A Mobile Device Management (MDM) solution, like Microsoft Intune
- Provisioning packages
- The MDM Bridge WMI Provider
To learn how to configure the Shell Launcher XML file, see Create a Shell Launcher configuration file.
The following instructions provide details about how to configure your devices. Select the option that best suits your needs.
You can configure devices using a custom policy with the AssignedAccess CSP.
- Setting:
./Vendor/MSFT/AssignedAccess/ShellLauncher
- Value: content of the XML configuration file
Assign the policy to a group that contains as members the devices that you want to configure.
Tip
For practical examples, see the Quickstart: configure a kiosk experience with Shell Launcher.
User experience
After the settings are applied, the users that are configured to use Shell Launcher will execute the custom shell after sign-in.
Depending on your configuration, you can have a user to automatically sign in to the device.
Next steps
Learn how to configure the Shell Launcher XML file: