Windows Server 2019装WinGet总是失败?winget-install如何静默搞定VC++运行库与全部依赖大坑
Windows Server 2019装WinGet总是失败winget-install如何静默搞定VC运行库与全部依赖大坑【免费下载链接】winget-installInstall WinGet using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2019/2022.项目地址: https://gitcode.com/gh_mirrors/wi/winget-install在 Windows Server 2019 上安装 WinGetwinget命令行包管理器时手动安装常常因为缺少 VC 运行库、UI.Xaml、VCLibs 等依赖而报错中断。开源项目 winget-install 是一个 PowerShell 安装脚本它能自动检测系统环境静默补全 VC 运行库与全部依赖让 WinGet 在 Windows 10/11 和 Server 2019/2022 上一次性装好。为什么 Server 2019 装 WinGet 总是失败WinGet 本质是一个 UWP 应用包Microsoft.DesktopAppInstaller它运行依赖三个隐形组件Visual C Redistributable提供 C 运行时 DLL缺失时直接崩溃VCLibs.140.00.UWPDesktopUWP 应用的 C 运行时库UI.Xaml.2.8WinGet 界面依赖的 XAML 组件Server 2019 出厂时并不带这些组件而微软官方安装文档要求手动逐个下载 Appx 包安装步骤繁琐且容易漏项。这也是很多管理员装了又坏、坏了又装的根源。winget-install 的官方说明见 README.md兼容性覆盖 Windows 101809、Windows 11、Server 2019/2022/2025 以及 Windows Sandbox但不支持 Server 2016 及更早版本。自动修复依赖的完整流程脚本先检测系统版本与 CPU 架构Server 2019 会被路由到专用安装通道见 winget-install.ps1然后按顺序完成以下工作。1️⃣ 静默安装 VC 运行库脚本通过 Test-VCRedistInstalled 函数做双重检测先查注册表中 VC 14.0 运行库的主版本号再确认系统目录里的concrt140.dll是否真实存在避免注册表说有、文件其实没有的假象。只有确认未安装或版本过低时才会从微软官方源下载对应架构x64/arm64的安装包并用/quiet /norestart参数完全静默安装全程无需人工点击任何下一步。相关逻辑位于 winget-install.ps1。2️⃣ 自动补齐 VCLibs 与 UI.Xaml 依赖脚本从 winget-cli 官方发布中获取DesktopAppInstaller_Dependencies.zip解压出与系统架构匹配的 Appx 包并逐个安装见 winget-install.ps1。更聪明的是版本比对Install-LibIfRequired 会先查询已安装的依赖版本只有下载的版本更新时才覆盖安装因此重复运行不会报错也不会覆盖系统已有的更新版本。3️⃣ 修正 PATH 与文件夹权限Server 2019 上常见的另一个坑是winget 文件夹权限不足、PATH 未配置导致命令找不到。Apply-PathPermissionsFixAndAddPath 函数会自动为 winget 目录添加 Administrators 完全控制权限并把路径写入系统 PATH——这一步手动安装极易遗漏。一键安装步骤三种方式任选方式一PowerShell Gallery 安装官方推荐以管理员身份打开 PowerShell执行Install-Script winget-install -Force winget-install安装过程中按A接受全部提示即可。此方式始终获取经过测试的正式发布版支持全部参数。方式二单行命令直接运行irm asheroto.com/winget | iex适合快速在远程服务器上执行脚本会自动拉取最新签名版本。方式三本地下载后运行下载最新发布的winget-install.ps1到服务器以管理员权限执行.\winget-install.ps1常用参数与故障排查参数作用-Force即使已安装 WinGet 也强制重新安装修复损坏-AlternateInstallMethod主安装方式失败时切换备用安装通道并支持用-WingetVersion指定版本-ForceClose遇到resource in use错误时自动重启脚本并结束占用进程-Debug输出调试信息定位依赖安装卡点-Wait/-NoExit脚本结束后暂停几秒或不退出方便查看输出排查建议摘自 README.md安装报错 → 先加-AlternateInstallMethod重试怀疑脚本本身问题 → 加-Debug查看详细日志未来某天 winget 突然失效 → 重新运行winget-install -Force通常就是 PATH 或依赖问题窗口一闪而过 → 使用-Wait或-NoExit保留输出 提示每个新版本发布前都会在 Windows 10、11、Server 2019、Server 2022 的干净安装环境中实测因此可以相对放心地用于生产服务器。总结winget-install 把 Server 2019 上安装 WinGet 最头疼的三件事——VC 运行库检测安装、VCLibs/UI.Xaml 依赖补齐、PATH 与权限修正——全部自动化并静默完成且支持重复执行、版本智能比对。对于需要批量交付服务器的运维场景一条irm asheroto.com/winget | iex就能彻底告别装 WinGet 卡依赖的大坑。【免费下载链接】winget-installInstall WinGet using PowerShell! Prerequisites automatically installed. Works on Windows 10/11 and Server 2019/2022.项目地址: https://gitcode.com/gh_mirrors/wi/winget-install创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考