Удаление программ из консоли и простой пример мониторинга реестра – Вадим Стеркин

Почему приложения записывают сведения в разные разделы реестра

Для эксперимента выполните повторную установку uTorrent или любого другого приложения из списка HKCU. По ходу дела вы не увидите запроса UAC. Приложению для установки и работы не нужны права администратора, поэтому нет необходимости ставить его в Program Files и вносить изменения в HKLM. Оно устанавливается в профиль и пишет сведения только в раздел реестра HKCU.

Powershell

Командлет Get-WMIObject вам хорошо знаком. Список программ:

Get-WmiObject Win32_Product | ft name,version,vendor,packagename

Удаление программы:

(Get-WmiObject Win32_Product -Filter "Name = 'Имя программы'").Uninstall()

Быстрый мониторинг реестра с помощью process monitor

Давайте выясним, откуда «Установка и удаление программ» берет сведения об установленном uTorrent. На панели инструментов Process Monitor и Process Explorer есть мишень, помогающая точно определить процесс.

  1. Перетяните мишень из Process Monitor на окно панели управления.Быстрый мониторинг реестра
  2. Process Monitor автоматически определит процесс окна и отфильтрует по нему результаты мониторинга, в чем легко убедиться, открыв список фильтров сочетанием Ctrl L. В данном случае за руку был схвачен процесс explorer.exe с PID 3704.

  3. В панели управления выполните поиск программы, чтобы спровоцировать запрос в реестр.
  4. В Process Monitor нажмите Ctrl F и поищите имя программы или издателя (я искал torrent).Быстрый мониторинг реестра
  5. Перейдите в редактор реестра сочетанием клавиш Ctrl J.
    Быстрый мониторинг реестра 

Дискуссия

Я решил рассказать про мишень после того, как дважды за вполне праздничный день воспользовался ей сначала в Process Explorer, а затем в Process Monitor. Такие инструменты значительно упрощают изучение системы, и в нашем случае ответ на совсем неочевидный вопрос нашелся очень легко. У меня почти два десятка записей об утилитах sysinternals, и почти все задачи решаются в 2-3 хода.

:/>  Самопроизвольное изменение яркости монитора — ноутбук меняет яркость сам! Почему?

Как удалить программу в windows 10 из командной строки –

Если вы используете Windows 10 и вам нужно освободить место на диске, вы можете удалить приложения, которые больше не используете, прямо из командной строки. Эта инструкция покажет, как в Windows удалять программы прямо из командной строки.

Чтобы удалить программу, сначала вам нужно запустить командную строку от имени администратора. В поле поиска Windows введите «cmd», а затем щёлкните правой кнопкой мыши «Командная строка» в результатах.

Затем щёлкните «Запуск от имени администратора» в появившемся меню.

Удаление программ из консоли и простой пример мониторинга реестра – Вадим Стеркин

Командная строка теперь запускается с правами администратора. Чтобы удалить программу с помощью командной строки, необходимо использовать служебную программу командной строки инструментария управления Windows (WMIC).

В командной строке введите следующую команду и нажмите Enter:

wmic

Теперь вы увидите приглашение wmic:rootcli> в консоли. Это означает, что теперь вы можете использовать операции инструментария управления Windows (WMI).

Удаление программ из консоли и простой пример мониторинга реестра – Вадим Стеркин

Затем вам понадобится список программ, установленных на вашем компьютере. Получение этого списка важно, потому что вы должны указать точное название продукта, чтобы успешно выполнить команду удаления.

Введите следующую команду, чтобы получить список:

product get name

Удаление программ из консоли и простой пример мониторинга реестра – Вадим Стеркин

Совет: Вы также можете запускать команды wmic непосредственно из стандартной командной строки, не запуская «wmic» и не вводя предварительно команду WMIC. Для этого добавьте к вашим командам «wmic». Например, «wmic product get name» работает так же, как запуск «wmic», а затем «product get name».

Найдите в списке название программы, которую хотите удалить. Вы можете удалить программу, выполнив эту команду:

product where name="ИМЯ ПРОГРАММЫ" call uninstall

Просто замените название программы названием программы, которую вы хотите установить. Например, если мы хотим удалить приложение Skype Meetings, мы должны ввести эту команду:

:/>  Активатор Windows XP SP3 WPA kill скачать бесплатно!

product where name="Skype Meetings App" call uninstall

Удаление программ из консоли и простой пример мониторинга реестра – Вадим Стеркин

Затем вас попросят подтвердить, действительно ли вы хотите выполнить команду. Введите Y для подтверждения и нажмите Enter. Введите N, чтобы отменить операцию.

Через несколько секунд вы получите сообщение о том, что метод был успешно выполнен.

Приложение было удалено с вашего компьютера.

Это лишь один из многих способов удалить приложение в Windows 10. Это также можно сделать из панели управления, меню «Пуск» или окна «Настройки».

Связанная статья: Как удалить приложение в Windows 10

Литература

Для дальнейшего изучения вопроса вам могут пригодиться подобранные мной материалы. Открывает список статья, которой скоро исполнится 10 лет. Она еще из первой волны материалов на тему автоустановки, но вполне актуальна.

Недостаток способа

Этот подход сопряжен с большим ограничением, которое отчасти породило вопрос на форуме. Элемент панели управления «Установка и удаление программ» отображает больше приложений, чем выводят wmic и PowerShell.

В списке WMI присутствуют только приложения, установленные с помощью Windows Installer.

Это не совсем очевидно, но я специально добавил в первую команду PowerShell вывод имен пакетов — все они MSI. Инструментарий управления Windows спроектирован в том числе и для управления состоянием ПО, но далеко не все программы используют установщик Windows, к сожалению.

Сведения из класса wmi win32_product

Этот способ базируется на инструментарии управления Windows (WMI). Сведения об установленных программах содержатся в классе Win32_Product, поэтому можно удалять программы из командной строки или PowerShell.

Сведения из реестра windows

Зато все нормальные программы при установке должны записывать сведения в реестр, откуда их извлекает элемент панели управления appwiz.cpl. Конкретный раздел реестра хорошо известен и давно задокументирован в статье KB314481 (ее я всегда нагугливаю запросом uninstall registry).

HKEY_LOCAL_MACHINESOFTWAREMicrosoftWindowsCurrentVersionUninstall

У каждого приложения там свой подраздел, именем которого по воле разработчика является название или идентификатор программы. Команда для удаления записана в параметре UninstallString – именно она вызывается из панели управления.

:/>  Ключи для office 2016 | Бесплатно, активация [свежие]

Заметьте, что команда открывает графический интерфейс деинсталлятора, но не удаляет программу автоматически, как в случае со способом WMI. Поэтому нужно еще выяснить ключ тихой установки/удаления, зависящий от типа установщика. Зачастую, это /s или /silent, и тогда команда для автоматического удаления выглядит примерно так:

"C:Program FilesVideoLANVLCuninstall.exe" /s 

Но и у этого способа есть нюанс – в обсуждаемом разделе реестра могут отображаться не все программы. Например, я не нашел там установленный uTorrent (проверьте у себя).

Откуда панель управления о нем знает? К ответу можно прийти поиском по реестру или просто догадаться, но лучше сразу взять простой и удобный инструмент — Process Monitor.

Оставьте комментарий