インストールしたパッケージの中のexeをAliasでほかのプログラムから呼べるようにする その2

もくじ
https://tera1707.com/entry/2022/02/06/144447#WinUI3

前回の記事

https://tera1707.com/entry/2022/03/22/222243

やりたいこと

以前、↑の記事で、Windowsの「エイリアス」(Alias)について、自作のパッケージアプリに対してエイリアスを付ける場合のやり方を調べた。

それの補足をしたい。

エイリアスの付け方

前回の記事を参照

https://tera1707.com/entry/2022/03/22/222243

Executable とは?

実行ファイルのアプリがインストールされたフォルダからの相対パス

<Extensions>
    <uap3:Extension
           Category="windows.appExecutionAlias"
           Executable="WindowMessageSender\WindowMessageSender.exe" ★コレ
           EntryPoint="Windows.FullTrustApplication">
        <uap3:AppExecutionAlias>
            <desktop:ExecutionAlias Alias="WindowMessageSender.exe" />
        </uap3:AppExecutionAlias>
    </uap3:Extension>
</Extensions>

具体的には、Get-AppxPackageして出てきたInstallLocationからの相対パス

Name              : WindowMessageSender
Publisher         : CN=masa
Architecture      : X64
ResourceId        :
Version           : 1.0.1.0
PackageFullName   : WindowMessageSender_1.0.1.0_x64__erpevgh2z069r
InstallLocation   : C:\Program Files\WindowsApps\WindowMessageSender_1.0.1.0_x64__erpevgh2z069r ★コレ
IsFramework       : False
PackageFamilyName : WindowMessageSender_erpevgh2z069r
PublisherId       : erpevgh2z069r
IsResourcePackage : False
IsBundle          : False
IsDevelopmentMode : False
NonRemovable      : False
Dependencies      : {Microsoft.WindowsAppRuntime.1.4_4000.1309.2056.0_x64__8wekyb3d8bbwe, Microsoft.VCLibs.140.00.Debug_14.0.33519.0_x64__8wekyb3d8bbwe, Microsoft.VCLi
                    bs.140.00.Debug.UWPDesktop_14.0.33728.0_x64__8wekyb3d8bbwe}
IsPartiallyStaged : False
SignatureKind     : Developer
Status            : Ok

エイリアスの利点

URI起動では起動時に引数を渡せないが、エイリアスでの起動では、引数を渡せる。

エイリアスの見方

設定画面 > アプリ > アプリの詳細設定 > アプリ実行エイリアス

から見れる。

エイリアスの意味

パッケージアプリは、パッケージアプリ出ないアプリのように、exeをたたいて起動できない。

また、バージョンによって、インストールフォルダが変わってしまう。DAC(パッケージアプリでないアプリをパッケージするアレ)アプリだと、exeたたいて起動もできたりするが、バージョンによってフォルダ名が変わっていては、updateごとに起動するパスを変えないといけなくなってしまう。
(上のGet-AppxPackageの出力内容をみると、インストールフォルダの名前に、バージョンが入っている)

そのようなときに、エイリアスを持たせておくと便利。

エイリアスの場所を調べる

// where.exe エイリアス と打つと、エイリアスの場所を調べられる
where.exe WindowMessageSender.exe

where の出力が下記。

アプリをインストールすると、下記のような場所に、エイリアスができる。

C:\Users\masa\AppData\Local\Microsoft\WindowsApps\WindowMessageSender.exe

参考

Windowsにおけるアプリ実行エイリアスとは?

https://ascii.jp/elem/000/004/130/4130104/