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

UWP AppInstaller发布后更新设置复原,如何禁用启动时更新?

UWP AppInstaller 更新控制问题解答

1. 禁用应用启动时的自动更新检查

要彻底禁用启动时的更新检查,需完成两个关键调整:

  • 升级AppInstaller schema版本:你当前使用的http://schemas.microsoft.com/appx/appinstaller/2017/2版本不支持直接禁用OnLaunch检查,需升级到2019/2或更高版本(如2021/2)。
  • 设置OnLaunch的Enabled属性为false:在<UpdateSettings>节点中替换原有<OnLaunch>元素,明确禁用启动检查。

修改后的UpdateSettings代码片段:

<UpdateSettings>
    <OnLaunch Enabled="false" />
</UpdateSettings>

注意:若继续使用2017/2 schema,设置HoursBetweenUpdateChecks="0"无法彻底禁用检查(系统仍会在每次启动时尝试检查),必须升级schema才能使用Enabled属性。

2. 自定义计划更新或手动触发更新(无需修改已发布应用)

完全可以实现,且无需改动已发布的应用包:

手动触发更新

在UWP应用中调用AppInstallerManager类的API,手动触发更新检查:

using Windows.Management.Deployment;

private async Task TriggerManualUpdateCheck()
{
    var installerManager = AppInstallerManager.GetDefault();
    var updateResult = await installerManager.CheckForUpdatesAsync();
    
    if (updateResult.UpdateAvailability == UpdateAvailability.UpdateAvailable)
    {
        // 可提示用户,或直接启动更新流程
        await installerManager.StartUpdateAsync(updateResult);
    }
}

你可以将此方法绑定到应用内的“检查更新”按钮,让用户手动触发。

计划更新

有两种可行方案:

  • 应用内后台任务:注册定时后台任务(如时间触发器),在任务中调用上述手动检查方法。注意后台任务有运行时长限制,适合短周期(如每日、每小时)的更新检查。
  • 系统任务计划:通过Windows任务计划程序创建定时任务,执行PowerShell命令触发更新:
    Add-AppxPackage -Update -AppInstallerFile "C:/Updates/UpdateDemo2_x64.appinstaller"
    
    这种方式无需修改应用,完全通过系统层面控制更新时机。

3. 打包后.appinstaller文件复原是否属于预期行为?

是预期行为。原因在于:
Visual Studio的MSIX打包项目会根据项目内的.appinstaller源模板文件和打包配置,自动生成输出目录中的.appinstaller文件。若直接修改输出目录(如bin/x64/Debug)下的.appinstaller文件,下次重新打包时,VS会用源模板覆盖你的修改。

正确做法是:在VS打包项目中找到.appinstaller源文件(通常位于项目根目录,命名为AppInstaller.xml或类似),直接修改该源文件后重新打包,生成的输出文件会保留你的设置。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.11 11:42:37