MSIX WinForms包清单验证错误排查求助
针对你遇到的“清单验证错误:元素Applications/Application声明的文件名MT\MT.exe在包中不存在”问题,可按以下步骤排查:
检查打包项目的文件包含规则
本地Release目录存在文件不代表打包项目已将其纳入。打开MSIX打包项目的文件结构,确认MT文件夹及其中的MT.exe是否被包含在打包内容内。若未包含,右键项目→添加→现有项,选中整个MT目录;或调整项目的包含筛选逻辑,确保WinForms项目Release输出的所有文件都被打包。修正清单中的路径分隔符
MSIX清单要求路径使用**正斜杠(/)**作为分隔符,自动生成的路径若用了反斜杠(\)会导致解析失败。打开.appxmanifest文件,找到Application节点的Executable属性,将MT\MT.exe修改为MT/MT.exe后重新打包。确认打包项目的源路径配置
右键MSIX打包项目→属性→应用程序,检查“应用程序源”是否指向WinForms项目的正确Release输出目录(例如..\MT\bin\Release\net6.0-windows)。源路径错误会导致打包时无法抓取到目标文件。清理重建解决方案
缓存文件可能引发异常。依次清理WinForms项目和MSIX打包项目的生成缓存(右键项目→清理),再重新生成WinForms项目,最后重新打包MSIX,避免旧缓存干扰。检查文件权限与状态
确认MT.exe未被标记为只读、锁定,且当前用户拥有读取/执行权限。同时排查是否被杀毒软件隔离,导致打包过程无法正常嵌入该文件。
内容的提问来源于stack exchange,提问作者ccdmfc

