Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

When I try to add Persian keyboard layout on my Windows 7 x64, the keyboard doesn't show up in the language bar. For example, when I add English, Arabic, and Persian keyboard layouts as shown in the following figure,

enter image description here

the only available languages will be English and Arabic:

enter image description here

The properties for the Persian layout shows a blank keyboard:

enter image description here

I had installed a Persian accounting software with probably caused the problem. I've tried sfc /scannow to revert changes to system files, if any, but sfc didn't find any issues.

share|improve this question
    
Maybe you should install the locales separately? – Eugene S May 3 '12 at 15:19
    
@EugeneS: No. The Persian locale along many other languages is a part of Windows 7. I have no problem with installing Persian locale on other PCs running Windows 7. – Isaac May 4 '12 at 20:27

I had such an experience with installing custom keyboard layout using setup programs like "XP Farsi Keyboard".

This setup make similar dll to Kbdfa.dll in System32 folder: kbdfapsoft.dll

I resolve the problem using:

1- Search Windows folder for kbdfa.dll. I found these:

32 bit dlls:(6.50 KB)
 C:\Windows\System32\kbdfa.dll
 C:\Windows\winsxs\amd64_microsoft-windows-i..l-keyboard-00000429_31bf3856ad364e35_6.1.7600.16385_none_46c321d27ba117ab\kbdfa.dll

64 bit dlls:(6.00 KB)
 C:\Windows\SysWOW64\kbdfa.dll
 C:\Windows\winsxs\wow64_microsoft-windows-i..l-keyboard-00000429_31bf3856ad364e35_6.1.7600.16385_none_5117cc24b001d9a6\kbdfa.dll

2- Copy and paste kbdfa32.dll from winsxs folder to appropriate system32 or SysWOW64 Folders.

3- If you have files like kbdfa*.dll (ie: kbdfapsoft.dll) , Copy and replace appropriate kbdfa.dll to its location, ususally system32 folder with the same name(ie: kbdfapsoft.dll).

4- Copy and paste 32 bit dlls (kbdfa.dll and if you have kbdfa*.dll) into system32\dllcache

5- Remove Perian Keyboard and add it againg. And its done.

It is better Idea to use standard windows layout.You can use ctrl+shift+2 to type zwnj (Zero Width None Joiner).

Some useful links:

The Microsoft Keyboard Layout Creator

traylayout-1.2.zip for windows xp to mimic enhanced kbdfa.dll without actual replace of system files.

share|improve this answer

You must log in to answer this question.

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