标签:
编译好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,顺顺利利。
既然我的系统中有Cacls.exe,我想XP Embedded中肯定会有,Google后发现有个组件就叫做Primitive: Cacls.exe,可是在Target Designer中却没搜到,仔细看了Target Designer的设置,发现有个“Component Visibility”选项,将其值设置为100,再次打开Target Designer,一眼就看到Primitive: Cacls.exe,呵呵。
以上描述比较啰嗦,但提供了一个解决问题的方法,所以将此文放在这里,以说明遇到问题只要能去研究,结果很快就有了。
Primitive: Cacls.exe组件未添加导致部分软件无法在XP Embedded上安装
标签:
原文地址:http://www.cnblogs.com/dgx/p/5491512.html