решено
Start-Process -FilePath "C: \ Program Files \ OpenVPN \ Uninstall.exe" -ArgumentList "/ S / qn"
Мне было поручено установить OpenVPN-Connect-3.0.0.272 на наших более 150 удаленных пользователей Windows 10 машин. Проблема в том, что предыдущая версия OpenVPN-2.4.7-I603 не удаляется без вывода сообщений через командную строку; более конкретно, сценарий Powershell ISE.
- Я попытался удалить его напрямую, получив имя через установленные приложения:
Get-WmiObject -Class Win32_Product
но OpenVPN не отображается в списке как установленная программа, поэтому его нельзя выбрать для удаления.
Я заметил, что в "C: \ Program Files \ OpenVPN \" есть файл "Uninstall.exe", который запускается вручную, поэтому подумайте так:
msiexe c .exe / x "C: \ Program Files \ OpenVPN \ Uninstall.exe" / qn
и получить ошибку "Не удалось открыть этот установочный пакет. Обратитесь к поставщику приложения, чтобы убедиться, что это действительный Windows установочный пакет. "
Попытка удаления через
Start-Process -FilePath "C: \ Program Files \ OpenVPN \ Uninstall.exe" -ArgumentList "/ s / qn"
успешно запускает деинсталляцию GUI, но тихий режим не включен, поэтому для него требуется пользовательский интерфейс.
Попытка удаления через GUID UninstallString, найденная в
Компьютер \ HKEY_LOCAL_MACHINE \ SOFTWARE \ Microsoft \ Windows \ CurrentVersion \ Uninstall \ OpenVPN
имеет только значение данных "C: \ Program Files \ OpenVPN \ Uninstall.exe ", а не GUID.
Чего мне не хватает, так что это можно удалить без вывода сообщений?