Как удалить программу которая не удаляется, за минуту
- 🚫Почему не удаляется программа в Windows
- 🛠️В любой ситуации запускай Troubleshooter
- 🛠️ Какие проблемы устраняет это средство
- 📥 Загрузка MS Install/Uninstall Troubleshooter
- 📦Запуск и диагностика в MS Install/Uninstall Troubleshooter
- ⬇️Как скачать и запустить средство диагностики установки и удаления программ через PowerShell
- 🔄Восстановление службы установщика Windows
- Принудительное удаление по ProductCode
- Дополнительные методы
Раз в квартал я стараюсь проводить аудит программного обеспечения установленного на моих серверах. Причин тут несколько, начиная от банальной ПО перестало использоваться, или в нем есть уязвимости. В эту итерацию на одном из серверов был обнаружен 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.
Можно выделить основные причины:
- Остались старые хвосты от предыдущих установок
- Инсталлятор (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"
Лучше всего работает с MSI-установщиками: Средство устранения неполадок наиболее эффективно для программ, установленных с помощью установщика Windows (файлы .msi). Проблемы с программным обеспечением, использующим собственные установщики, могут быть не исправлены.
Это автономное средство устранения неполадок постепенно упраздняется в будущих версиях Windows 11. Microsoft интегрирует функции устранения неполадок непосредственно в ОС через Параметры > Система > Устранение неполадок > Другие средства устранения неполадок.
В результате в получите файл MicrosoftProgram_Install_and_Uninstall.meta.diagcab.
📦Запуск и диагностика в MS Install/Uninstall Troubleshooter
Перед запуском средства на всякий случай выключите службу Windows Installer. В окне "Выполнить" запустите services.msc.
Найдите службу Windows Installer и остановите ее.
Запускаем файл MicrosoftProgram_Install_and_Uninstall.meta.diagcab. У вас появится начальное окно мастера диагностики по устранению проблем с удалением программ. От вас нужно выбрать, что он будит диагностировать, в моем примере мне нужно удалить программу, которая не удаляется, поэтому я выбираю пункт "Uninstalling / Удаление"
Начнется сканирование реестра Windows на остатки мусора мешающего удалению программы, данный процесс может занимать секунд 30-40.
У вас появится список установленных программ, вам необходимо выбрать нужную. В моем примере, это VMware Client Integration Plug-in 6.0.0. Если программы нет в списке, то нажмите пункт "нет в списке".
Далее выберите пункт "Yes, try uninstall / Да, попробовать удалить"
💥Ожидаем магию от утилиты Microsoft, данная операция может занимать несколько минут.
Если утилите удается найти причины блокирующие корректное удаление программы, то вы увидите зеленую галочку, если нет, то придется переходить к другим методам.
После закрытия средства диагностика по удалению программ, я пошел проверять исчезла ли 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" была побеждена.
⬇️Как скачать и запустить средство диагностики установки и удаления программ через 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"
Принудительное удаление по ProductCode
Если вам до сих пор не удается удалить программу, которая не удаляется, то попробуйте произвести деинсталляцию через ProductCode, для этого в ISE выполните:
# Получение списка установленных продуктов MSI
Get-WmiObject -Class Win32_Product |
Where-Object {$_.Name -like "*$programName*"} |
Select-Object Name, Version, IdentifyingNumber
В полученном списке найдите нужную вам программу и запишите ее IdentifyingNumber.
Теперь пробуем удалить
$productCode = "{Вставляем тут IdentifyingNumber}"
Start-Process "msiexec.exe" -ArgumentList "/x", $productCode, "/qn" -Wait
Дополнительные методы
- В командной строке выполните проверку целостности системных файлов "sfc /scannow && dism /online /cleanup-image /restorehealth"
- Очистка содержимого папки C:\Users\имя профиля\AppData\Local\Temp\ и очень осторожно папку C:\Windows\Installer\ (Обязательно сделайте ее копию)
- Использование специализированных программ по удалению софта, например Ccleaner или IObit Uninstaller
Надеюсь, что какие-то методы вам подошли и вы смогли удалить нужную вам программу. С вами был Иван Сёмин, автор и создатель этого скромного портала.