スタート メニュー
完全信頼
プロセス
(Win32)
部分信頼
プロセス
(アプリ)
スタート メニュー
完全信頼
プロセス
(Win32)
部分信頼
プロセス
(アプリ)
準完全信頼
プロセス
(ブリッジ)
ユニバーサル アプリ パッケージ
デスクトップ アプリより制限が
存在することに注意
プロセス モデルの違い
従来のまま
Win32 からのマイグレーション
拡張
Windows 10 の機能を有効活用
モダナイズ
プラットフォーム向けに最適化
基本的な APPX パッケージ
ストアでのアプリ公開
従来の成果に対して
アプリ レイアウトのモダナイズ
UWP コンポーネントの追加
クラウドへの拡張
Cortana サポートとの統合
その他の UWP プラットフォームへ
の拡大:
モバイル, HoloLens etc…
従来の成果に対して
通知
タイル
アプリ起動の基本的な Cortana
サポート
UWP の機能を容易に追加できる
ステップ バイナリ エントリー
ポイント
.NET Native F5 デバッグ
1 変換 Win32 Win32 N/A VS 拡張
2 強化 WinMD
を参照
Win32 N/A VS 拡張
3 拡張 Win32 +
CoreCLR
Win32 開発者の責任 VS 拡張
4 マイグレート CoreCLR
+ Win32
UWP 開発者の責任 VS
5 UWP CoreCLR UWP ストアの責任 VS
ツールを使った変換作業
http://aka.ms/converter
http://aka.ms/converterimages
https://go.microsoft.com/fwlink/p/?LinkId=845298
インストーラはサイレント インストールが必須
-Sign パラメータもある
http://aka.ms/converterdocumentjp
※最新ドキュメントは英語版を参照
C:¥> DesktopAppConverter.exe -Installer "[インストーラ]" -
InstallerArguments "[サイレント インストール オプション]" -Destination
"[出力先]" -PackageName "[パッケージ名]" -Publisher "[CN=開発
者]" -Version [バージョン] -MakeAppx –Verify -Verbose
ストアに関連付けるとアプリ インストーラは使えない
インストールできない場合は、Powershell で実行
※一般ユーザー権限で問題無し
PS C:¥> Add-AppxPackage "[作成した Appx ファイル]"
https://docs.microsoft.com/en-us/windows/uwp/porting/desktop-to-uwp-run-
desktop-app-converter
Ap
Windows シェル 拡張
Packaged COM
PS C:¥> Invoke-CommandInDesktopPackage -PackageFamilyName
[パッケージ ファミリ] -AppId [アプリ ID] -Command regedit
PS C:¥> Invoke-CommandInDesktopPackage -PackageFamilyName
[パッケージ ファミリ] -AppId [アプリ ID] -Command regedit
PS C:¥> Invoke-CommandInDesktopPackage -PackageFamilyName
[パッケージ ファミリ] -AppId [アプリ ID] -Command regedit
PS C:¥> Get-AppxPackage [アプリ ID]
[ファイル]-[ハイブの読み込み]
Registory.dat
企業内専用のアプリ
一般公開するアプリ
https://developer.microsoft.com/en-
us/windows/projects/campaigns/desktop-bridge
アプリ名を予約
Visual Studio
でストアと関連付け
AppxManifest を編集
事前申請 メールで情報交換
メールで結果を
受領
• 名前
(First Name、
Last Name)
• Email Address
• 会社名 (オプション)
• 製品 URL (App URL)
• マネタイズの手法
• 国
• アプリを公開する理由
を記述
DAC は XCOPY 配置をサポート
PRI リソースを自動作成
C:¥> DesktopAppConverter.exe -Installer "[入力フォルダ]" -
AppExecutable "[実行ファイル名]" -Destination "[出力先]" -
PackageName "[パッケージ名]" -Publisher "[CN=開発者]" -Version
[バージョン] -MakeAppx –Verify -Verbose
http://aka.ms/converterimages
ホスト OS のビルドと同じイメージを使用
-Setup オプションは 1 度だけ実施すればよい
以前のファイル名は、BaseImage-<build>.wim
PS C:¥> DesktopAppConverter.exe -Setup -BaseImage
Windows_InsiderPreview_DAC_<build>.wim
開 始
事前条件の確認
AppxManifest
の初期化
パラメータ
の確認
変換環境の準備
変換環境への
インストール
仮想ファイル
システムの解析
インストール先
の解析など
仮想レジストリ
の解析
AppxManifestの
更新
Appx レイアウト
の出力
終 了
PRI 構成ファイルが必要です
PriConfig.xml と layout.resfiles は
DAC v1.0.6 の icon_extract より流用します
C:¥> MakePri.exe new -/pr [Appx レイアウト フォルダ]
/cf [PRI 構成ファイル] /o
このコマンドは、Powershell で実行
※一般ユーザー権限で問題無し
PS C:¥> Add-AppxPackage -Register "[変換した
AppxManifest.xml]"
/l オプションは、PRI リソースを使用する場合
C:¥> MakeAppx.exe pack /d "変換した Appx レイアウトのフォル
ダ" /p "作成する Appx のファイル名" /l
-n に指定する開発者は、AppxManifest.xml と一致させる
C:¥> MakeCert.exe -r -h 0 -n "CN=開発者名" -eku
1.3.6.1.5.5.7.3.3 -pe -sv pvk ファイル cer ファイル
C:¥> pvk2pfx.exe -pvk pvk ファイル -spc cer ファイル -
pfx pfx ファイル
C:¥> signtool.exe sign -f pfx ファイル -fd SHA256 -v
appx ファイル
VC 14.0 framework packages for Desktop Bridge
https://blogs.msdn.microsoft.com/vcblog/2016/07/07/using-
visual-c-runtime-in-centennial-project
※テスト環境では、VC ランタイム パッケージのインストールが必要
<Dependencies>
<TargetDeviceFamily Name="Windows.Desktop"
MinVersion="10.0.14316.0" MaxVersionTested="10.0.14316.0" />
<PackageDependency Name=”Microsoft.VCLibs.140.00.UWPDesktop”
MinVersion=”14.0.24217.0″
Publisher=”CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond,
S=Washington, C=US” />
</Dependencies>
<PackageDependency Name=”Microsoft.VCLibs.140.00.UWPDesktop”
MinVersion=”14.0.24217.0″ Publisher=”CN=Microsoft Corporation, O=Microsoft
Corporation, L=Redmond, S=Washington, C=US” />
<PackageDependency Name=”Microsoft.VCLibs.120.00.UWPDesktop”
MinVersion=”12.0. 40653.0″ Publisher=”CN=Microsoft Corporation, O=Microsoft
Corporation, L=Redmond, S=Washington, C=US” />
<PackageDependency Name=”Microsoft.VCLibs.110.00.UWPDesktop” MinVersion=”
11.0. 61135.00″ Publisher=”CN=Microsoft Corporation, O=Microsoft Corporation,
L=Redmond, S=Washington, C=US” />
Identity 要素
DisplayName 要素
PublisherDisplayName 要素
uap:VisualElements 要素の
DisplayName属性
http://go.microsoft.com/fwlink/?LinkId=797871
https://github.com/Microsoft/DesktopBridgeToUW
P-Samples
https://github.com/shozoarai/DesktopBridgeSampl
e
http://aka.ms/desktopbridge
https://developer.microsoft.com/en-
us/windows/projects/campaigns/desktop-bridge
セッションアンケートにご協力ください
 専用アプリからご回答いただけます。
decode 2017
 スケジュールビルダーで受講セッションを
登録後、アンケート画面からご回答ください。
 アンケートの回答時間はたったの 15 秒です!
Ask the Speaker のご案内
本セッションの詳細は『Ask the Speaker Room』各コーナーカウンタにて
ご説明させていただきます。是非、お立ち寄りください。
© 2017 Microsoft Corporation. All rights reserved.
本情報の内容(添付文書、リンク先などを含む)は、作成日時点でのものであり、予告なく変更される場合があります。

[MR09] デスクトップ アプリをストアから配布するための A to Z