我有一个非常大的Windows程序的安装,我想知道哪些文件实际上是在我安装程序的时候读取的。
有没有一种方法来监控这个并获得读取的文件列表?
我查看了Process Monitor ,并且可以在要监视的目录上放置一个filter,但是我没有find一个简单的方法来获取在该目录中打开的文件列表。
sysinternals的Filemon将允许您查看实时访问哪些文件。 您可以运行filemon,然后通过您的程序安装并监视哪些文件被访问。
正如Jim B所评论的,Process Monitor已经取代了Filemon。 作为对原始提问者的进一步logging,当您在进程监视器中进行筛选时,请确保您的筛选器是“path”“包含”而不是“path”“是”。 如果你使用Path,它只显示你在path字段/列中指定的path,而你不再看到实际的文件名。 使用“contains”保留文件名,以便您可以看到在该目录中访问的内容。
Windows(可选)会保留访问时间(一次),您可以使用这些来获取您的信息,但是我没有任何关于使用它们的简单方法的想法。
你可以使用快照工具,如regshot。
如果procmon没有帮助你(这使我奇怪为什么)作为替代,你可以拔出大枪,并使用xperf( 博客文章 , 下载 )基于窗口事件追踪,这可以告诉你比你曾经想知道更多了解在Windows系统上发生了什么事情。
有一个名为PA File Sight的商业程序比Filemon更容易设置和使用。 他们提供了一个function齐全的30天免费试用版。
节日,
你有没有看过InstallWatch?
InstallWatch是免费的,并logging在安装软件,硬件或configuration更改期间对您的PC所做的修改。
你可以在这里find它:
注意:这可能不是你正在寻找的东西,因为你提到你想要一个“读”而不是“修改”的文件列表,但它可能是一个很好的起点。
只是想我会提到它。