XP Embedded操作系统中非Unicode选项无法修改的解决
作者:淡月清风 日期:2009-12-03
这个XPE系统"非Unicode程序的语言"默认设置是中文,因为需要将其改成了英文,后来又想改回中文,这时,问题出现了,竟提示无法更改……
很长一段时间都没有找着解决的方法..................(暴力方法临时解决)....................
今天突然想到Windows的很多操作都在事件查看器中有日志,那么这个操作也许也留下了某些日志在系统中,仔细对照之后发现Windows目录下的setupapi.log中留下了这样一堆东西:
[SetupAPI Log]
?????? = 5.1.2600 Service Pack 2
?? ID = 2 (NT)
Service Pack = 2.0
?? = 0x0140
???? = 1
?? = x86
[2009/12/03 07:34:22 2384.4]
#-198 ??????: "C:\WINDOWS\system32\rundll32.exe" C:\WINDOWS\system32\shell32.dll,Control_RunDLL "C:\WINDOWS\system32\intl.cpl",???????
#E008 ???????? HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink\SimSun
#E033 ?? 13: ?????
#E065 ? "C:\WINDOWS\INF\intl.inf" ? [NLS.Registry.CHS] ??? "AddReg" ??? ?? 13: ?????
#E064 ???? "C:\WINDOWS\INF\intl.inf" ? [00000804] ???? ?? 13: ?????
于是赶紧尝试从普通中文简体XP上导出了HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink\SimSun的注册表值,拿到XPE上一试:OK,从此"非Unicode程序的语言"的中英文可以自由切换了。(补充,至少切换过一次英文之后,再切换到中文,才会正常)
附上这个注册表数据:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\FontLink\SystemLink]
"SimSun"=hex(7):53,00,69,00,6d,00,53,00,75,00,6e,00,2e,00,54,00,54,00,43,00,2c,\
00,53,00,69,00,6d,00,53,00,75,00,6e,00,2d,00,50,00,75,00,61,00,00,00,67,00,\
75,00,6c,00,69,00,6d,00,2e,00,74,00,74,00,63,00,2c,00,67,00,75,00,6c,00,69,\
00,6d,00,00,00,4d,00,53,00,47,00,4f,00,54,00,48,00,49,00,43,00,2e,00,54,00,\
54,00,43,00,2c,00,4d,00,53,00,20,00,55,00,49,00,20,00,47,00,6f,00,74,00,68,\
00,69,00,63,00,00,00,6d,00,69,00,6e,00,67,00,6c,00,69,00,75,00,2e,00,74,00,\
74,00,63,00,2c,00,50,00,4d,00,69,00,6e,00,67,00,4c,00,69,00,55,00,00,00,00,\
00
安国量产工具使用后托盘小箭头消失的解决方法
作者:淡月清风 日期:2009-11-14
启动XPE时出现提示<WindowsRoot>\Sysytem32\hal.dll损坏或丢失
作者:淡月清风 日期:2009-11-13
Primitive: Cacls.exe组件未添加导致部分软件无法在XP Embedded上安装
作者:淡月清风 日期:2009-05-25
编译好XP Embedded,在目标机上顺利通过了FBA、安装好驱动,却发现有一款软件(我的目标机唯一需要装的就是这个东西)一直无法安装,提示cacls失败。
估计是什么组件没添加吧,首先怀疑是Windows Installer的问题,检查后发现组件已添加,而且msi格式的安装包可以正常运行;这个软件的安装包是用Installshield制作的,怀疑是不是Installshield的什么运行库不对?在目标机上装了Installshield,结果还是不能装这款软件;反编译了这款软件的安装脚本setup.inx文件,也没能很快找出原因。
无奈之下,只有再试其他方法了:
1.用注册表监视工具(Sysinternals出品的Regmon.exe)看看当提示错误信息时,对注册表做了什么?可是也没发现什么异常。
2.用文件监视工具(Sysinternals出品的Filemon.exe)看看当提示错误信息时,对哪些文件做了什么?哈哈,终于被我找到了,Filemon.exe中提示调用Cacls.exe时,没有找到Cacls.exe文件,原来如此,赶紧从我的系统中找一个Cacls.exe复制到目标机的System32目录下,再装这款软件,果然一路Next,顺顺利利。






