检查是否安装了较新版本的AppxPackage

时间:2019-03-14 18:12:36

标签: powershell uwp windows-10-universal appx

我想知道是否可以检查Powershell中是否安装了较新版本的软件包。

我想通过powershell安装软件包“ Microsoft.VCLibs.x86.14.00.appx”。

我通过以下命令执行此操作:Add-AppxPackage。\ Microsoft.VCLibs.x86.14.00.appx

但随后出现错误消息:HRESULT:0x80073D06,无法安装该软件包,因为已经安装了该软件包的更高版本。

我与 Get-AppxPackage * Microsoft.vclibs.14 * 是的,还有更高的版本。 那么有没有办法访问版本并进行比较?然后决定是否安装该软件包?

就像脚本一样,我可以通过“ Get-AppxPackage * Microsoft.vclibs.14 *”获取已安装的软件包,并分别获取结果并访问版本?

1 个答案:

答案 0 :(得分:1)

$FilePath = ".\Microsoft.VCLibs.x86.14.00.appx"
$FileVersion = (Get-ItemProperty -Path $FilePath).VersionInfo.ProductVersion
$HighestInstalledVersion = Get-AppxPackage -Name Microsoft.VCLibs* |
    Sort-Object -Property Version |
    Select-Object -ExpandProperty Version -Last 1

if ( $HighestInstalledVersion -lt $FileVersion ) {
    Add-AppxPackage $FilePath
}