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.
Persian
locale along many other languages is a part of Windows 7. I have no problem with installingPersian
locale on other PCs running Windows 7.