我想知道是否可以检查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 *”获取已安装的软件包,并分别获取结果并访问版本?
答案 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
}