Я хотел бы найти изменения, внесенные в реестр после установки чего-либо на моем компьютере. Однако я хотел бы также знать, что можно легко сделать в качестве общей процедуры.
5 ответов
Запустите установщик и просмотрите его с помощью Sysinternals Process Monitor. Вы можете фильтровать данные так, чтобы отображались только операции, выполненные установщиком. Вы даже можете отфильтровать все операции, которые хотите увидеть (RegWrite, RegQueryValue и т.д.), И сохранить запись для последующего просмотра.
Монитор процесса является бесплатным.
Вы также можете использовать WinDiff. Вы можете сохранить экспортированные файлы реестра, а затем сравнить их:
WinDiff является бесплатным и открытым исходным кодом.
RegShot - еще одно бесплатное решение для сравнения реальных экспортируемых файлов реестра.
RegShot - это небольшая утилита сравнения реестра, которая позволяет быстро сделать снимок реестра, а затем сравнить его со вторым снимком, выполненным после внесения изменений в систему или установки нового программного продукта. Отчет об изменениях может быть создан в текстовом или HTML-формате и содержит список всех изменений, которые произошли между моментальными снимками1 и моментальными снимками2.Кроме того, вы также можете указать папки (с дополнительными папками), которые будут проверяться на наличие изменений.
если у вас есть Total Commander, это довольно просто:
экспортировать реестр перед установкой и после установки (сохранить с тем же именем в разных папках)
откройте обе папки в Total Commander, выделите файл на одной стороне, выберите « Файлы» > « Сравнить по содержимому» ... voilá:
Total Commander является условно-бесплатной, попробуйте, прежде чем купить.
Если вы хотите сравнить два файла реестра (которые вы экспортировали вручную в текст), то существует множество приложений для сравнения, таких как WinMerge, WinDiff и т.д.
Предостережение: если куст реестра велик, то экспорт может занять некоторое время, и что еще хуже, Windiff может более или менее зависать при попытке чтения больших файлов .reg
. Вместо этого используйте WinMerge, потому что он может обрабатывать большие файлы, быстрее обрабатывать их, и результаты получаются лучше (иногда Windiff просто ошибается).
Если вы хотите сравнить реестр до и после установки, то вы также можете использовать монитор установки. Опять же, их много, но одним из основных является InCtrl5 журнала PC Magazine (вам, возможно, придется заплатить, чтобы загрузить его со своего сайта, хотя сама программа бесплатна, поэтому есть много сайтов, которые ее имеют). Они выпустили обновление под названием InCtrlX, которое, по-видимому, лучше. Total Uninstall является хорошим коммерческим. Мне обычно нравится моя старая копия InCtrl5, но Z-Soft Uninstaller имеет ту же функцию и является исключительной (это лучшее из десятка или около того, что я пробовал); плюс это бесплатно.
Другим решением является анализ самого установщика . То есть загляните внутрь EXE/MSI/BAT/INF/ и т.д. файл, чтобы увидеть, что именно он делает при установке, включая изменения в файлах, записях реестра, службах, драйверах и т. д. Таким образом, вы можете избежать всего процесса обнаружения в целом. Я считаю, что 7Zip - лучший способ заглянуть внутрь большинства исполняемых инсталляторов (таких как NSIS), потому что вы можете видеть файлы и скрипты и тому подобное. Для установщиков MSI я предлагаю либо собственный ORCA от Microsoft, либо InstEd . Хороший коммерческий инструмент для MSI - AdvancedInstaller
Я использую WinMerge, но я создал приложение для преобразования файлов исправлений WinMerge в формат .reg. Он отлично работает для не-M $ приложений, но поскольку WinMerge не поддерживает HK в сгенерированных файлах исправлений, в основном только для установки / удаления. В частности, у меня было одно приложение, которое я не смог установить на 64-разрядную Win7, но я знал, что оно работает. Я экспортировал весь рег в файл1, установил, экспортировал весь измененный рег в файл2. Сделайте патч для сравнения с WinMerge, затем используйте мое приложение для очистки всего ненужного контента.
Я хотел сравнить реальные ульи и не экспортируемые файлы и иметь возможность легко копировать вещи между ними.
Я старался:
- Registrar Register Manager Имеет встроенную функцию сравнения, которая будет сравнивать загруженные ульи. Однако я не мог найти простой способ скопировать отсутствующие / измененные элементы из одного улья в другой и не получил никакого ответа от их службы поддержки, поэтому я перестал пытаться с этим.
- Beyond Compare Профессиональная версия также будет сравнивать ульи, которые вы загрузили. (Вам нужно будет загрузить их с помощью regedit или другого инструмента.) Как только вы это сделали, инструмент сравнения легко позволяет копировать отсутствующие / измененные элементы из одного улья в другой (и когда вы выделите элемент, он знает, что кнопка копирования должна скопировать его в другой куст). Он может копировать целые поддеревья или отдельные ключи, но вы должны выбрать поддерево (или ключ), который хотите скопировать. Были некоторые ключи, которые он не позволил бы мне скопировать. Я предполагаю, что они были заблокированы каким-то механизмом защиты самой системы реестра.
Итак, вот шаги, которые я использовал в деталях. Предположим, что я хочу скопировать элементы из реестра в разделе D (hive SOFTWARE) в раздел реестра E (hive SOFTWARE) при запуске из раздела C.
- запустить regedit (загружается как раздел C)
- выберите HKEY_LOCAL_MACHINE
- в меню «Файл» откройте «LOAD HIVE»
- перейдите к D:\WINDOWS\SYSTEM32\CONFIG\SOFTWARE (загрузите этот улей) и назовите его d-software
- снова опустите LOAD HIVE.
- перейдите к E:\WINDOWS\SYSTEM32\CONFIG\SOFTWARE (загрузите этот улей) и назовите его электронным программным обеспечением
- выходить за рамки сравнения
- свернуть НОВУЮ СЕССИЮ / РЕГИСТРАЦИОННОЕ СРАВНЕНИЕ
- в поле адреса левой панели введите reg:\HKEY_LOCAL_MACHINE\d-software
- в поле адреса правой панели введите reg:\HKEY_LOCAL_MACHINE\e-software
- подождите пока он раскрасит пункты ниже (это делает реальное сравнение)
- выберите синий (отсутствует) или красный (другой) элемент на левой стороне
- если вы хотите скопировать его, используйте стрелку на панели инструментов, которая скопирует его на правую сторону
- если вы выберете элемент с правой стороны, он скопирует его с левой стороны.
- когда закончите, закройте оба приложения