Как правильно установить AppExecutionAlias, чтобы программа могла запускаться из командной строки? - PullRequest
2 голосов
/ 30 марта 2019

Package.appxmanifest для этого приложения WPF уже установило

<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

1 Ответ

2 голосов
/ 30 марта 2019

Несколько замечаний и исправлений здесь:
1. «Исполняемый файл» должен иметь фактический путь к исполняемому файлу. Обычно EXE находится в подпапке, которую создает пакетный проект VS
2. Замена $ targetnametoken $ не будет работать в расширениях, к сожалению. Таким образом, вы должны поместить фактические имена папок и файлов здесь
3. Свойство «Псевдоним» может содержать любое имя, которое вы хотите использовать для запуска приложения, это может быть фактическое имя исполняемого файла или псевдоним по вашему выбору

  <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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...