微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

AppInstaller XML问题

如何解决AppInstaller XML问题

我正在尝试遵循Microsoft文档 但是我对为什么我的应用安装程序失败感到困惑:

<?xml version="1.0" encoding="utf-8"?>
<AppInstaller xmlns="http://schemas.microsoft.com/appx/appinstaller/2018" Uri="https://xxxxxx.blob.core.windows.net/installer/Package.appinstaller" Version="1.0.0.0">
    <MainPackage Name="MyApp" Version="12.21.289.0" Publisher="CN=xxxxxx" ProcessorArchitecture="x64" Uri="https://xxxxxx.blob.core.windows.net/installer/MyApp.msix"/>
    <UpdateSettings> <OnLaunch HoursBetweenUpdateChecks="1" /> <AutomaticBackgroundTask/> </UpdateSettings>
</AppInstaller>

如果我运行MSIX文件,它将按应安装的方式安装。 我一直在尝试遵循以下步骤: https://docs.microsoft.com/en-us/windows/msix/desktop/azure-dev-ops 我收到此错误

enter image description here

而且,如果我删除UpdateSettings属性,它将仅导致另一个错误: “应用程序安装失败,并显示错误消息:Appinstaller操作失败,错误代码为0x80D05011。详细信息:未知错误(0x80d05011)”

请帮助。

解决方法

虽然 Magikarp 的答案是正确的,但如果您阅读链接的完整线程,则有更好的解决方法。

开发人员: 这个问题是由部分版本号超过一位引起的,比如 1.0.11.0,如果你让构建过程自动增加这些,就会很快发生。解决方法是升级到下一个版本 (1.1.0.0)。

用户: 任务管理器 -> 服务 -> DoSvc -> 重启 这比重新启动系统更快更方便。

这个错误意味着只有 999 个有效的工作版本号(还没有测试 10.1.1 是否可以工作,但我知道 1.10.1 和 1.1.10 不行)所以如果你打算快速迭代,你可能会想要重新考虑使用 Appinstaller 框架,至少在 Microsoft 提出修复方案之前。

另请注意:服务的损坏状态是由此版本编号错误引起的,但一旦发生,重新启动是纠正它的唯一方法。

,

如果这可以帮助任何人,我发现此线程: https://techcommunity.microsoft.com/t5/msix-deployment/windows-10-2004-msix-not-updating-please-check-whether-the/m-p/1466701

基本上,答案是重新启动计算机。我做了,而且似乎已经解决了

,

补充@user3190036 的答案:我设法构建和安装的最大版本号是 65535.65535.65535.9

似乎第 4 个范围是错误所在,因为它不符合作为错误消息一部分的架构,如果您使用这样的任意大数字:

MakeAppx : error: Error info: error C00CE169: App manifest validation error: The app manifest must be valid as per schema: Line 7,Column 33,Reason: '1.0.125500.9' violates pattern constraint of 
'(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])(\.(0|[1-9][0-9]{0,3}|[1-5][0-9]{4}|6[0-4][0-9]{3}|65[0-4][0-9]{2}|655[0-2][0-9]|6553[0-5])){3}'.
The attribute 'Version' with value '1.0.125500.9' failed to parse.

将正则表达式解构为

(0
|[1-9][0-9]{0,3}
|[1-5][0-9]{4}
|6[0-4][0-9]{3}
|65[0-4][0-9]{2}
|655[0-2][0-9]
|6553[0-5])

(\.
(0
|[1-9][0-9]{0,3}
|[1-5][0-9]{4}|6[0-4][0-9]{3}
|65[0-4][0-9]{2}
|655[0-2][0-9]
|6553[0-5])
){3}

我们可以更清楚地看到可能的值范围:0..65535 对于 4 个部分中的任何一个,但由于存在错误,第 4 个部分仅限于一位数 0..9。

对我有用的最小版本号是 0.0.0.0

于 2021 年 5 月 5 日在最新的 Win Server 2019 上测试

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。