You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置MSIX应用自定义更新设置?手动修改安装文件报错求解决方案

MSIX侧载更新配置:实现启动时强制更新并阻止应用激活

一、手动修改App Installer文件出错的原因

你遇到的解析错误大概率是XML格式不规范导致的——默认配置里的<OnLaunch>标签没有正确闭合(自闭合标签需要以/>结尾),修改后必须保证XML结构完整、标签闭合正确。

二、Visual Studio图形化配置(推荐)

使用Windows应用打包项目模板时,大部分更新配置可以通过图形界面完成,无需手动编辑XML:

  1. 右键你的MSIX打包项目 → 属性
  2. 切换到发布选项卡,点击配置更新按钮
  3. 在弹出的更新设置窗口中:
    • 勾选「应用启动时检查更新」
    • 将「检查更新的频率」设置为「每次启动应用时」(对应HoursBetweenUpdateChecks="0")
    • 勾选「下载更新前提示用户」(对应ShowPrompt="true")
    • 勾选「下载并安装更新前阻止应用启动」(对应UpdateBlocksActivation="true")

注意:ForceUpdateFromAnyVersion选项在Visual Studio图形界面中没有直接入口,需要手动修改App Installer文件补充。

三、正确手动修改App Installer文件的步骤

  1. 确保在打包项目的发布设置中已勾选「生成App Installer文件」,先正常生成一次包和App Installer文件
  2. 找到生成的.appinstaller文件(默认在发布输出目录下),用文本编辑器打开
  3. 找到<UpdateSettings>节点,替换为以下规范的XML代码:
    <UpdateSettings>
        <OnLaunch HoursBetweenUpdateChecks="0" ShowPrompt="true" UpdateBlocksActivation="true" />
        <ForceUpdateFromAnyVersion>true</ForceUpdateFromAnyVersion>
    </UpdateSettings>
    
    重点:<OnLaunch>标签必须是自闭合格式(/>结尾),不能遗漏闭合符号。

四、自定义更新流程的替代方案

如果上述配置仍不满足需求,可以在WPF应用代码中调用MSIX更新API手动控制更新逻辑:

  1. 在应用启动初期调用Package.Current.CheckUpdateAsync()检查更新
  2. 若检测到可用更新,调用Package.Current.UpdateAsync()触发下载安装
  3. 安装完成后,通过进程启动实现应用重启

示例代码片段:

using Windows.ApplicationModel;
using System.Diagnostics;

// 在App.xaml.cs的OnStartup方法中添加
protected override async void OnStartup(StartupEventArgs e)
{
    base.OnStartup(e);
    
    try
    {
        var updateResult = await Package.Current.CheckUpdateAsync();
        if (updateResult.Status == PackageUpdateStatus.Available)
        {
            var result = MessageBox.Show("检测到新版本,是否立即更新?", "更新提示", MessageBoxButton.YesNo);
            if (result == MessageBoxResult.Yes)
            {
                await Package.Current.UpdateAsync();
                Application.Current.Shutdown();
                Process.Start(Environment.ProcessPath);
            }
        }
    }
    catch (Exception ex)
    {
        MessageBox.Show($"更新检查失败:{ex.Message}");
    }
}

内容的提问来源于stack exchange,提问作者Rushy288

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 22:25:20