Есть ли способ удалить программы без графического интерфейса и сделать это через CMD?
Есть ли способ удалить программы без графического интерфейса и сделать это через CMD?
Каждая программа, которая правильно устанавливает себя в соответствии с рекомендациями Microsoft, делает запись в реестре HKLM\Software\Microsoft\Windows\CurrentVersion\Uninstall
. Обычно ключом для программы является ее GUID или имя программы. В этом ключе будет запись называется UninstallString
. Он содержит команду, которую нужно выполнить, чтобы удалить программу.
Если вы заранее знаете, что будете удалять, это должно быть достаточно просто, чтобы поместить это в ваш командный файл. Это становится сложно, когда вы пытаетесь автоматизировать этот процесс, хотя. Вы можете использовать reg
команду для получения данных из реестра, но она возвращает много текста о фактическом значении данного ключа, что затрудняет его использование. Возможно, вы захотите поэкспериментировать с использованием VBscript или PowerShell, так как у них есть лучшие варианты для получения данных из реестра в переменную.
Вы можете вызвать правильный деинсталлятор, не зная GUID и т. Д., Используя WMIC.
Чтобы увидеть список имен программ, известных Windows в Windows:
wmic product get name
Ищите название вашего продукта. Вероятно, он совпадает с тем, что указан на панели управления «Программы и компоненты» , но не всегда.
Тогда вы можете использовать
wmic product where name="_my_product_name" call uninstall
выполнить деинсталляцию, о которой AFAIK должен молчать (это было в моем опыте, но попробуйте, прежде чем ставить ферму на это. Молчание может зависеть от того, как был создан ваш установщик / деинсталлятор).
Смотрите здесь для получения дополнительной информации:
На microsoft.com есть также справочная документация для WMIC.
/node:"<ComputerName>"
пример:wmic /node:"someuser-pc" product get name
. Убедитесь, что вы используете «» вокруг имени, иначе вы столкнетесь с ошибкой «Invalid Global Switch». Также убедитесь, что вы запускаете это из приглашения CMD, а не из приглашения PowerShell, поскольку «» обходной путь для ошибки «Недопустимый глобальный коммутатор» не работает в приглашении PowerShell.Если у вас установлен PowerShell 3 (или выше), вы можете выполнить WMI-вызов, чтобы все программы назвали определенную вещь (или «как» определенную вещь, чтобы выполнить поиск с подстановочными знаками), а затем вызвать
Uninstall
метод для каждой из них:(Get-WmiObject -Query "SELECT * FROM Win32_Product WHERE Name like '%Partial Name%'").uninstall()
источник
Если вы знаете, где находится файл установщика MSI, вы можете использовать:
источник
Если программа использует установщик Windows, вы можете использовать одну из следующих команд:
Однако, скорее всего, у вас нет ни кода продукта, ни исходного файла MSI, используемого для установки.
Кроме этого, нет общей команды удаления, поскольку установщики, которые не используют установщик Windows, «неизвестны» операционной системе. Они могут предоставить свой собственный исполняемый файл для удаления, но включает ли этот исполняемый файл способ его запуска без графического интерфейса, зависит от отдельного программного пакета.
источник
Сценарий VBScript поможет вам удалить требуемую программу.
Для использования этого скрипта вам потребуется имя программного обеспечения, которое находится в вашем реестре.
Просто введите имя приложения в скрипт и запустите его с правами администратора; это удалит приложение. Но это будет работать только для оконного приложения; для автономной установки или приложений, которые не вносят записи в строку удаления реестра, скрипт не будет работать.
Так что в этом случае вам придется найти другой способ удалить приложение.
Код:
источник
Проверьте это, это с помощью пакета найти ключ реестра UninstallString программного обеспечения, а затем удалить программное обеспечение в режиме без вывода сообщений, что является гораздо более надежным по сравнению с wmic, который я обнаружил. https://community.spiceworks.com/topic/2143980-deploy-or-upgrade-java-8-via-shutdown-script-remove-old-javas
источник
Правильный ответ выше, но для установки Windows X64 вам также необходимо проверить:
источник