Reputation: 6451
Is it possible to uninstall a click once client app using windows powershell?
Get-WmiObject Win32_Product -Filter "name='xxxx'"
When I use above, click once application doesn't show up. But it works with other apps. (Getting everything without filter also doesn't contain the click once application. But its visible in add/remove program UI).
Please help.
Thanks in advance.
Upvotes: 5
Views: 7566
Reputation: 60918
read this:
EDIT after comment:
$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
the problem is that is not an Silent unistallation. You have to add code for sendkey() TAB + ENTER to made it silently.
Upvotes: 5
Reputation: 21
Here is a simple PowerShell script which uninstall the ClickOnce app (where DisplayName = your app process name]) and handles the UI:
$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`"~")
Upvotes: 2