29

How to delete a custom keyboard layout in Windows?

If the keyboard layout was installed using a Windows installer, you would normally uninstall it using its entry in the Add/Remove Programs dialog.

The custom keyboard layout I want to delete was installed using a Windows installer (.msi). Due to an installer problem, it does not have an entry in the Add/Remove Programs dialog. However, it appears in the keyboard drop-down list in the Keyboard And Language Options dialog. I want to remove it from this list since this particular layout has some problems.

If you are curious how this happened: I was playing around with the Microsoft Keyboard Layout Creator tool. I created an installer for my custom keyboard layout and some things got screwed up over multiple install-uninstall testing sessions of this layout.

1
  • 1
    @user2284570 - Stop.Just Stop. Your edit adds irrelvant tags.
    – Ramhound
    Jun 18, 2015 at 11:20

5 Answers 5

30

do you still have the .msi? Perhaps you can run it with msiexec /u? Or re-install it again?

Basically, it should be impossible that a .msi does not create an uninstall entry (and will not be rolled back when you try to install any other .msi). If you removed the uninstall entry manually, you can still uninstall it via msiexec /u, but you will need to find the installer GUID for that (which can be hard to find if you have a lot of stuff installed...)

If that fails: The entries themselves are in the registry at HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Keyboard Layouts, so you can at least remove the entry for your layout (if not uninstall the .dll and stuff).

4
  • 2
    Thanks, I was able to delete it by finding it in the above Registry location. :-) Aug 29, 2009 at 1:50
  • Thanks for this answer. I needed that! The command line thingy would be msiexec /u (filename).msi right? That didn't do anything for me - no error messages, nothing got uninstalled etc - so I had to do it the hard way too. Oh well.
    – Mr Lister
    Aug 19, 2012 at 18:34
  • 1
    seems that some Windows Installer versions prefer msiexec /x (filename).msi instead. But you should at least get an error message.
    – mihi
    Aug 20, 2012 at 17:25
  • In my case after uninstalling a custom keyboard layout on Windows 10 the registry key was not deleted even though the .dll file it was pointing to was deleted. Cleaning up the registry key solved the issue.
    – shlgug
    Jul 29, 2019 at 12:29
12

I have done the exact same thing once, if you can't uninstall with the msi follow this:

  1. Note the same of the .dll you installed with the msi
  2. Search it on the local drive and delete the occurrence in sys32
  3. Open the registry editor and go to HKLM\System\CurrentControlSet\Control\Keyboard Layouts
  4. Browse all the sub-folders until you find the one that reference your custom dll
  5. Delete the sub-folder
  6. Reboot the machine

After that you're clean, you can reinstall the updated version of your layout with the same dll name without any conflicting issues.

2

Gotcha.

That'd be a registry key under HKLM\System\CurrentControlSet\Control\Keyboard Layouts.

Since it is a custom layout, you'll have to go through all subfolders to find it.

Note: Prudence demands to create a backup (right click > export) before you delete the folder from the registry. :)

2

Go to the setup directory ((Drive):\Users\(Username)\Documents\(Layout Name (like US-PS))\setup.exe): Open the setup. It'll have 2 options,just select the first one ("Remove Keyboard Layout"),wait until it's uninstalled and you'll have it removed. I just did that.

1

I believe I know why this happened. The creator makes some .msis for various architectures and a setup.exe. If you run one of these .msis directly, no uninstaller is made. You should use the setup.exe created instead.

The easy solution is as mihi says: run the .msi with the /uninstall flag.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .