zLauncher v2: Introducing “Thin Client Mode”
Written By Jacques Bensimon
When we premiered zLauncher in this post 3 months ago, I predicted that I probably wasn’t done with it and that more features might be coming. It seems I was right: zLauncher v2 adds a number of features, mostly convenience items and tweaks, plus one major new capability I’ll describe in this post: Thin Mode!
When Thin Mode is enabled (via ThinMode = Y in the [$Options] section of its INI file, as shown below), zLauncher becomes suitable for use as an alternative Windows shell, replacing Explorer.exe. This would be enforced via the “Custom User Interface“ user policy, and would typically be used to convert (for users targeted by the policy) a standard Windows machine into a “thin client” device designed only to access a corporate remote computing system such as Microsoft WVD, Citrix Virtual Apps & Desktops, VMWare Horizon, etc.
[$Options] HotZones = TBLR AllowEditINI = N Hotkeys = Y ShellItems = N ThinMode = Y ThinApp = C:\Program Files (x86)\Microsoft\Edge\Application\msedge.exe | https://portal.mycompany.org || Max ThinExit = Logoff
Specifically, with Thin Mode enabled, zLauncher behavior changes in the following four ways:
- If a non-empty ThinApp entry is specified (using the standard zLauncher launch item syntax, as above), that item will automatically be launched when zLauncher starts, and therefore immediately after logon if zLauncher is the shell. For “thin client” purposes, this auto-launch item would typically be either a pre-configured client application used to access the remote system (Microsoft Remote Desktop, Citrix Workspace, etc.), or as above a browser launch to a corporate portal from which remote sessions can be initiated.
- If a ThinExit entry specifies either Logoff (as above), Reboot (or Restart), or Shutdown (or Powerdown), the specified action will be performed if either the originally launched ThinApp item (if any) or zLauncher itself is closed or terminated. Any still running remote session(s) will typically be disconnected in that case. NOTE: If one of these “ThinExit” actions is specified, do NOT use a UWP/Metro app (such as the original Edge browser) as the auto-launch “ThinApp” – zLauncher cannot reliably track such apps and the specified exit action will therefore be performed immediately upon launching the app! In particular, if there’s any chance that the user’s default browser is (UWP) Edge, do not define ThinApp as a naked URL and instead specify an explicit browser, as above.
- Before launching any UWP app (if any are made available to users in zLauncher’s pop-up menu, for example the Settings app), zLauncher will check whether Explorer is currently running (a requirement to activate UWP apps) and if not, will first start a hidden instance of Explorer before launching the UWP app. This ability to launch UWP applets is typically missing from thin client shell replacements.
- Two additional zLauncher convenience hotkeys are made available, assuming the mouse has the extra “Browse Back” & “Browse Forward” side buttons: clicking them while pressing a Ctrl key will, respectively, minimize or restore the current window. This is most useful to minimize full-screen remote session windows when they’re obscuring something on the local desktop, maybe an applet launched via zLauncher. You may already know from the previous version that using these side buttons on their own displays the zLauncher pop-up menu or its context/options menu, respectively, as an alternative to using the zLauncher “hot zones”. [If you’re wondering why not offer more commonly available mouse button clicks or keyboard actions to perform these functions, it’s that auxiliary mouse button clicks are among the very few (if not only) user input events that aren’t intercepted by most full-screen remote sessions.]
As you can deduce from this list, If Thin Mode is enabled without specifying a “ThinApp” auto-launch item or a “ThinExit” action, only the last two items above will apply to zLauncher’s behavior, which you may find convenient for general use even when not using it as a shell replacement.
It should also be clear to the workstation administrators among you that, for use as a thin client shell, zLauncher will likely need to be combined with additional “lockdown” group policies to restrict possible user actions (thing like no Run access, limited Control Panel, etc.). Also, consider carefully what launch items to make available via zLauncher’s pop-up menu: device-related control panels & Settings would be typical for thin client use, but nothing stands in the way of making some locally installed apps available as well, maybe conferencing apps, like Teams, GoToMeeting, Zoom, WebEx, etc. You can make your client devices as “thin” or “thick” as you find necessary. And finally, consider also which zLauncher options to possibly disable via its INI file, things like INI editing, hotkeys, etc. Details are in the help file.
As always, new ideas for possible future versions of zLauncher are welcome. Please use the GitHub Page for any Feature Requests or Bug reports.
Follow Jacques Bensimon on Twitter @JacqBens for more great Windows insights and tricks.