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

如何通过命令行启动MSIX安装的应用?含参数启动及WinForms适配方案

命令行启动MSIX应用及带参数启动的解决方案

一、基础命令行启动MSIX应用

你提到的explorer.exe shell:appsFolder\<PackageFamilyName>!<App ID>确实是启动MSIX应用的有效方式,补充两种获取关键信息的快捷方法:

  • 获取PackageFamilyName:用PowerShell执行以下命令(替换你的应用名称为实际名称):
    Get-AppxPackage | Where-Object {$_.Name -match "你的应用名称"} | Select-Object PackageFamilyName
    
  • 获取App ID:打开Package.appxmanifest文件,找到<Applications>节点下的<Application>标签,其Id属性值就是App ID。

二、带参数启动的可行方式

官方并非完全禁止带参数启动,你可以通过以下两种方式实现:

  1. 直接通过命令行传递参数

    • 在CMD中使用start命令:
      start shell:appsFolder\<PackageFamilyName>!<App ID> "参数1 参数2"
      
    • 在PowerShell中使用Start-Process:
      Start-Process "shell:appsFolder\<PackageFamilyName>!<App ID>" -ArgumentList "参数1", "参数2"
      

    注意:部分应用需要在Package.appxmanifest中声明支持命令行参数,确保应用的<Application>节点下包含对应的扩展配置。

  2. 通过自定义URI协议传递参数
    在Package.appxmanifest中添加协议扩展:

    <Applications>
      <Application Id="App" ...>
        <!-- 原有配置 -->
        <Extensions>
          <uap:Extension Category="windows.protocol">
            <uap:Protocol Name="myappcmd">
              <uap:DisplayName>My App Command Protocol</uap:DisplayName>
            </uap:Protocol>
          </uap:Extension>
        </Extensions>
      </Application>
    </Applications>
    

    打包安装后,即可通过以下命令启动并传递参数:

    myappcmd://?param=value1&another=value2
    

    WinForms应用中可以通过Environment.GetCommandLineArgs()获取协议URL,再解析其中的参数。

三、WinForms应用的替代方案(若上述方法受限)

如果因沙箱或配置限制无法直接传递参数,可以尝试以下两种方案:

  • 共享临时文件传递参数

    1. 命令行启动前,将参数写入应用可访问的临时文件(如%LOCALAPPDATA%\YourApp\args.txt,MSIX应用对该目录有读写权限);
    2. 启动MSIX应用后,在WinForms的启动逻辑中读取该文件的参数,处理完成后删除文件。
  • 注册表传递参数

    1. 命令行中写入参数到HKCU\Software\YourApp\LaunchArgs注册表项;
    2. WinForms应用启动后读取该注册表项,处理参数后删除对应项。
      注意:MSIX应用默认只能访问沙箱内的注册表分支,需在Package.appxmanifest中添加注册表权限声明,或使用HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\AppContainer\Storage下的对应路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 00:12:40