2016-09-13 3 views
0

私は、Windows 10のIoTを実行しているデバイスにインストールされるUWPアプリケーションに取り組んでいます。どのように私は一意にappxパッケージを識別する

私のアプリケーションに対応するappxパッケージを一意に識別できる必要があります。私は、ビルドとリリースの間で変更されないものが必要です。

私は `http://insertIPAddressHere:8080/api/app/packagemanager/packagesへのWebリクエストから以下の情報をできる午前:

アイブ氏はビットに敏感であるかもしれない部分を削除していますが、削除何の分野のアイデアを得るためのPowerShellへGet-AppxPackageを入力することができますのように見える。 powershellのPackageFamilyNameは、WebリクエストのPackageRelativeIdと関連しているようです。

{ 
    "InstalledPackages":[ 
     ... 
     { 
     "CanUninstall":true, 
     "Name":"removed", 
     "PackageFamilyName":"removed", 
     "PackageFullName":"removed", 
     "PackageOrigin":5, 
     "PackageRelativeId":"removed", 
     "Publisher":"removed", 
     "Version":{ 
      "Build":68, 
      "Major":0, 
      "Minor":0, 
      "Revision":0 
     }, 
     "RegisteredUsers":[ 
      { 
       "UserDisplayName":"removed", 
       "UserSID":"removed" 
      } 
     ] 
     } 
    ] 
} 

私はPackageRelativeIdにハードコーディングについて考えたが、私はそれが私のアプリを識別するための適切な方法だかはわかりません。ランダムに生成された文字のように見えるものがありますが、ビルドとリビジョンの間で値が変わらないことを私に安心させるものはまだ見つかりませんでした。私は私の解決策のどこにでもそれを見つけることができません。これはコンパイルされたファイルの中にのみ記述されています。

答えて

0

PackageFullNameは、この場合の固有の識別子です。パッケージ名、バージョン、およびパブリッシャをエンコードします。あなたはがあなたの識別子の一部として、パッケージのバージョンを望んでいない場合

PackageFamilyNameを使用しています。あなたはPowerShellを介して、このすべてを見ることができます

get-appxpackage | where name -eq "My.PackageName" 
+0

PackageFamilyName' 'との問題は、私はそれが私の溶液中で定義されていますどこか分からないということです。それが私に知られなくてもそれが変わるチャンスはありますか? –

+0

あなたのマニフェストで定義されています。それは変更されません。 – gdc