Windows 10S 向けのテスト - デスクトップブリッジ2018年09月29日 18:02

ふと気がつくと、以前いろいろ苦労した、デスクトップブリッジを用いたアプリのWindowsストアでの認証手続が、通常のUWPアプリと同じになっている。

Review Results

それではと、溜まっていた手続を進めてみると、不合格の通知。アプリが起動しない、という。環境を見ると、Windows 10Sで失敗している。忘れていた、ということで、Windows 10Sのテストを実施することに。

Windows 10Sのテストといっても、手許に実機はない。後で述べるが、仮にあったとしても、ストアから配布されるものでないとインストールできない。そこで、Windows 10 Proの環境にDevice Guard整合性ポリシーをセットアップしてテストを行うという。

VMwareでProの環境を一つ作り、ダウンロードしたポリシーを当てる。3種のポリシーがあり、再起動で切り替える。

ひとつめのAuditモードでは、不整合がイベントビューアに記録される。作成した環境をリモートコンピュータに指定して、Deployしたアプリを実行する。致命的でないメッセージも出力されるので、判別が難しい。

ふたつめは、テスト用に用意された証明書を使って確認するもの。手作業でパッケージを作成することになるので、それなりに手間。

signtoolのエラー

手順に従い、signtoolを用い、用意された証明書を使ってサインをするが、エラー。PowerShellのコンソールメッセージに従い、調べてみると、manifestにある「発行者」に不整合がある。

AppxManifestひとつめ

手順に、AppxManifest.xmlファイルを暫定的に書き換える、とあるが、実際は2箇所。
一つは、
bin\(architecture)\Debug\AppX
にあるもの。

AppxManifestふたつめ

もう一つは、
bin\(architecture)\Debug
にあるもの。

両方の発行者を、用意されたテスト用の証明書にしたがって書き換える。VisualStudioで編集するPackage.appxmanifestはいじらない。これでエラーは解消。

証明書ストアの選択

用意したWindows 10Sの方では、テスト用の証明書を受け容れる準備。手順に「証明書ストアの選択」で「Trusted People」を選ぶ、とあるが、日本語の環境では、「信頼されたユーザー」。少々訳がわかりにくい。

テスト用証明書を用いたパッケージのインストール

OneDrive経由で、サインしたパッケージをWindows 10Sのテスト環境に転送し、appxファイルをダブルクリックすると、App Installerが起動し、インストールが完了。PowerShellでAdd-AppxPackageを使いたいところだが、ポリシーによってはPowerShellが起動しない。App Installerは、追加でセットアップされるので、Windows Updateで最新の状態にしておく。

これで問題なく起動すれば、OK。

ストア用の証明書を用いたパッケージはインストールできない

ちなみに、ストアに提出用のappxuploadファイルの拡張子をzipにしてから展開し、中のappxやappxbudleをインストールしようとすると、証明書まわりのエラーになる。Windowsストア経由で入手したものでないといけない。したがって、3つめのポリシーを用いたテストは、開発段階で使えるものではない。

結果、どのテストでも問題はなく、不合格の理由は、Windows 10S由来のものではなさそう、とのオチ。

アーキテクチャからNeutralを外す

以前、合格した別のアプリの環境と見比べてみると、パッケージ作成時のアーキテクチャの選択に誤りがあった模様。Neutralを外し、x86とx64を明示的に選択しなくてはいけなかった。

コメント

コメントをどうぞ

※メールアドレスとURLの入力は必須ではありません。 入力されたメールアドレスは記事に反映されず、ブログの管理者のみが参照できます。

※なお、送られたコメントはブログの管理者が確認するまで公開されません。

名前:
メールアドレス:
URL:
コメント:

トラックバック

このエントリのトラックバックURL: http://c5d5e5.asablo.jp/blog/2018/09/29/8966547/tb

※なお、送られたトラックバックはブログの管理者が確認するまで公開されません。