通过PowerShell命令行无交互安装winget的方案咨询
无交互安装Winget的PowerShell方案
以下几种方法可以实现Winget的无人值守安装,完全适配脚本自动化需求:
方法1:使用Add-AppxPackage无交互安装
先下载Winget的msixbundle包,再通过Add-AppxPackage命令加上无交互参数完成安装:
# 下载指定版本的Winget安装包 Invoke-WebRequest -Uri https://github.com/microsoft/winget-cli/releases/download/v1.3.2691/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -OutFile .\MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle # 无交互安装,强制关闭相关进程避免冲突,跳过确认提示 Add-AppxPackage -Path .\MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle -ForceApplicationShutdown -Confirm:$false
-ForceApplicationShutdown:自动关闭可能影响安装的进程,避免安装失败-Confirm:$false:跳过所有确认弹窗,实现无人值守
方法2:使用DISM命令部署
如果系统支持DISM工具(Windows 10 1709及以上版本默认自带),可以用以下命令无交互安装:
# 先下载安装包(同方法1) Invoke-WebRequest -Uri https://github.com/microsoft/winget-cli/releases/download/v1.3.2691/Microsoft.DesktopAppInstaller_8wekyb3d8bbwe.msixbundle -OutFile .\MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle # 无交互部署,跳过许可协议 DISM /Online /Add-ProvisionedAppxPackage /PackagePath:.\MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle /SkipLicense
/SkipLicense:自动接受许可协议,无需用户手动确认
处理依赖缺失问题
部分Windows 10系统安装Winget时会提示缺少VCLibs或UI.Xaml依赖,可在安装Winget前先部署这些依赖包:
# 下载依赖包(以x64版本为例) Invoke-WebRequest -Uri https://aka.ms/Microsoft.VCLibs.x64.14.00.Desktop.appx -OutFile .\Microsoft.VCLibs.x64.14.00.Desktop.appx Invoke-WebRequest -Uri https://github.com/microsoft/microsoft-ui-xaml/releases/download/v2.7.3/Microsoft.UI.Xaml.2.7.x64.appx -OutFile .\Microsoft.UI.Xaml.2.7.x64.appx # 无交互安装依赖 Add-AppxPackage -Path .\Microsoft.VCLibs.x64.14.00.Desktop.appx -Confirm:$false Add-AppxPackage -Path .\Microsoft.UI.Xaml.2.7.x64.appx -Confirm:$false # 安装Winget Add-AppxPackage -Path .\MicrosoftDesktopAppInstaller_8wekyb3d8bbwe.msixbundle -ForceApplicationShutdown -Confirm:$false
以上所有命令均可直接集成到你的开发机器配置脚本中,实现一键无人值守安装Winget。
内容的提问来源于stack exchange,提问作者Donald Herman
相关产品推荐
相关产品推荐

