フォルダー内には、C:\Program Files\WindowsApplications
PC 上のモダン アプリの .exe ファイルがあります。そのうちの 1 つをダブルクリックすると、ポップアップが表示されます。
This application can run only in the context of an app container
モダン アプリをタイルだけでなく、.exe ファイルから直接実行する方法はありますか?
よろしくお願いします!
PS: 私は Windows 10 テクニカル プレビューを使用しています。
答え1
Windows 8 より前では、「スタンドアロン」の .exe アプリケーションがありました。インストールは主に、アプリケーションが必要なものを簡単に見つけて実行できるように、リンクと参照を作成するためのものでした。アプリケーションに必要なすべてのものがアプリケーション自体によって提供される場合、インストールせずに実行できます。アプリ コンテナーは、Win 8 で導入されたセキュリティ概念です。インストールしないと、アプリケーションは自分のフォルダーにアクセスでき、ほとんどのデバイスを含む他のものはほとんどアクセスできません。アプリケーションをインストールするには、アプリ コンテナーで動作するように設計する必要があります。リンク概念とその仕組みについて適切な説明があります。
編集: インストールされたアプリケーションの場合、すべての関連付けとアクセス許可がタイルに添付されているため、.exe を直接実行することはできません。
答え2
次のように explorer.exe シェル コマンドを使用して、コマンド ラインから Windows モダン アプリを実行できます。
explorer.exe shell:AppsFolder\<Package Name>_<Publisher ID>!<App ID>
または、引数を渡す必要がある場合に推奨される start 経由:
start shell:AppsFolder\<Package Name>_<Publisher ID>!<App ID> arg1 arg2
問題は、パッケージ名、発行元ID、アプリIDを見つけることです。このすべての情報が、アプリのMicrosoft Storeリスト、タスクマネージャー、または設定->アプリと機能のアプリリストで利用できると便利です。これまでのところ、これら3つの情報を収集する簡単な方法は見つかりませんでした。タスクマネージャーとファイルエクスプローラーを使用してこれを行う手順を次に示します。私のブログ投稿。
- スタート メニューやタスク バーなどから、通常どおりモダン アプリを開きます。
- タスク マネージャーを起動します (Windows タスク バーを右クリックして [タスク マネージャー] を選択します)
- 興味のあるアプリのリストを展開し、子項目を右クリックして「詳細へ移動」を選択します。
- ハイライト表示された実行ファイルを右クリックし、「ファイルの場所を開く」を選択します。
- 先ほど開いたディレクトリの名前から、パッケージ名と発行元 ID がわかります (解析方法がわかっている場合)。カレンダー アプリを例にすると、ディレクトリ名 "microsoft.windowscommunicationsapps_16005.12827.20560.0_x64__8wekyb3d8bbwe" はパッケージ名 ("microsoft.windowscommunicationsapps") で始まり、次にバージョンとプラットフォームの情報 (この場合は不要) ("16005.12827.20560.0_x64") が続き、最後に発行元 ID ("8wekyb3d8bbwe") が続きます。後で使用するために、パッケージ名と発行元 ID をメモしておいてください。
- そのディレクトリ内のAppxManifest.xmlファイルを開きます。
- AppxManifest.xmlファイルの先頭近くに、Name属性を持つIdentity要素があります。この値が、ディレクトリ名から取得したパッケージ名と一致していることを確認してください。
- AppxManifest.xml ファイルで実行可能ファイル名 (例: HxCalenderAppImm.exe) を検索すると、次のような XML 要素が見つかります。
必要な 3 つの情報を収集したので、コマンド ラインからアプリを開くコマンドを作成できます。
コマンドは次のようになります。各部分は上記で収集した 3 つの情報に置き換えられます。
explorer.exe shell:AppsFolder\<Package Name>_<Publisher ID>!<App ID>
メールとカレンダー パッケージのカレンダー アプリの例を続けると、次のように入力します。
explorer.exe shell:AppsFolder\microsoft.windowscommunicationsapps_8wekyb3d8bbwe!microsoft.windowslive.calendar
マイクロソフト様: これをもっと簡単にしてください!
答え3
少なくとも何らかの方法では、今ではそれが可能だと信じています。たとえば、「Windows Scan」アプリケーションは、「Microsoft.WindowsScan_8wekyb3d8bbwe!App」をターゲットとして使用してショートカットに変換できます。