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

如何让MAUI应用在Windows系统开机时自动启动?

MAUI Windows应用开机自启解决方案及EXE运行错误说明

一、Debug目录EXE运行错误原因

你直接运行MAUIApp1.exe出现KERNELBASE.dll异常,核心原因是:MAUI Windows应用基于MSIX打包架构,Debug生成的EXE并非独立可执行文件,它需要依赖MSIX运行环境才能正常启动。只有将应用打包为MSIX并安装后,才能通过系统应用启动流程正常运行,单独执行该EXE会缺少必要依赖和上下文,必然触发异常。

二、MAUI Windows应用开机自启可行方案

场景1:应用已发布到Windows Store/安装MSIX包

1. 任务计划程序配置

  • 打开「任务计划程序」创建新任务:
    • 触发器设置为「登录时」
    • 操作选择「启动程序」,程序或脚本填explorer.exe,添加参数填shell:appsFolder\[PackageFamilyName]![AppID]
  • 获取PackageFamilyName和AppID的方式:
    • 打开PowerShell执行Get-StartApps,找到你的应用名称,对应的AppId就是PackageFamilyName!AppID格式的字符串,直接复制即可
    • 或在Windows设置→应用→应用和功能中找到应用,点击「高级选项」查看「包系列名称」,AppID可在项目属性或Package.appxmanifest的<Application Id="..." />节点中获取

2. 生成快捷方式到启动目录

MSIX应用无法直接创建普通快捷方式,可通过PowerShell脚本生成:

$WshShell = New-Object -ComObject WScript.Shell
# 替换为你的应用标识和自定义快捷方式名称
$appId = "YourPackageFamilyName!YourAppID"
$shortcutPath = "$env:APPDATA\Microsoft\Windows\Start Menu\Programs\Startup\MyMAUIApp.lnk"

$Shortcut = $WshShell.CreateShortcut($shortcutPath)
$Shortcut.TargetPath = "explorer.exe"
$Shortcut.Arguments = "shell:appsFolder\$appId"
$Shortcut.Save()

执行脚本后,开机登录时应用会自动启动。

3. 注册表配置

编辑当前用户自启注册表项:

  • 打开注册表编辑器,定位到HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
  • 新建字符串值(名称自定义,如MyMAUIStartup),数据填explorer.exe shell:appsFolder\[PackageFamilyName]![AppID]
  • 重启后即可生效

场景2:开发调试阶段测试自启

如果不想每次打包MSIX,可通过任务计划调用dotnet命令启动项目:

  • 任务计划操作中,程序或脚本填dotnet.exe,参数填run --project "D:\CrossPlatform\MAUIApp1\MAUIApp1\MAUIApp1.csproj" --framework net6.0-windows10.0.19041.0
  • 注意替换项目路径和框架版本为你的实际配置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 04:15:39