如何以编程方式卸载UWP应用

时间:2018-12-10 14:29:10

标签: windows powershell uwp windows-store

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

reflect

并以管理员身份

Remove-AppxPackage -Package AppleInc.iTunes_12092.6.37131.0_x64__nzyj5cx40ttqa 

命令执行正常,没有错误,并且应用程序在开始菜单和添加/删除程序中消失。但是,当我执行这些命令后开始安装iTunes(台式机版本,而不是商店)时,它抱怨仍在安装商店版本。

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

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

重要的一点是,对于某些用户而言,该命令可以正常运行,并且我可以安装iTunes。

我的问题是,我想念什么吗?是否有需要清除的缓存?为了完全卸载此Windows应用商店应用,在上述命令之后还需要执行其他一些命令(而非Remove-AppxPackage)?

1 个答案:

答案 0 :(得分:0)

尝试这样的事情:

$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"
    }
}