有没有办法查看应用程序安装的所有文件和注册表项?


32

我试图找出是否有一种方法可以将应用程序基本上安装到沙箱中,以便我可以轻松查看它创建的所有文件以及添加的所有注册表项,而无需在计算机上寻找文件。

只要它可以告诉我安装程序已完成的所有操作,它就不必是沙箱。当然,必须有一些东西可以做到这一点。我知道我的A / v告诉我什么时候它可以访问某些文件和文件夹,但是我正在寻找一种更精确的方法来记录所有内容,以便以后进行分析。


您可以在Windows 7中审核注册表更改,但这取决于所使用的特定版本。
Doktoro Reichard

Answers:


33
  1. 下载,解压缩并运行Process Monitor

  2. 运行安装程序。我在此示例中使用FileZilla

    在此处输入图片说明

  3. 在安装程序运行时,您可以使用十字准线并将其拖动到安装程序窗口中。这将创建一个过滤器,该过滤器将导致“进程监视器”仅显示与该进程相关的事件。

    在此处输入图片说明

    您也可以等待安装程序完成,然后自己从记录的事件中挑选出来。您可以右键单击“ 进程名称”并轻松创建“ 包含”过滤器。

  4. 现在,您将获得安装程序的每个文件系统或注册表访问权限的日志。现在,您可以创建其他过滤器以进一步分析数据或使用“ 工具”菜单中的可用功能。

    在这种情况下,尤其是文件摘要注册表摘要

    在此处输入图片说明

但是,请注意,仅过滤特定进程的事件时,您可能会错过不是直接由安装程序进程本身引起的操作。安装程序可以调用某些Windows API,从而间接导致注册表值更改。

同样,安装程序可以仅生成一个子进程来进行文件和/或注册表修改。当您仅对父进程进行过滤时,也不会看到该子进程。

当一个进程产生一个子进程时,这将由Process Monitor中的Process Create操作指示。


您好,Oliver,谢谢您的详细教程。对此,我真的非常感激。我只是卸载软件,当我重新安装后将立即尝试。我会随时向您发布它对我的效果。
user1632018

哇,这个答案让我感到羞耻。为您+1!
MonkeyZeus

我最终采用了这种方法。一旦掌握了它,它就很好用了。我意识到最好事先设置过滤器,否则过滤列表视图中的对象会花费很长时间。
user1632018

@ user1632018:如果您有一组适合您的过滤器,则可能还希望启用“ 过滤器”菜单中的“ 删除过滤事件”选项。然后,过滤后的事件甚至都不会存储。
Der Hochstapler

9

我认为您可能正在寻找诸如Total Uninstall之类的东西

需要在要监视的应用程序之前安装此软件。

它维护所有创建和更改的注册表项和文件的日志。

它提供了一个GUI,用于浏览新安装和监视的程序。


仅链接的答案不适合SU。请提供有关该程序如何工作以及如何解决OP问题的详细说明。
Doktoro Reichard 2013年

它看起来像是一个不错的软件,但是我倾向于一种免费的方法。不过,它似乎很有希望作为卸载程序。前一段时间,我正在寻找采用这种方法的卸载程序。我最终选择了Revo Uninstaller,因为找不到。Revo只搜索其中包含名称的密钥和文件。这并不总是准确的,如果用户不小心,可以删除重要的注册表项。因此,感谢您,如果我对revo感到厌烦,可能会购买此卸载程序。对于此用途,我将使用“过程监视器”方法。
user1632018

祝好运!当然,让我们知道如何进行。
MonkeyZeus

7
  1. 在安装之前导出整个注册表
  2. 安装后导出整个注册表

使用文件diff获得两个注册表之间的差异。

http://support.microsoft.com/kb/171780

您可以下载软件来为您做(见下文)

http://www.aplusfreeware.com/categories/util/registry.html

您可以做的另一件事是下载“ Sysinternals Process Monitor”。然后您可以过滤安装程序完成的操作,显示出来。您甚至可以过滤到想要查看的任何操作(RegWrite,RegQueryValue等),并保存捕获以供以后查看。


我正在尝试使用过程监控器方法。我会告诉您是否适合我。
user1632018

当时另一个程序修改注册表的可能性太大,以至于这种方法不合理
developerbmw

1

与ProcessMonitor相比,一种更加用户友好的方法是使用实​​际的安装监视程序。我一直使用并且首选的是PCMagazineInCtrl5。它曾经是免费的,几年前他们开始为公用事业收费时,您仍然可以从有人免费下载并获得免费许可证的人那里找到副本。他们还已将其更新为InCtrlX,它可能更好,但并非免费。

我喜欢的另一个是ZSoft Uninstaller。在我测试过的数十种此类程序中,这是InCtrl5的次佳选择。它也是免费的。

这些程序的工作方式是在安装之前和之后拍摄注册表和文件系统的快照,然后进行比较以找出更改(添加,删除,修改)的内容。与像ProcessMonitor这样的程序仅监视系统访问不同,这些程序针对系统的实际更改进行过滤,而更好的程序甚至过滤掉误报,例如临时文件和操作系统启动的更改。


+1为InCtrl5。非常用户友好的方式来做到这一点。
Ryan_S

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.