|
我近期在调试Dependencies程序时的一些思路也许可以对你有用。
Dependencies这个程序是用来观察某个程序对其他程序的依赖的,可以离线查看的。在我的win10/11PE中,在加载.net组件后是可以运行的,但win8/81中不能运行,第一个提示是说.net 4.61没有安装,而实际上我PE中的.net组件是从win10中提取的4.72,应该是可用的,于是从注册表中查看HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs是进行版本登记的,从Win10中导出来,再在8.1中导入或者直接加上HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\.NETFramework\v4.0.30319\SKUs\.NETFramework,Version=v4.6.1就再不提示.net没安装了,但又出现出错提示。没办法又进入win10PE,先运行Dependencies,再利用CProcess工具找出Dependencies所有调用的模块,发现D3DCompiler_47.dll、UIAutomationCore.dll、WinTypes.dll、wldp.dll几个文件是我的8.1PE中没有的,于是找到win8.1原安装盘,找出这几个文件恢复到系统中,于是Dependencies成功运行。因此,你可以这样:
1、先看你的那个程序能不能在win10PE下运行,如果不行在正常系统的Win81下运行也可;
2、正常运行后按我上面讲的方法运行CProcess工具,找出你的程序需要的模块,再缺什么补什么;
当然,如果你熟悉Dependencies这个程序可以直接用这个工具看你那个文件所需要的模块,这个是不需要运行你那个程序的。
|
|