【问题标题】:How to uninstall an UWP app programmatically如何以编程方式卸载 UWP 应用
【发布时间】:2019-05-11 11:23:56
【问题描述】:

我一直在尝试以编程方式卸载 Windows Store App (iTunes)。我使用了以下命令:

Remove-AppxPackage -Package AppleInc.iTunes_12092.6.37131.0_x64__nzyj5cx40ttqa 

作为管理员

Remove-AppxPackage -Package AppleInc.iTunes_12092.6.37131.0_x64__nzyj5cx40ttqa -AllUsers

命令执行良好,没有错误,应用程序在开始菜单中消失,添加/删除程序。但是当我在执行这些命令后开始安装 iTunes(桌面版本,而不是商店)时,它抱怨仍然安装了商店版本。

如果我转到“C:\Program Files\WindowsApps\AppleInc.iTunes_12075.9.34012.0_x64__nzyj5cx40ttqa”那里仍然有文件。

但是,如果我通过添加/删除而不是命令行删除 iTunes 商店版本,它可以正常工作,然后我可以安装 iTunes 标准。

重要的一点是,对于某些用户来说,该命令运行良好,我可以安装 iTunes。

我的问题是,我错过了什么吗?是否有需要清理的缓存?需要在上述命令之后执行的其他一些命令(除 Remove-AppxPackage 之外)以完全卸载此 Windows 应用商店应用程序吗?

【问题讨论】:

  • 我已经测试了第二个命令,它运行良好,调用命令后我可以成功安装 iTunes 桌面版。
  • 确实我忘记了它对某些用户有效,但其他人有这个问题。我找不到标准方案。相同的操作系统版本,相同的 iTunes 版本。
  • 你检查过这个document

标签: windows powershell uwp windows-store


【解决方案1】:

试试这样的:

$AppList = "AppleInc.iTunes"
ForEach ($App in $AppList) {
    $PackageFullName = (Get-AppxPackage $App).PackageFullName
    $ProPackageFullName = (Get-AppxProvisionedPackage -online | where {$_.Displayname -eq $App}).PackageName
    write-host $PackageFullName
    Write-Host $ProPackageFullName
    if ($PackageFullName) {
        Write-Host "Removing Package: $App"
        remove-AppxPackage -package $PackageFullName
    }
    else{
        Write-Host "Unable to find package: $App"
    }
    if ($ProPackageFullName) {
        Write-Host "Removing Provisioned Package: $ProPackageFullName"
        Remove-AppxProvisionedPackage -online -packagename $ProPackageFullName
    }
    else {
        Write-Host "Unable to find provisioned package: $App"
    }
}

【讨论】:

    猜你喜欢
    • 2019-08-05
    • 1970-01-01
    • 2012-03-17
    • 2011-10-12
    • 1970-01-01
    • 2011-04-24
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多