Desktop Bridge と Windows 10 S について

2017年5月2日に Windows 10 S と Surface Laptop が発表されました。 当初は日本語の FAQ のストア アプリの説明に「Desktop Bridge 対応のアプリも含む」と記載されていました。この記述は、英語版の FAQ に記載がなっかたことが理由かどうかは知りませんが、現在は「Windows ストア アプリ」とだけ記載されています。また、Build 2017 では、現在の Linux SubSystem を使った SUSE や Fedora なども Windows ストアから配信されると発表がありました。Winodws 10 S でコマンドラインの扱いがどうなるかについては、コマンドライン チームが Windows 10 S では動作しないと明言しています。具体的には、以下のようなものは動作しないことが確認できています。 コマンド ライン(cmd.exe) PowerShell (powershell.exe) レジストリ エディタ(regedit.exe) etc つまり、OS に影響を与える可能性のあるプログラムが動作しないようにロック ダウンされているのが、Windows 10 S という OS になります。Windows ストア から配信される Desktop…

0

DAC と PRI リソースについて

English Follow (Added at 2-Feb). 以前に Desktop App Converter で変換したアプリで、スケーリング対応アセットを使用する方法を解説しました。先週頃(1/23の週)に DAC アプリが、バージョン 1.0.6 にアップデートされました。ドキュメント上は、Icon Extraction とクリーン アップの向上、バグ対応とだけ記載されていますが、使ってみて大きな変更点と言えるのが、提供されるアイコンなどのリソースの扱い方が変更されたことです。具体的には、次のような変更が行われています。 アイコンの種類が大幅に増えたこと AppLargeTile.scale-xxx.png, AppList..scale-xxx.png, AppMedTile.scale-xxx.png, AppSmallTile.scale-xxx.png, AppWideTile.scale-xxx.png, AppStoreLogo.scale-xxx.png, AppList.targetsize-xxx.png, scale は、100、125、150、200、400 の 5 種類で targetsize は、16、24、32、48、256 で通常と altform-unplated の 2 種類のために 10 種類になっています。エントリー ポイントの実行ファイル (EXE) にアイコン リソースが含まれていると、アイコン リソースから自動生成されます。 スケーリング対応による AppxManifest.xml への影響 Resource 要素の uap:Scale に 100、125、150、200、400 を定義。 各種のアセット名は、スケーリング対応(ファイル名に scale-xxx…

0

DAC で バッチ ファイルを使うには

今回は、Desktop App Converter(DAC) に指定するインストーラをバッチ ファイルにする方法を説明します。以前から、試して見ようと考えていましたが、なかなか作業ができていなかったものになります。最初に、変換するためのインストーラとして、以下のようなフォルダ構造があると仮定します。 C:\Work\BAT フォルダ : 変換の作業フォルダー C:\Work\BAT\Input フォルダ : インストーラなどを配置するフォルダMyApp.exe : 実行ファイルInstall.bat : インストール用のバッチ ファイル Install.bat には、次のような内容を記述しています。 mkdir “%ProgramFiles%\MyApp” xcopy “.\*” “%ProgramFiles%\MyApp” /S /E exit 0 xcopy コマンドのソースに「.\*」のように、カレントからの相対パスを記述しているのが重要な点になります。 この準備ができたら、DAC を管理者権限で起動して、次のように入力します。 cd C:\Work\BAT DesktopAppConverter.exe -Installer “.\Input\Install.bat” -Destination “.” -AppInstallPath “C:\Program Files\MyApp” -AppExecutable “C:\Program Files\MyApp\MyApp.exe” -PackageName “myapp” -Publisher “CN=myapp” -Version “0.0.0.1” -Vervos パラメータが長いので折り返していますが、カレントを変更して、DACのコマンドをワン ライナーで入力します。このコマンドでの特徴は次のようになります。…

0

Windows 互換性ガイドブックを公開しました

お待たせしました。という方が正しいような気がしますが(何年も待たせるのという声が聞こえてきそうです)、Windows 8.1 と Windows Server 2012 R2 に対応した Windows 互換性ガイドブックの翻訳版を公開しました。この公開に合わせて、Windows 10 の互換性ガイドブックも Anniversary Update 関係で更新しています。 日本語版の互換性ガイドブックは、Technet の Windows 10 法人向け技術情報まとめ ページに掲載してあります。 何年も Windows 8.1 に対応した互換性ガイド ブックが公開されなかった経緯ですが、 Windows 8 と Windows Server 2012 互換性ガイドブックが、Windows 7 以前からのマイグレーション用に翻訳されて公開されていました。 Windows 8.1 がリリースされた時に、新しい互換性ガイドブックが翻訳されませんでした。 翻訳されなかったため、互換性ガイドブックのダウンロード センターのページでは、英語版を選択すると Windows 8.1 の Cookbook がダウンロードできて、日本語版を選択すると Windows 8 と Windows Server 2012 互換性ガイドブックのダウンロードができました。 ダウンロード センターのコンテンツの整理作業が行われた時に、日本語版のWindows 8…

0

DsktopBrigde (DACを含む) サンプルについて

今回は、Desktop App Converter のチュートリアル的なサンプルであり、DesktopBridge Sample を紹介します。具体的には、実際のコードを見て頂くとして、この記事ではどのようなサンプルが提供されていて、どのような構造になっているかを解説します。 最初の入門として見るのは、HelloWorldSample か JourneyAcrossTheBridge のサンプルになります。 HelloWorldSample cs フォルダと CentennialPackage フォルダが含まれており、cs フォルダが C# のコンソール アプリケーションになっており、CentennialPackage フォルダは、手作業でAppxを作成するための Appx レイアウト フォルダになっています。このサンプルでは、Desktop App Converter を使用することなく、デスクトップ アプリを Appx パッケージにすることを学習するためのものになっています。 JourneyAccrossTheBridge このサンプルには、ステップ1からステップ5までの5種類が含まれています。学習の流れで説明すると、ステップ1 から ステップ 3が、Windows Forms のデスクトップ アプリを Appx 化 (ステップ1) して、タイル更新を追加(ステップ2)、バックグラウンド タスクを追加(ステップ3) と順番に既存のデスクトップ コードを機能拡張する流れになっています。 ステップ 4 以降は、それまでの流れではなく、UWP のアプリから デスクトップのコードを アプリ サービスとして使用し(ステップ4)、完全な UWP アプリへの移行(ステップ 5)となっています。 ステップ1…

0

アプリのスケーリング対応アセットについて

TechSummit では、「デスクトップ アプリを Windows ストアで公開するには」というお話をさせていただきました。この話では、Desktop App Converter (以降は、DAC と略します)を使用して、インストーラを Appx に変換したり、変換できるアプリの条件などを色々と説明しました。色々な作業を得てから、最終的なアプリに仕上げる時に必要になるタイル アイコンなどを説明するのが、今回の話題になります。 タイルなどのアセットの詳細は、「タイルとアイコン アセットのガイドライン」に詳しく説明があります。内容を読むと、スケール ベースとターゲット ベースのアセットがあることが理解できます。 スケール ベース xxxxxx.scale-100.png など、スケーリングの倍率(100、200、400、etc)に応じて切り替えるアセット。 ターゲットベース xxxxxx.targetseize-16.png など、ターゲット サイズに応じて切り替えるアセット(正方形)で、エクスプローラなどの Windows のシステム側で使用するものになります。 Visual Studio 2015 で UWP アプリのプロジェクトを作成すると、自動的にスケール ベースのアセットなどが使用できる状態になっていますので、使用するアセットをプロジェクトに追加していくことで、ターゲット サイズのアセットなども使えるようになります。ちなみに、UWP プロジェクトを新規で作成した時に、テンプレートが作成するアセットは次のものになっています。 LockScreenLogo.scale-200.png SplashScreen.scale-200.png Square44x44Logo.scale-200.png Squrae44x44Logo.targetsize-24_altform.png Square150x150Logo.scale-200.png StoreLogo.png Wide310x150Logo.scale-200.png つまり、ロックスクリーン、スプラッシュ スクリーン、小さいタイル、正方形タイル、ワイドタイルと システム用のターゲット サイズのアセット、ストア ロゴの 7 つが含まれています。一方で、DAC で作成した アプリに含まれているのは、次のようなアセットになります。 SampleAppx.44×44.png (44px x 44px)…

0

F# ブート キャンプが開催されます

2016年11月19日に、イギリスのケンブリッジより来日した Tomas Petrics さんが参加する F# Boot Camp が開催されます。Tomas さんは、Microsoft Research で Don Syme さん(F#の言語設計者)と一緒にF#の言語設計に携わっており、F# Foundation の設立メンバーでもあり、F#の啓発活動を幅広く実施されいます。プログラミング言語の開発に携わった方のお話を聞ける機会ですので、ご興味のある方は是非、ご参加ください。 そして、前日の11月18日の夜には、F#談話室が開催されます。F#談話室は、無償の勉強会ですが、Tomasさんが参加されます。通訳者はいませんが、下手な英語でもTomasさんとコミュニケーションしてみませんか?

0

Microsoft Tech Summit へ参加させていただきます

11月1日から11月2日に Microsoft Tech Summit が開催されます。このイベントで、急遽、セッションを持つことになりました。「Desktop App Converter で変換したアプリの公開方法」と題して、お話をさせていただきます。9月に正式公開された Desktop App Converter Ver 1.0 を使って、デスクトップ アプリの変換方法から、サイドローディング、そしてストアへ公開するにはどうしたら良いかという話題を説明します。ご興味がありましたら、ご参加ください。

0

Desktop App Converter について

Desktop App Converter の v1.0 がリリースされましたので、情報を整理することが、この記事の目的になります。最初に、リリース形態は以下のようになります。 v1.0 は Windows ストア 経由での提供になります。改善したバージョンは、Windows ストアからの提供のみになることがアナウンスされています。 ベースイメージは、ダウンロード センター経由での提供になります。 現時点(10/5)では、Anniversary Update(ビルド 14393) と Insider Build 14915 と 14926、そして DesktopAppConverter の v1.0 の Zip イメージがダウンロードできます。 Desktop App Converter(DAC) を試す前に読んで頂きたいのが、「デスクトップ アプリを UWP に変換する準備をする」というドキュメントで、日本語版は翻訳が追い付いていませんが、英語版のドキュメントに以下のような記述があります。 「Your app is already a full UWP app and wants to invoke a full trust process from within the…

0

UWP で廃止された UserInformation クラスについて

今更ですが、Windows 10 の UWP アプリで、Windows 8.1 のストア アプリとの比較で廃止予定の API があることに気が付きました。そのクラスは、以下になります。 UserInformation クラスWindows 8.1 までで使用できたクラスで、Windows 10 では正常に動作しなくなっています。 User クラスWindows 10 の UWP より提供された新しいクラスで、UserInformation を使用していた場合は置き換える必要があります。 この変更の背景ですが、Windows 10 ではプライバシー設定に新しく「アカウント情報」が追加されています。このアカウント情報には、User クラスを使ってアカウント情報へアクセスするアプリに許可を与える操作(ダイアログが表示されます)を行ったアプリが表示されます。また、User クラスを使用するアプリの場合は、Package.Appxmanifest の機能で「アカウント情報」を指定しておく必要があります。 プライバシー設定に「アカウント情報」が追加されたことにより、Windows 8.1 までのアプリの動作に影響を与えてしまいます。Windows 8.1 までは、UserInformation クラスを使ったアカウント情報へのアクセスが自由にできるようになっていました。というのは、プライバシー設定で「アカウント情報」という分類がなかったからです。Windows 10 では、「アカウント情報」が新設されたことにより、Windows 8.1 までのアプリは UserInformation クラスの GetDisplayNameAsync メソッドなどが値を返さなくなります。この問題を避けるには、アプリを UWP に作り替えるしか方法がありません。なぜなら、Package.Appxmanifest の機能で「アカウント情報」を指定できるのが UWP しかないということと Windows 10 SDK を使用しないと新しい User クラスへアクセスすることができないからです。 User…

2