Краткое описание ситуации
У меня есть стороннее программное обеспечение расширения для ArcGIS, которое мне нужно удалить с помощью сценария powershell. Я успешно установил и удалил пакет программного обеспечения, используя AppDeployToolkit для powershell, но я застрял, пытаясь удалить эту программу. Я могу удалить все, запустив MSI с «параметром удаления». К сожалению, это стороннее расширение не имеет опции удаления / удаления в MSI (нет вариантов восстановления, удаления или удаления, когда я запускаю его вручную). Он просто пытается установить снова. Тем не менее, я могу успешно удалить инструмент графического интерфейса программы «Приложения и компоненты» в Windows.
Вот что я пробовал:
попытка A : использование AppDeployToolkit
Execute-MSI -Action "Uninstall" -Path "Path\To\ArcFM.msi"
Вывод: Ошибка: приложение уже установлено
попытка B : с использованием объекта WMI
$app = get-wmiobject -class win32_product |where-object {$_.Name -Match "ArcFM Solution Desktop*"}
$app.Uninstall()
Вывод : 1603
ошибка (это ошибкакод для ошибки установки)
попытка C : использование пакета Uninstall
$app = get-package -provider programs -includewindowsinstaller -name "ArcFM*
Uninstall-Package -Name $app
Вывод: Запрашивает автоматическую установку Microsoft.PackageManagement.NuGetProvider-2.8.5.208.dll
,Когда я ввожу Y
для автоматической установки, я получаю эту ошибку ...
Uninstall-Package : No package found for 'Microsoft.PackageManagement.Packaging.SoftwareIdentity'.
At line:1 char:1
+ Uninstall-Package -Name $arcfm2
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (Microsoft.Power...ninstallPackage:UninstallPackage) [Uninstall-Package], Exception
+ FullyQualifiedErrorId : NoMatchFound,Microsoft.PowerShell.PackageManagement.Cmdlets.UninstallPackage
Мой вопрос
Мои общие вопросы: «Как удалить это программное обеспечение из powershell?»
Но более конкретно ....
I CAN удалить его из «Приложения и функции». Итак, когда я использую графический интерфейс для этого, как именно Windows выполняет удаление? Он не использует MSI и, очевидно, также не использует wmi-объекты. Он не может использовать Uninstall-Package, потому что он даже не установлен на машине. Есть ли способ для меня выполнить тот же процесс, который выполняет добавление / удаление программ для удаления из powershell? Есть ли другой способ удалить программное обеспечение, которое я пропустил?