We've successfully implemented the zapp launcher as shell for a couple of users with a GPO containing zapp-launcher as shell.
Only problem is that whenever that user logs out or reboots, the next user that logs in (although admin or poweruser) will still see the zapp as shell.
Things i've tried:
* create a bundle for the zapp-user which runs on logout that resets the registry key back to Explorer.exe
* create a gpo for admin/powerusers that sets the registry key for explorer.exe on login

The ideal scenario would be that the zapp-user logs in and has the zapp-launcher as shell, but whenever he logs out and a "normal" user logs in, the shell would just be explorer.exe...
client is 17.3