如何在开始菜单快捷方式中为APPX包的可执行文件添加参数?
在UWP打包的桌面应用快捷方式中添加启动参数
针对你遇到的问题——已经将原生exe打包成APPX并正常安装启动,但无法通过AppxManifest直接添加启动参数,这里有几个可行的解决方案:
方法1:创建批处理中转启动(打包阶段配置)
这个方法需要你重新打包应用,通过批处理文件带参数启动你的launcher.exe:
- 在你的UWP打包文件夹中新建一个
launch_with_param.bat文件,内容如下:@echo off "%~dp0launcher.exe" --param - 打开
AppxManifest.xml,找到<Application>节点,将Executable属性的值从launcher.exe改为launch_with_param.bat:<Application Id="App" Executable="launch_with_param.bat" EntryPoint="Windows.FullTrustApplication"> - 确保你的AppxManifest根节点
Package包含桌面命名空间(如果没有的话添加):<Package xmlns="http://schemas.microsoft.com/appx/manifest/foundation/windows10" xmlns:desktop="http://schemas.microsoft.com/appx/manifest/desktop/windows10" ...> - 重新用
makeappx.exe打包并签名,安装后启动开始菜单的快捷方式就会自动带--param参数运行你的exe了。
方法2:手动创建桌面快捷方式(已安装后配置)
如果你不想重新打包,可以手动在桌面创建带参数的快捷方式:
- 首先获取应用的安装路径:
- 打开PowerShell,运行以下命令(替换
YourPackageName为你的应用包名,可在AppxManifest的Name属性中找到):Get-AppxPackage *YourPackageName* | Select-Object -ExpandProperty InstallLocation - 复制输出的路径,比如
C:\Program Files\WindowsApps\YourPackage_1.0.0.0_x64__abc123
- 打开PowerShell,运行以下命令(替换
- 访问该路径(注意WindowsApps文件夹受系统保护,需要右键选择“获取权限”或通过管理员权限打开),找到
launcher.exe。 - 右键点击
launcher.exe,选择“创建快捷方式”,系统会提示无法在当前位置创建,选择“是”将快捷方式放到桌面。 - 右键点击桌面上的快捷方式,选择“属性”,在“快捷方式”选项卡的“目标”字段末尾添加
--param(注意前面有空格),最终目标类似:"C:\Program Files\WindowsApps\YourPackage_1.0.0.0_x64__abc123\launcher.exe" --param - 点击“确定”,之后双击这个快捷方式就会带参数启动应用了。
方法3:PowerShell脚本自动化创建快捷方式
如果需要批量创建或自动化操作,可以用PowerShell脚本:
# 替换为你的应用包名关键词 $packageNameKeyword = "YourPackageName" $exeName = "launcher.exe" $arguments = "--param" $shortcutName = "Launcher with Param.lnk" $package = Get-AppxPackage *$packageNameKeyword* if ($null -eq $package) { Write-Error "未找到指定的应用包" exit 1 } $exePath = Join-Path $package.InstallLocation $exeName $shortcutPath = Join-Path [Environment]::GetFolderPath("Desktop") $shortcutName # 创建快捷方式 $WScriptShell = New-Object -ComObject WScript.Shell $shortcut = $WScriptShell.CreateShortcut($shortcutPath) $shortcut.TargetPath = $exePath $shortcut.Arguments = $arguments $shortcut.Save() Write-Host "快捷方式已创建到桌面:$shortcutPath"
运行这个脚本就能自动在桌面上生成带参数的快捷方式。
需要注意的是,开始菜单的默认快捷方式由AppxManifest控制,无法直接修改(修改后会被系统重置),所以如果需要开始菜单的快捷方式带参数,推荐使用方法1重新打包配置。
内容的提问来源于stack exchange,提问作者Biswapriyo




