For the last 3 years, we’ve been deploying Keyman 13.0.100 successfully in our Windows environment via Microsoft ConfigMgr (SCCM). My installation script deploys the software silently via MSI, and then proceeds to run
kmshell.exe -i -s [keyboard].kmp
This has worked great. Keyman installs and keyboards install for all users (and all future users who log in).
I just got a request to add a second keyboard, so I thought I’d take the time to repackage my application and update it at the same time. Using the same scripts I used before, I modified it for the current version of Keyman, 15.0.271, and included both keyboards. I then run two lines of kmshell.exe to install each keyboard. At the end of the installation though, the keyboards don’t seem to be fully installed, or are half installed. If I open Keyman Configuration and under Keyboard Layouts, click the two keyboards (which show up here, but not my keyboard switcher in the Taskbar), I see that they don’t have languages, but the keyboard shows as installed. There’s just the “Languages:” header to the left, and then an “Add language” button. If I uninstall the keyboard via the interface and reinstall it, a language appears, and it appears properly in the Taskbar keyboard switcher.
I took the 15.0.271 installer out and swapped it with the 13.0.100 installer, and it worked properly. I figured there must have been some sort of change to the application deployments, so I did some searching and came across this very helpful post by Marc, which cleared things up…partially.
This seems to be the piece I was missing for Keyman 14 and up:
kmshell -s -ikl KeyboardID BCP47Tag
The problem is making this work for all users, including the Default Profile (so future users who log in have the keyboard). Is there any way to tell this to apply to everyone on the system? If this isn’t possible with kmshell, are there any registry keys I can set manually to accomplish the same thing (this I can do for each user in my script)? Otherwise, I’m thinking my solution is to keep using Keyman 13.
Any ideas would be greatly appreciated!