如何解决使用PowerShell卸载具有不同版本的ClickOne应用程序
我想使用Powershell卸载具有不同版本的应用程序引用(.appref-ms)。
例如,有一个名为[ApplicationName]的应用程序引用,并且有三个不同的版本。我希望保持[ApplicationName]版本1.0.11的版本,同时卸载1.0.1和1.0.3。
$InstalledApplicationNotMSI = Get-ChildItem HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall | foreach-object {Get-ItemProperty $_.PsPath}
$UninstallString = $InstalledApplicationNotMSI | ? { $_.displayname -eq "ApplicationName"} | select uninstallstring
cmd /c $UninstallString.UninstallString
解决方法
您需要首先找到应用程序版本所在的字段。打开regedit.exe
并导航至:
HKCU:\Software\Microsoft\Windows\CurrentVersion\Uninstall
然后,在PowerShell脚本中,向您在此行进行的查询中添加其他过滤条件:
$UninstallString = $InstalledApplicationNotMSI | ? { $_.displayname -eq "ApplicationName"} | select uninstallstring
例如:
$UninstallString = $InstalledApplicationNotMSI | ? { ( $_.displayname -eq "ApplicationName") -and ($_.DisplayVersion - eq "2.0")} | select uninstallstring
上面使用键下的DisplayVersion
条目进一步将结果过滤到所需的应用程序。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。