PowerShell 7.4.6 少发的 MSIXBundle 安装包去哪了?完整复盘与避坑指南

发布时间:2026/8/31 19:52:31
PowerShell 7.4.6 少发的 MSIXBundle 安装包去哪了?完整复盘与避坑指南 PowerShell 7.4.6 少发的 MSIXBundle 安装包去哪了完整复盘与避坑指南【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell你盯着下载日志里那行刺眼的 404 发了半天呆PowerShell 7.4.6 的发布资产里PowerShell-7.4.6-win-x64.msixbundle就是不存在。x86 没有ARM64 也没有三个架构的 MSIXBundle 全缺。而 MSIXBundle 正是你在 Windows 上做静默、可回退批量部署的首选格式这一版恰好是 2024 年 10 月的修复版你原本想用它把内网机器一次性升到最新补丁。问题一到底少了什么先把损失摊在一屏上看清楚。缺的文件7.4.6 发布资产中三个架构各少一个.msixbundle安装包。谁被卡住走企业批量部署的自动化脚本想从官方发布渠道拿商店安装包的运维所有把7.4.6写死在资产 URL 里的分发流程。触发条件只发生在 7.4.6 这一个版本、Windows 发布通道上。Linux、macOS 的包以及 Windows 的 zip、msi 都在没受影响。值得说一句这不是构建失败。同一次流水线里各架构的.msix都生成了缺的是把它们打成的 bundle 最终没出现在发布资产里。问题二锅在谁身上排查按发现的顺序走每一步先看到什么再判断排除还是坐实。线索一先看本地安装脚本排除安装端你手上那份 tools/install-powershell.ps1 负责日常安装。它的逻辑在第 280-283 行Windows 下只有两条路-UseMSI走 msi否则下载 zip 解压全程没有 MSIXBundle 分支。结论脚本本身就不该处理 bundle404 是发布资产的事安装端嫌疑排除。线索二再翻 CI 流水线模板确认包其实生成过仓库的.pipelines/templates/下躺着整套打包链路package-create-msix.yml里有CreateMSIXBundlejob负责从三个架构的.msix打出 bundleuploadToAzure.yml负责分发。看它第 271 行这段复制 GitHub 发布资产的过滤条件Where-Object { $_.Extension -notin .msix, .nupkg -and $_.Name -notmatch -gc}为什么看它这一行决定了哪些文件能进 GitHub 发布资产。它只拦.msixmsixbundle本该原样通过。结论生成端和上传端都在工作问题不在没做而在发布管道别的环节把它弄丢了。继续往变更记录里找。线索三对 CHANGELOG锁定发布管线的回移失误打开 CHANGELOG/7.4.md。7.4.62024-10-22一段里除了 .NET SDK 升到 8.0.403还有一条不起眼的变更位于第 552 行Delete the msix blob if its already there (#24353)为什么盯它发布时先清理旧 blob 再上传新包这种删旧上新的管道正是最容易误伤的地方。而 7.4.7 那一段第 498 行写着Fix backport issues with release pipeline (#24835)结论坐实。锅在 7.4.6 发布管线的回移处理上bundle 在发布阶段被吞掉了。顺带说明很多人会猜是应用清单的问题。其实 assets/AppxManifest.xml 第 23 行的TargetDeviceFamily版本约束、第 46-50 行的pwsh.exe执行别名配置都没动过这一版可以排除。问题三怎么补上修复已经在上游完成7.4.7 起恢复。你的动作是一张核对清单每条都带验证。核对上游修复记录打开 CHANGELOG/7.4.md 7.4.7 段看到 Fix backport issues with release pipeline 这条。验证条目存在说明后续版本已恢复正常。核对发布资产访问最新版发布页检查资产列表。验证x64、x86、ARM64 三个.msixbundle文件名齐全。本地装一遍下载最新版 bundle 安装然后跑pwsh -NoLogo -NoProfile -Command $PSVersionTable.PSVersion.ToString()为什么看它一行确认装上的就是你要的新版本。验证输出为7.4.7或更高。核对命令行入口装完后运行Get-Command pwsh。验证路径指向包内安装目录而不是机器上某个旧版 pwsh说明执行别名生效、没被旧安装干扰。给脚本兜底自动化脚本里写死 7.4.6 资产 URL 的逐个改成 7.4.7 及以上并加资产存在性检查。验证预演环境跑一遍部署下载不再报 404。踩坑经验一句话上游丢发布件先核对 CHANGELOG 再动手多数时候升个版本就解决了别急着自己打包。后续升级前留意上游 changelog 里发布管线的变更记录即可。【免费下载链接】PowerShellPowerShell for every system!项目地址: https://gitcode.com/GitHub_Trending/po/PowerShell创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考