如何正确设置AppExecutionAlias,以便程序可以从命令行启动?

问题描述 投票:2回答:1

此WPF应用程序的Package.appxmanifest已设置

<uap5:Extension Category="windows.appExecutionAlias" Executable="PROGRAMNAME.exe"
    EntryPoint="Windows.FullTrustApplication">
          <uap5:AppExecutionAlias>
            <uap5:ExecutionAlias Alias="PROGRAMNAME.exe" />
          </uap5:AppExecutionAlias>
        </uap5:Extension>

但是当我尝试从命令行运行PROGRAMNAME时,会出现错误消息

"The system cannot find the file ....WindowsApps..."

我可以转到那个WindowsApps目录,即使我看到该文件,运行它也会给我带来同样的错误。

我也试过了

<uap3:Extension
    Category="windows.appExecutionAlias"
    Executable="$targetnametoken$.exe"
    EntryPoint="Windows.FullTrustApplication">
          <uap3:AppExecutionAlias>
            <desktop:ExecutionAlias Alias="PROGRAMNAME.exe" />
          </uap3:AppExecutionAlias>
        </uap3:Extension>

Screenshot of command line output and dir content

uwp windows-10 win-universal-app desktop-bridge appxmanifest
1个回答
2
投票

这里有几点需要注意和解决: 1.'可执行文件'需要具有实际的可执行文件路径。通常,EXE位于VS打包项目创建的子文件夹中 2.遗憾的是,$ targetnametoken $ replacement在扩展名中不起作用。所以你必须在这里放置实际的文件夹和文件名 3.“Alias”属性可以包含您要用于启动应用程序的任何名称,它可能是它的实际可执行文件名称,也可能是您选择的别名

  <uap3:Extension
      Category="windows.appExecutionAlias"
      Executable="WpfApp4\WpfApp4.exe"
      EntryPoint="Windows.FullTrustApplication">
    <uap3:AppExecutionAlias>
      <desktop:ExecutionAlias Alias="foo.exe" />
    </uap3:AppExecutionAlias>
  </uap3:Extension>  

在这里分享我的工作测试项目: https://1drv.ms/u/s!AovTwKUMywTNv7oKzN9nznoZmK6XSw

© www.soinside.com 2019 - 2024. All rights reserved.