もくじ
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