Удалить приложение ClickOnce с помощью PowerShell? - PullRequest
5 голосов
/ 14 сентября 2011

Можно ли удалить клиентское приложение с одним щелчком мыши с помощью Windows powershell?

Get-WmiObject Win32_Product -Filter "name = 'xxxx'"

Когда я использую выше, один раз нажмите приложениене появляетсяНо это работает с другими приложениями.(Получение всего без фильтра также не содержит приложения «щелкнуть один раз». Но оно отображается в пользовательском интерфейсе программы добавления / удаления).

Пожалуйста, помогите.

Заранее спасибо.

Ответы [ 2 ]

4 голосов
/ 14 сентября 2011

прочитайте это:

http://social.msdn.microsoft.com/Forums/en-US/winformssetup/thread/51a44139-2477-4ebb-8567-9189063cf340/

РЕДАКТИРОВАТЬ после комментария:

$InstalledApplicationNotMSI = Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall | foreach-object {Get-ItemProperty $_.PsPath}


$UninstallString = $InstalledApplicationNotMSI | ? { $_.displayname -eq "YourAppicationDisplayName" } | select uninstallstring


cmd /c $UninstallString.UninstallString

проблема в том, что это не бесшумная деинсталляция.Вы должны добавить код для sendkey () TAB + ENTER, чтобы сделать это молча.

1 голос
/ 27 июня 2014

Вот простой скрипт PowerShell, который удаляет приложение ClickOnce (где DisplayName = имя процесса вашего приложения]) и обрабатывает пользовательский интерфейс:

$InstalledApplicationNotMSI = Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall | foreach-object {Get-ItemProperty $_.PsPath}
$UninstallString = $InstalledApplicationNotMSI | ? { $_.displayname -match "[your app process name]" } | select UninstallString 
$wshell = new-object -com wscript.shell
$selectedUninstallString = $UninstallString.UninstallString
$wshell.run("cmd /c $selectedUninstallString")
Start-Sleep 5
$wshell.sendkeys("`"OK`"~")
...