BuddhiP
BuddhiP

Reputation: 6451

Uninstall ClickOnce application with PowerShell?

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

Answers (2)

CB.
CB.

Reputation: 60918

read this:

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

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

Eyob Demesa
Eyob Demesa

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

Related Questions