Как удалить программу которая не удаляется, за минуту

Почему не удаляется программа в WindowsРаз в квартал я стараюсь проводить аудит программного обеспечения установленного на моих серверах. Причин тут несколько, начиная от банальной ПО перестало использоваться, или в нем есть уязвимости. В эту итерацию на одном из серверов был обнаружен VMware Client Integration Plug-in 6.0.0. Этот плагин использовался для старой версии vSphere 6.0 и предоставлял дополнительные функции для управления виртуальной инфраструктурой через веб-браузер. Так как моя сфера уже давно на 8-й версии, то надобности в плагине уже нет. Но при выполнении тривиальной попытки удаления я получил ошибку. В данной статье мы рассмотрим алгоритм как удалить программу, которая не удаляется на примере Windows Server 2022, но тут не принципиально какая ОС, везде все будит одинаково.

🚫Почему не удаляется программа в Windows

Ошибка в программах и компонентах выглядит вот так, когда я пытаюсь удалить VMware Client Integration Plug-in 6.0.0:

There is a problem with this Windows installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.

VMware Client Integration Plug-in 6.0.0: There is a problem with this Windows installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor.

Можно выделить основные причины:

  • Остались старые хвосты от предыдущих установок
  • Инсталлятор (MSI или EXE) может быть повреждён, или вообще его затерли при неправильной чистке диска, я показывал метод как правильно удалять из системы старые, неиспользуемые MSI.
  • В системе могут отсутствовать зависимости, например Visual C++ Redistributable
  • Может быть проблема со службой Windows Installer

🛠️В любой ситуации запускай Troubleshooter

Microsoft понимает, что их Windows не идеален, и пользователи могут легко допускать ошибки при работе с ней, поэтому активно развивает средства диагностики, которые для большинства проблем уже есть встроенные в систему. В случае с проблемами по удалению программ я рекомендую скачивать дополнительный пакет MS Install/Uninstall Troubleshooter.

MS Install/Uninstall Troubleshooter — это автоматизированное средство от Microsoft, которое диагностирует и устраняет распространенные проблемы, мешающие установке или удалению программ в Windows. В основном оно исправляет поврежденные записи в реестре, которые часто вызывают эти проблемы.

🛠️ Какие проблемы устраняет это средство

Этот инструмент предназначен для автоматического решения следующих проблем:

  • Поврежденные ключи реестра: Исправляет поврежденные ключи в 64-разрядных операционных системах и ключи, управляющие данными обновлений.

  • Проблемы с установкой: Устраняет неполадки, которые мешают установке новых программ.

  • Сбои при удалении: Решает проблемы, которые не позволяют полностью удалить программы, обновить их или удалить через раздел «Программы и компоненты» в Панели управления.

  • Очистка следов программ: Удаляет остаточные записи программ, которые уже были удалены, из списка в параметрах Windows.

📥 Загрузка MS Install/Uninstall Troubleshooter

Для загрузки данного средства диагностики перейдите по ссылке:

https://support.microsoft.com/en-us/topic/fix-problems-that-block-programs-from-being-installed-or-removed-cca7d1b6-65a9-3d98-426b-e9f927e1eb4d либо можно у меня из облака, если Microsoft почистит ссылку.

Нажмите кнопку "Download Troubleshooter"

Скачивание Windows Troubleshooter

Лучше всего работает с MSI-установщиками: Средство устранения неполадок наиболее эффективно для программ, установленных с помощью установщика Windows (файлы .msi). Проблемы с программным обеспечением, использующим собственные установщики, могут быть не исправлены.

Это автономное средство устранения неполадок постепенно упраздняется в будущих версиях Windows 11. Microsoft интегрирует функции устранения неполадок непосредственно в ОС через Параметры > Система > Устранение неполадок > Другие средства устранения неполадок.

В результате в получите файл MicrosoftProgram_Install_and_Uninstall.meta.diagcab.

📦Запуск и диагностика в MS Install/Uninstall Troubleshooter

Перед запуском средства на всякий случай выключите службу Windows Installer. В окне "Выполнить" запустите services.msc.

Запуск services.msc

Найдите службу Windows Installer и остановите ее.

Остановка службы Windows Installer

Запускаем файл MicrosoftProgram_Install_and_Uninstall.meta.diagcab. У вас появится начальное окно мастера диагностики по устранению проблем с удалением программ. От вас нужно выбрать, что он будит диагностировать, в моем примере мне нужно удалить программу, которая не удаляется, поэтому я выбираю пункт "Uninstalling / Удаление"

Окно мастера диагностики по устранению проблем с удалением программ

Начнется сканирование реестра Windows на остатки мусора мешающего удалению программы, данный процесс может занимать секунд 30-40.

Сканирование реестра Windows на остатки мусора мешающего удалению программы

У вас появится список установленных программ, вам необходимо выбрать нужную. В моем примере, это VMware Client Integration Plug-in 6.0.0. Если программы нет в списке, то нажмите пункт "нет в списке".

Выбор программы из списка, которую не получается удалить.

Далее выберите пункт "Yes, try uninstall / Да, попробовать удалить"

Попытка удалить программу через MS Install/Uninstall Troubleshooter

💥Ожидаем магию от утилиты Microsoft, данная операция может занимать несколько минут.

не удаляется программа

Если утилите удается найти причины блокирующие корректное удаление программы, то вы увидите зеленую галочку, если нет, то придется переходить к другим методам.

Успешная проверка причин недеющих удалить программу в Windows

После закрытия средства диагностика по удалению программ, я пошел проверять исчезла ли VMware Client Integration Plug-in 6.0.0и действительно в списке установленных она уже не числилась. Папки в Program Files не было. Ошибка "There is a problem with this Windows installer package. A program run as part of the setup did not finish as expected. Contact your support personnel or package vendor" была побеждена.

Успешное удаление VMware Client Integration Plug-in 6.0.0

⬇️Как скачать и запустить средство диагностики установки и удаления программ через PowerShell

Если вам хочется, как то заскриптовать данный процесс, с помощью PowerShell это можно сделать. Тут даже я бы посоветовал сохранить мой скрипт, а потом конвертировать его в exe файл, который уже легко можно было бы отправлять тем, кому вы хотели бы помочь. Скрипт скачает утилиту и запустит ее. Человеку кто не особо разбирается в компьютерах будет существенно проще. Запустите PowerShell ISE и выполните скрипт.

# Загрузка и запуск Program Install and Uninstall troubleshooter
$troubleshooterUrl = "https://download.microsoft.com/download/7/E/9/7E9188C0-2511-4B01-8B4E-0A641EC2F600/MicrosoftProgram_Install_and_Uninstall.meta.diagcab"
$downloadPath = "$env:TEMP\ProgramInstallAndUninstall.diagcab"

# Скачивание и запуск (требуется интернет)
Invoke-WebRequest -Uri $troubleshooterUrl -OutFile $downloadPath
Start-Process $downloadPath

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

окно мастера средства устранения неполадок, связанных с установкой и удалением программ

🔄Восстановление службы установщика Windows

Можно попробовать перерегистрировать службу msiserver, для этого в PowerShell ISe выполните:

# Перерегистрация Windows Installer
Stop-Service -Name "msiserver" -Force

$dlls = @(
"msi.dll",
"msiexec.exe",
"msihnd.dll"
)

foreach ($dll in $dlls) {
$path = Join-Path $env:WINDIR "System32\$dll"
if (Test-Path $path) {
regsvr32.exe /s $path
}
}

Start-Service -Name "msiserver"

Восстановление службы установщика Windows

Принудительное удаление по ProductCode

Если вам до сих пор не удается удалить программу, которая не удаляется, то попробуйте произвести деинсталляцию через ProductCode, для этого в ISE выполните:

# Получение списка установленных продуктов MSI
Get-WmiObject -Class Win32_Product |
Where-Object {$_.Name -like "*$programName*"} |
Select-Object Name, Version, IdentifyingNumber

В полученном списке найдите нужную вам программу и запишите ее IdentifyingNumber.

Получение ProductCode через PowerShell

Теперь пробуем удалить

$productCode = "{Вставляем тут IdentifyingNumber}"

Start-Process "msiexec.exe" -ArgumentList "/x", $productCode, "/qn" -Wait

Дополнительные методы

  1. В командной строке выполните проверку целостности системных файлов "sfc /scannow && dism /online /cleanup-image /restorehealth"
  2. Очистка содержимого папки C:\Users\имя профиля\AppData\Local\Temp\ и очень осторожно папку C:\Windows\Installer\ (Обязательно сделайте ее копию)
  3. Использование специализированных программ по удалению софта, например Ccleaner или IObit Uninstaller

Надеюсь, что какие-то методы вам подошли и вы смогли удалить нужную вам программу. С вами был Иван Сёмин, автор и создатель этого скромного портала.

Оцените статью
Настройка серверов windows и linux
Добавить комментарий