わんくま同盟 Blog's

わんくま同盟

メニュー

わんくま同盟

  勉強会情報

  メンバリスト

掲示板

ブログ

リンク

統計

わんくま同盟メンバ

わんくま同盟わんくま同盟

わんくま同盟メンバの最新の記事

12/3 はわんくま同盟 東京勉強会 #104

申込ページ:http://www.wankuma.com/seminar/20161203tokyo104/

ということで今週末はわんくま同盟東京勉強会#104。
東京は年内最後なので、忘年会も兼ねてます。

・10:40 ~ 11:00 開場・受付開始
・11:00 ~ 11:10 わんくまについて...
・11:10 ~ 12:00 「レガシー(データベース処理)ワールド」 by 片桐 継 Lv.2くまー
・12:00 ~ 13:00 おひるごはん
・13:00 ~ 13:30 ライトニングトーク
・13:40 ~ 14:30 「HTTPを振り返ってみる」 by がるさん Lv.1.1くまー
・14:40 ~ 15:30 「MSのマルチプラットフォームのはなし」 by 山本美穂さん Lv.2くまー
・15:40 ~ 16:30 「Desktop アプリを UWP アプリに変換するときの注意事項」 by とっちゃん Lv.3くまー
・17:00 ~ 懇親会

こんな感じの時間割なので、濃すぎず薄すぎずですかねーw

東京では一年ぶりかしら?おいらもしゃべりまーす。

posted @ 2016/11/30 13:55 by とっちゃん

[HoloLens]Windows Holographic First Run

image

なんかメニューにWindows Holographic First Runなんてのが増えていたので起動してみたら、Windows Holographic Compatibility Resultsがでるようになった。

でもUSB3.0サポートしているんだけどなぁ。

na

posted @ 2016/11/18 18:03 by 初音 玲

2016年9月~10月までのまとめ

他サイトで書いた9月~10月のブログ記事です。

■Hatenaブログ

確率を理解してみる-ベイズの定理

確率を理解してみる-ベイジアンフィルタを実装

■Qiitaブログ

【WSH】文字列置換(正規表現対応)ツール

【SQLServer】ブロッキングを監視する方法

OS・IE・Office、CPU、.NET Frameworkのサポート期間

【VBS】Val関数もどきを作ってみた

【BAT】複数フォルダ内を拡張子で抽出してコピーや削除する方法

64bit版Windowsでの「Microsoft.Jet.OLEDB.4.0」について

posted @ 2016/11/17 1:10 by やじゅ

[GlobalSummit2016]Microsoft Global Summit Day3

そういえばホテルにもちゃんとAEDありますね。

WP_20161109_07_59_15_Pro

 

本来ならばDay#3もフル参戦予定だったし、実際、出てみたいセッションも2つくらいあったのですが金曜日アサイチから仕事なのでDay#3は日本への旅程となりました。

それでは、帰国のときの食べ物と飲み物をご査収ください。

WP_20161109_09_49_43_Pro

 

WP_20161109_14_05_45_Pro

WP_20161109_20_03_22_Pro

WP_20161111_01_00_39_Pro

posted @ 2016/11/12 7:08 by 初音 玲

[GlobalSummit2016]Microsoft Global Summit Day2

Day#1がおわればDay#2があるわけで。

WP_20161108_07_09_45_Pro

WP_20161108_06_43_37_Pro

 

ちょっとだけ社内にあるカンパニーストアーによる時間があったのでこんなコントローラーを入手。

WP_20161108_11_04_59_Pro

 

この日の夜は、Community Manager Meet Ups and Happy HourとInsiders Party by Infragisticsがありました。

意外と別カテゴリのMVPとは同じ日本人同士でも顔を合わさないくらいマイクロソフト本社は大きいので、このMeet Upsで初めてお会いする方も。

そして、今回のグロサミでの一番の収穫はInsiders Party by Infragistics。

Attendee Partyがなくなったのでそれなりな環境で自社アプリを海外の人に使ってもらえる機会がこれだけだったのですが、日本のMVPも含めて何人か海外の方にも使ってもらったけれど概ね好評で、その表情をみれたのは大きな成果。

あとは、日本マイクロソフトのDXな伊藤かつらさんにもやっと体験していただくことができて、いま、何に取り組んでいて、それはそもそもどういった想いでやっていて、そして、MSの技術というのすごく後押しをしてくれているんだと伝えられたそんな楽しい夜でした。

仕事の都合でDay#3は参加せずなので、私の2016年のグロサミはここでおしまい。

あと1日分、帰国時の食べ物写真を載せるのでもう少しだけお付き合いください。

posted @ 2016/11/12 7:04 by 初音 玲

[GlobalSummit2016]Microsoft Global Summit Day1

さて町中パーティで英語耳と元気をもらった我々は、偶然にも翌日はグローバルサミットDay#1に参加していました。

以前は全体キーノートだったのですが、やっぱり規模が大きくなったのかいくつかの会場に分かれてキーノートとなったようです。

色々ワクワクが止まりませんが、モバイルファースト&クラウドファーストという流れの王道がXamarinとAzureだったりするのかもしれませんが、UWPもなかなかどうして元気だし、それらを支えるVisual Studioも元気だなーと思いました。

このタイミングでUWPやっとかないのはもったいないですね。

 

それでは、Day#1の食べ物と飲み物をご査収くださいませ。

WP_20161107_06_28_36_Pro

WP_20161107_06_34_20_Pro

 

マイクロソフトの社内にはこういったドリンクコーナーが設置されています。

WP_20161107_07_21_38_Pro

 

今回はずっとMSCCというカンファレンス用のビルにいるのですが、数回別ビルに移動。移動手段は周回しているグロサミ用バスなのですがタイミング的に合わないときは運よく居合わせた社員さんと一緒に移動したりもできます。

ちょうど画面の右に移っているフランス人MVPの方が知り合いのMS社員さんと移動しようとしていたときに声をかけた頂いて、すごくスムーズにMSCCに戻ってこれました。「めるしーぼくー」!

WP_20161107_12_31_56_Pro

WP_20161107_12_38_19_Pro

 

三時のおやつは野菜スティック。健康的ですね。

WP_20161107_15_10_19_Pro

 

夜はパーティ。Attendee Partyがなくなったので世界中のMVP全員が集まるパーティはこの夜だけ!

WP_20161107_20_37_23_Pro

posted @ 2016/11/12 6:54 by 初音 玲

[GlobalSummit2016]Microsoft Global Summit Day0

MIcrosoft MVPにはいろいろな特典があるが、お金では換算できない特典だと思うのが毎年1回開催されるMicrosoft MVP Global Summitです。

世界中からマイクロソフトの本社のある米国シアトルに集まり、マイクロソフト製品を実際に開発している社員から直接話を聞き、お互いの近況を話し合う、そんな一大イベントです。

 

今年も2016年11月7日~9日の公式日程とその前後(特に日本組帰国当日の10日)という形で開催されました。

Microsoft MVP Global Summitの内容は基本的にNDAであり、内容はその部屋に参加したMVPだけ、同じMVPでも別部屋に参加していたら知ることができない、当然、SNSへの投稿なんてもってのほか。

なので勢い、食べ物の写真か飲んでいる写真ばかりになってしまうが、今年は、「NDAに触れそうな内容はにゃーんといえ!」と公式(?)にお達しがでたので、にゃーんとつぶやいているMVPをタイムライン上で見かけることもおおかったんじゃないだろうか?

 

さて、そんなことでDAY#0の感想を書いておきたいと思う。

WP_20161106_11_19_10_Pro

2016年11月7日の朝からセッションが始まるということは前日入りが必要な訳です。Day#0とはつまりはそう言ったこと。

日曜日の夕方に日本と発って、シアトルにつくと日曜日の午前中というのは何度経験しても???となりかけます。

空港から宿泊先のベルビュー(MS本社はレドモンドなのでその隣町。本社に近い商業地域といえばわかりやすい?)までの移動は、以前であれば「バス」「タクシー」「ライトレール」「ホテルに行くシャトルバス」くらいしかなかったのですが、今年利用したのはuber。

タクシー乗り場の先に「uber」って表記があって空港でuberを呼ぶとそこにきてくれるという。

すっかり市民権を得ていますね。uber。

 

空港とホテルの間は、uver xで40ドルくらいで所要時間は30分。4人で乗れば一人10ドルなので公共交通機関の3倍くらいと考えると快適ですね。

注意点は大きなスーツケース4つは乗らないこと。大2つと中2つくらいになるように4人が組めるといいですね。

 

ホテルに着いたらすぐにチェックインできたので部屋に荷物を置いて、uberでpikeplaceという有名な市場にお昼ご飯を食べにいきました。

WP_20161106_11_57_23_Pro[3]

こ、ピロシキピロシキというおいしいピロシキ屋さんやスターバックス1号店なんかもあるのですが、両方とも長蛇の列だったので、最近のお気に入りマーケットグリルという市場内のスタンドにいってそこでクラムチャウダーを食べました。みんな大好きivesにモノとは違うちょっと大雑把な味が「アメリカの味だ―」って感じで好きなんですよ。

WP_20161106_11_50_44_Pro

WP_20161106_11_59_59_Pro

WP_20161106_12_15_20_Pro

この日の夜は公式イベントはなかったのですが、Windows App DeveloperカテゴリのMVPは担当チーム開催の町中イベントに参加、いろいろな場所で無料foodを食べつつ、ゲームをしたりお土産をもらったりして楽しみました。

WP_20161106_19_33_44_Pro

いやー楽しかった。

それにしてもシアトルっぽくないすごくいい天気。結局、帰国日までいい天気でしたね(夜は雨が降ったみたいですが)。

WP_20161106_13_10_01_Pro

posted @ 2016/11/12 6:35 by 初音 玲

[Hardware]電子工作の3回目が掲載されました。今回は抵抗です。

www.buildinsider.net

posted @ 2016/10/26 0:29 by 初音 玲

[Desktop App Converter]バッチファイルをインストーラに指定する

Desktop App Converter はどんな形であれ、インストーラさえ用意できれば、appx 化のための間口を用意してくれる優れものです。

ということで、究極の単純インストーラでもある、バッチファイルで実験してみました。

インストール対象は、毎度おなじみ MfcApp.exe(プログラムは、https://1drv.ms/u/s!AOVVWpjfPyA0hNsm からプロジェクトを取得してねw)。

今回は単純に実験なので、MfcApp.exe をコピーするだけの単純なプロジェクトで関連付けなどのレジストリ設定は一切ありません。

用意したバッチファイルもごく単純なもので、

@ECHO OFF
XCOPY Release\MfcApp.exe C:\Samples\MfcApp\

という内容です。

上記プロジェクトのソリューションフォルダに install.cmd という名前で用意しました。

 

まずは結論。

バッチファイルをインストーラにすることができます。

バッチファイルなので複数の処理も指定可能です。ユーザー入力を要求しない限りどのプログラムを実行しても問題なく実行できます(管理者権限を持って動作しているという前提になります)。

これで一気に敷居が下がりますね。

合わせて実験的ですが XCOPY コマンドを直接指定するなども行ってみましたが、これらは失敗してしまいました。

どうやら、システムフォルダはリダイレクトされてしまう関係でうまくいかないみたいです(フルパス指定じゃないとファイルがないって怒られる。。。)

 

そのほかの注意点は

XCOPY するだけで、ショートカットアイコンを作らないので判断材料がガクッと減ります。

そのため、プライマリアプリケーションがわかりませんので、AppExecutable が必須になります。

また、インストール先もわからないので、AppInstallPath がないとW_INSTALL_PATH_NOT_DISCOVERED という warning が出ます。

ということで、指定パラメータは

DesktopAppConverter ?Installer SampleDAC\Install.cmd ?Destination AppxOutput ?PackageName MfcApp ?AppExecutable C:\Samples\MfcApp\MfcApp.exe ?AppInstallPath C:\Samples\MfcApp ?Version 1.0.0.0 ?MakeAppx ?Verbose

という感じになります(見ながら打ち込んだのであってるかどうか自信ないわw)

これで、インストーラなんて作ったことないよ!という人でもサクッと作れますね。

ポイントは、

  1. 出力先は極力単純にする(typo防止策)
  2. 原則パラメータは全部省略できないと思うべし。

です。

あと、忘れがちですが、ここで出来上がるappx はインストーラです。当然作成環境とは異なる環境で動作するのでその点も忘れないようにしましょう。

posted @ 2016/10/20 15:10 by とっちゃん

[Mobile]NYPDではWindows10Mobileが採用されたようです。

http://www.digitaltrends.com/mobile/nypd-windows-phone/

 

アメリカでは、Android 65.2%、iOS 30.9%、Windows 10 Mobile 2.3%というシェアのようですね。

でも、前者2つではなくて、Windows 10 MobileであるLumia 830とLumia 640 XLがニューヨーク市警(NYPD)に採用されたようです。

理由は、セキュリティとリモート管理。

 

実際、弊社でもUWPアプリを発売している関係でスマホでもWindows 10 Mobileを選択するお客様がいらっしゃいます。Android版やiOS版もあるのにね。

お聞きしてみると、やはりセキュリティと管理。特に自社内でWindowsを使っていてきちんと管理(日本の大企業の大部分はきっとそう)しているところでは喜ばれます。

アプリが少ない?Officeと弊社アプリとOutlookがあればよいというのが業務端末の特徴ですね。BYOD(もうもっているiPhoneでやりたいみたいな)ではなく会社支給とかなら選択肢として引き合いがあります。

posted @ 2016/10/16 23:58 by 初音 玲

[Desktop App Converter]コンバート時にインストーラを実行するところでエラーになる場合

IP FastRing に 14946 が降ってきました。ということで、14942 は wim がないまま終わってしまったので、再び環境構築。

タイミング次第(出た直後くらいw)では新しいのを指してくれないことがありますが、最新イメージは http://aka.ms/converterimages の短縮URLでアクセスできます(ちゃんとメンテナンスされています)。

2016/10/12 公開版では、14393(CB), 14931(IP-Slow), 14946(IP-Fast) の3つが公開されています。

ということで環境に合わせてDL&セットアップ。。。するのですが、

以前のビルドで利用したことがある場合、コンバートに失敗(エラーコード:0xC0370101)することがあります。

スクリプト的には E_CREATING_ISOLATED_ENV_FAILED というエラーがでるのですが、エラーコードも文字通りコンテナのイメージが想定しているものじゃない!というもの。

ほかに、自分の経験では同じタイミングで BSOD になることもありました。

現状での対処としては、まず完全クリーンナップをします。

コマンドは「 DesktopAppConverter ?Cleanup All 」

コマンドを実行すると、既存の展開イメージの削除などを行い、最後にコンテナをアンインストールして再起動します。

再起動してきたらきれいになっているので、

改めて、「DesktopAppConverter ?Setup ?BaseImage …\BaseImage-14946.wim」

として改めてセットアップを行います。この時もやはり再起動が要求されますので、再起動します。

ちなみにストア版だと再起動要求でUIを出さずにエラーメッセージが出て、処理を中断します(この時点で、リブート後に継続するように設定されている)。

状態を確認して、再起動が要求されている場合は手動でいいのでOSを再起動します。

再起動後にログインすると、wimの展開などセットアップ作業を継続しますのでこれの終了を待ちます。

これで、再び使えるようになります。

 

もし、これでもダメだった場合、Hyper-V ごと再インストールするとうまくいくかもしれません。

つい先日 SlowRing な会社マシンに降ってきた 14931 が、Hyper-Vをアンインストールしてくれたので(インポートができないので、vhdつかって新規構築の必要があるというね…orz) そのあたりの影響があるかもしれません。

posted @ 2016/10/14 15:48 by とっちゃん

C++/WinRT

C++/WinRT Available on GitHub

なんていうものが出てきました。Native の C++ プロジェクトで、Windows Runtime API を使うためのライブラリらしいです。

これってば、Desktop Bridge アプリで使ったらUWPAPIも結構使えるんじゃないか?という気がする。。。もちろん、気がするだけで試してはいませんw

最も UWP API は C++/CX からじゃないと使えないならダメなんだけどねw

落としてないのでこれ以上はよくわかってませんが、VS2015 Update 3, VS”15” Preview などで使えるらしいです。

posted @ 2016/10/14 12:25 by とっちゃん

[HoloLens]北米以外に新たに6か国向けにHoloLensのプレオーダーが始まりました

https://blogs.windows.com/devices/2016/10/12/microsoft-hololens-welcomes-six-new-countries-to-the-world-of-mixed-reality/

 

  1. Australia
  2. Ireland
  3. France
  4. Germany
  5. New Zealand
  6. United Kingdom

 

アジア圏はまだないのですが、ちょっと注目したいのが英語圏以外の国が入っているところ。

いままで、HoloLensは言語追加がなかったけれど、これで言語追加できるようになるのかな。

候補に上記以外の言語圏も含まれているといいんだけどねー。

posted @ 2016/10/13 8:16 by 初音 玲

[MVP]再受賞しました。

カテゴリーは、長くなった Visual Studio And えーっと。。。Development Technologies です。

もうね。覚えられないわけですよ。長すぎて。一部界隈では、VSDT と略されていたりもするようですが、なんか新しいの出た?という気がして何気に使うのが微妙というねw

 

ということで、12年目に突入です。

よろしくお願いします。

posted @ 2016/10/03 11:39 by とっちゃん

[Desktop App Converter]最新のWindows Insider Previewを適用したら

現地時間 9/28 に、Windows 10 Insider Preview Build 14936 が公開されました。

Build 14936 については https://blogs.windows.com/windowsexperience/2016/09/28/announcing-windows-10-insider-preview-build-14936-for-pc/ を見てもらうとして。。。

DesktopAppConverter はコンテナを使ってアプリケーションをインストールして差分情報を吸い上げます(吸い上げ精度が高すぎてそれいらねーよってのもいっぱいありますがw)。

その動作のために、専用のベースイメージがあります。

ということで、最新IPを導入したら検索。。。と思ったら、

http://aka.ms/converterimages が最新イメージに付け替えられていました。

これで検索しなくて済むぞ!という感じです。

ちなみに検索する場合はこちらのリンクをどうぞw

posted @ 2016/09/29 13:20 by とっちゃん

[Desktop App Converter] VC++ ランタイムを共有 appx としてリンクする

このブログでもずいぶん前にちらっと紹介した、VC++ ランタイムを共有APPXとして設定する方法を改めて。

公開当初はDesktopAppConverter 側が対応していなかったのですが、公開後のバージョン(0.1.24)から、自動取り込みに対応しています。

対応にはあらかじめランタイムパッケージ情報をセットアップしておく必要があります。

具体的には

から自分が必要なパッケージをDL&インストールする必要があります。

これらをインストールしたら、あとはmsi(exeでもよい)で、必要バージョンのVCランタイムのマージモジュール(中途半端でも検出してくれます。優秀ですw)をセットするか、Bundle やVSIの必須コンポーネントなどを利用して同時インストールするインストーラを用意してコンバートするだけです。

ちなみに、上記ランタイムがインストールされている環境で、コンバート時にモジュールを見つけると

AppxManifest.xml の Dependencies 項目が

<Dependencies>
  <TargetDeviceFamily Name="Windows.Desktop" MinVersion="10.0.14393.0" MaxVersionTested="10.0.14393.0" />
  <PackageDependency Name="Microsoft.VCLibs.140.00.UWPDesktop" MinVersion="14.0.23810.0" Publisher="CN=Microsoft Corporation, O=Microsoft Corporation, L=Redmond, S=Washington, C=US" />
</Dependencies>

という感じになります(上記はVC14での例)。

簡単ですね。

 

一応。。。このブログエントリーを書くときに確認した範囲では、上記リンクより新しいバージョンはリリースされていませんでした。

posted @ 2016/09/28 16:07 by とっちゃん

無題

おいしい食材、旬の食材を探してきて、それを組み合わせて価値ある料理を作る。

アプリ開発というのは実はそういったものなのかもしれない。

 

もし、フルコースの料理じゃなくて、シンプルな一皿、しかも一見すると食材に対して何も仕事をしていないように見える一皿があったときに人はどのような反応を示すだろう。

食べてみると、「この食材とこの食材からこの味の領事になるんですか!」そう言ってもらえる料理。

 

こういった料理をだされたときに、

一目見だけで「これ、すごいね。いや、もう匂いを嗅いだだけですごいと思うよ」という同じ料理人もいたりするだろう。

実際に遠くから食べに来て「また、食べに来ますね」と次回予約をしていく人もいるだろう。

 

そうしたなか、フルコースこそ料理。料理に食材があることを忘れ、料理されたものからどれだけの料理工程や腕が必要かが類推できないと価値が見いだせない人たちも少数いる。

なぜか、もともと料理なんてしないレストランオーナーとかではなく、料理をしなくなった経営だけが楽しいレストランマネージャー、そんな料理って何?って忘れてしまった人たちには食べもせずに

「なんでこんな食材をそのままだしているだけなのにこの値段なんだ。これは誰でも作れるし、プロじゃなくても作れる。タダでいいだろう。」

と言い放つ人が多いように思える。

posted @ 2016/09/28 7:09 by 初音 玲

[Desktop App Converter]コンバートしてみよう

環境構築ができたら、まずは簡単なインストーラを使ってコンバートの実験をしましょう。

非常に残念な話ですが、どの環境でもコンバートが成功するとは限りません。私物環境(14931)ではなぜかBSODが出るように。。。ひとつ前のIP(14926)から出るようになってしまったのですが、Hyper-V の入れ直し程度では復活しませんでした><

RTWしたやつからなので、何とも微妙ですが会社環境(14393)では動作するので、環境依存の何かなんでしょうねぇ。。。ほかに動かねーという情報も見ないし><

 

さて…気を取り直して。

PSコンソールを管理者で起動して、DesktopAppConverterの展開フォルダに移動します(ストア版でもOK)。

コマンドラインオプションはいろいろあるのですが、基本的なコンバート作業で利用するのは

-Installer インストーラのパス(相対パスまたはフルパス)

-Destination コンバート後のデータの出力先基本フォルダ

-PackageName UWPアプリのパッケージ名

-Publisher パブリッシャー情報(CN は必須。それ以外はオプション)

-Version パッケージのバージョン

の必須パラメータと

-MakeAppx コンバート時に自動的に appx まで作成(つけない場合は、appx に必要なファイルの作成まで。本番リリース向け環境では手動修正が必須なのでつけない)

-Sign appx作成時に自己証明書を作成してそれで署名してくれるオプション(実験専用)

-Verbose 作業状況のコンソールへのフィードバック(これがあると時間がかかる代わりに何をやっているかが一目瞭然)

の計8つ。それと、exe形式のインストーラのコンバートで利用する

-InstallerArguments インストーラをサイレントインストールで実行する場合のパラメータ(msiのサイレント用パラメータは自動でセットされる)

-InstallerValidExitCodes インストーラの成功終了時の終了コード(0以外で終了するexeなどで指定する)

というあたりでしょう。ほかにもありますが、複雑な製品攻勢になっていなければ、この程度でだいたいコンバートできます。

コマンドラインサンプルの実行例は(ストア版の場合 ps1 へのパスが通っているのでそのまま名前で変換可能)

.\DesktopAppConverter.ps1 -Installer ..\SampleDAC\SetupMfcApp\bin\Release\SetupMfcApp.msi -Destination ..\outputDAC -PackageName MfcApp -Publisher CN=Tocchann -Version 1.0.926.0 -MakeAppx -Verbose -Sign

という感じになります。

これを実行するとそのコンソール上で(ISEだと多少グラフィカルになります)、以下の項目を随時通知しながらコンバートが行われます。

  • Checking Prerequisites
  • Initializing AppxManifest.xml
  • Validating Input
  • Setting up Conversion Environment
  • Running Installer in Isolated Environment
  • Preparing Virtual File System
  • Preparing known folder and application directory layout
  • Preparing Virtual Registry
  • Finalizing AppxManifest.xml
  • Checking for Unsupported COM Usage
  • Preparing Final Output
  • Making Final Appx Package
  • Signing Appx Package

成功すれば、最後に

Output Paths:

Name Value
---- -----
CertPath C:\Sample\outputDAC\MfcApp\auto-generated.cer
PackageFilesPath ..\outputDAC\MfcApp\PackageFiles
PackagePath ..\outputDAC\MfcApp\MfcApp.appx
LogFilesPath ..\outputDAC\MfcApp\logs

という感じで出力されます(見やすいようにテーブル化していますが、実際はスペースでそろえてあるだけです)。

プレビューの時には、-MakeAppx をつけているとルートに配置されるファイルが PackageFilesPath に展開されなかったのですが、リリース版ではこれらも展開されます。

ここまでがごくごく簡単な作業手順です。

posted @ 2016/09/26 13:23 by とっちゃん

[Desktop App Converter] まずは、環境構築。

正式リリースも出たので、ぼちぼちと環境作るのもネタにしておきたいところ。記事として仕立てるには旬が短すぎるのがねーw

ということで、ざっくばらんに環境構築編。

まずは、開発環境の用意。雑記で上げたほかのツールはわかりませんが、Desktop App Converter 自身は、ちょっと野心的なつくりをしていて、Windows コンテナを利用しています。

そのため、動作条件が

  1. Windows 10 Anniversary Update 以上(Build14393以上) の Pro. または Ent. 版 の x64版
  2. Hardware-assisted virtualization and SLAT(Second Level Address Translation)対応の 64bit CPU
  3. Windows 10 SDK 1607 以上

と、若干ハードルが高い設定になっています。

1 が必要なのは、Windows 10 Anniversary Update(以後Win10-1607)で追加された Windows コンテナを利用するため。

そして、2が必要なのは、そのコンテナを動かすため。という形になります。

3は、コンバータ自身の機能ではなく、そこから呼ばれる appx にするツール(SDKに同梱)と、署名のためのツール類(こちらもSDKに同梱)のためというのが主な理由です。

もっとも、対象とするアプリ本体もWin10-1607以上での動作が前提なので、アプリの開発環境としても、SDKは必須ですがw

 

さて、実際に時効可能な環境を用意したら最初にやることは「Download Center を検索」して最新バージョンを探すこと。

コンバーター自身はストア版があるのでこちらを利用することもできますが、これとは別に BaseImages という、コンテナ上で使う専用のイメージを用意する必要があります。ちなみに、最新版にzip形式のコマンドラインツール(PowerShellコマンドファイル)もあります。

このブログ記事の公開時点での最新版(9/21版)には、14393(AnniversaryUpdate/IP Slow)、14915、14926、14931 の3つのIP向けと、1.0.0.0の zip版があります。

ここから、ベースイメージの該当版等々をDLしてきます。zip を展開する場合は、自分にとって都合のいい場所に展開しましょう(パスを切るなどは不要です)。

 

ここからは管理者アカウントが必要になります(パスワードを入れずに昇格すれば管理者になるアカウント)。

ストア版は管理者として実行、zip版はPSコンソールを管理者でオープンします(ISEでもOK)。

コンソールの場合は、展開先フォルダに移動して

DesktopAppConverter ?Setup ?BaseImage …\BaseImage-14xxx.wim ?Verbose

と入力して、コンテナのセットアップと wim のインストールを行います。

OSの確認、環境のチェックなどなどの後、Hyper-Vとコンテナのインストールを行います。インストール済みの場合はここはスキップ。

この時、環境によっては再起動が必要になります。以前は自動で再起動して継続してくれたんですが、正式版では自動リブートしないで、-NoRestart を付けた時と同じ状況になるので、手動で再起動していきます。

再起動してログインすると自動的にスクリプトが継続実行されるので、必要に応じて再起動しつつ終了を待ちます。

Hyper-Vも含めるとコンテナのセットアップにざっくり10分くらいはかかるので(もちろん環境によるのでもっと速いマシン(5分もかからない)もありますしその逆もあります)、気長に待ちます。

筋トレ でもいいのですが https://developer.microsoft.com/ja-jp/windows/bridges/desktop あたりを眺めているとよいでしょう。

と、ここまで来てようやく準備完了。おっと。。。SDKをインストールしていない場合はSDKもインストールします。

Visual Studio 2015 以上を持っている場合は、Update3を適用して SDK Tools 1.4.1 を導入しましょう。

これでやっと準備が完了です。ちなみに、あれこれないと本気で一日くらいかかってしまいます。

posted @ 2016/09/23 14:20 by とっちゃん

[Desktop App Converter] 正式リリースされたので雑感。。。

Build 2015 で発表された、Bridge for Windows シリーズの最後の橋(Codename Project Centennial、正式名 Desktop Bridge )のコア機能 Desktop App Converter(リンク先は、ストアアプリ) が9/14 に正式リリースされました。

このツールは、デスクトップアプリケーション(のインストーラ)をストアアプリ(のインストーラパッケージ)にコンバートするといういたって簡素なツールです。

まぁ各所のニュースリリースの大半が太字部分を端折っていたりするんですが。。。

インストーラはアプリケーションプログラムそのものはインストール前と後では何も変えません。コンバータの対象はインストーラなので、当たり前ですが、アプリケーションプログラムには何も変更しません。

むしろ、コンバート機能そのものより、コンバートするインストーラが抱えてるアプリはここに気をつけなさいねーという17項目(9/22アップデートで増えてた><)のほうが重要だったりします。

それについては、まずは https://msdn.microsoft.com/windows/uwp/porting/desktop-to-uwp-root を見てもらう方がいいでしょう。

 

さて、ここからはあまり日本語では出ていない話。

Desktop Bridge がプロダクトとして目指すゴールは、既存のデスクトップアプリや、デスクトップだからこそ実現できるアプリをWindowsストア(あるいはそれと軸を同じにする配布の仕組み)というマーケットプレイス上で配布してもらうのが狙いです。なので、こと開発者向けという意味ではかなり手厚いサポート体制を敷いていると思いますし、おそらく開発ツールベンダー向けには見えていないだけで、様々なプッシュがあると思います。

Desktop Bridge としては Desktop App Converter は言ってみれば、プロトタイプ的な撒き餌です、当然プロトタイプみたいなものなので、これだけが手段ではありません。ということで、雑感の最後は観測範囲内で見えているツール類のサポート表明などなど。

まずは、インストーラ作成ツールから。おそらく世界でもっとも有名なインストーラ作成ツールの InstallShield。こちらは2016(現行最新バージョン)から、機能が搭載されています。実は Desktop App Converter よりも先に正式リリースされていたりしますw

具体的なことはツールを持っていないのでわかりませんが、アナウンスを見る限りでは、msiの作成時に合わせてappxも作ってくれる機能が搭載されるようです。Desktop App Converter とは違って、仮想的にインストールするのではなくmsiにするための情報をスキャンするんだと思いますが、正直よくわかりません。

そのほか WiX とAdvanced Installer(国内では販売されていません)が対応を表明しています。WiX は現行の環境にシームレスに組み込むという話(新しいスキーマなどが必要になるのではない的なことが書かれていました)なので、オプションスイッチ的なものが用意されるんだと思います。

AdvancedI nstaller も InstallShield 同様オプションスイッチ的に対応みたいですが、こちらはツールの画面すら見たことがないのでなんとも。。。w

 

そして開発ツールとしては、次期 Visual Studio(Codename “15”)。現時点では機能拡張という形でプレビューリリースされています。最終的に製品組み込みになるのか機能拡張のままなのかはわかりません。こちらはインストーラを作る感じに近い格好で、専用のプロジェクトで appx で出力するという感じのようです。画面写真を見ただけなのでよくわかってませんけどw

それと、RAD Studio。今後の Update で対応が予定されているそうです。開発ツールとしてはこっちのほうが先に出てくるんじゃないかと思うけどよくわかりません。

今のところ観測筋で対応、または対応を表明しているのはこのあたり。

個人的には、国産のパッケージベンダー各社の動向も気になりますが、日本語アプリがこれで増えるかどうかですねー。デスクトップアプリ向けゲームも含め。

posted @ 2016/09/23 12:25 by とっちゃん

[Cognitive]LUISが日本語対応したよ

2016/09/15にLUISが日本語対応しました。

https://www.microsoft.com/cognitive-services/en-us/news

LUIS = Language Understanding Intelligent Serviceということで、話し言葉をテキストで入力するとその意味を解析してテキストの要素を認識してくれるサービスが日本語対応しました。

 

早速、LUISを使ってみましょう。C#のSDKもありますがまずはWebのエンドポイントから軽く試してみましょう。

 

まずはLUISのWebサイト(https://www.luis.ai/) からMicrosoftアカウントでログインしましょう。

初回ログインのところでの質問はこんな感じに回答すればOKです。

image

 

新規作成の[+]ボタン、真ん中は[Cortana pre-built apps]ボタン、一番右側は[Start Tutorial]ボタンでチュートリアルを見るためのボタンです。

image

真ん中の[Cortana pre-built apps]ボタンでコルタナの受け答え言語理解モデルを使ってアプリをつくてれます。残念ながら日本語はまだ提供されていません。

しかたがないので、新規作成ボタンで言語理解モデルなしでアプリを作成しましょう。

 

シナリオとして、IoT、Bot、Mobile、Otherなどが選べます。今回はBotを選んでおきます。

また、ドメインもいろいろ選べます。ドメインを指定するのは、同じ言葉でも分野によって意味づけが異なるからです。

  1. Booking & Reference
  2. Business
  3. Comics
  4. Communication
  5. Education
  6. Entertainment
  7. Finance
  8. Gaming
  9. Health & Fitness
  10. Home Automation
  11. Media & Video
  12. Medical
  13. Music & Audio
  14. Navigation & Maps
  15. News & Magazine
  16. Personalization
  17. Productivity
  18. Real Estate
  19. Sceduler
  20. Shopping
  21. Social Network
  22. Sports
  23. Telecom
  24. Tools
  25. Transportation
  26. Translation
  27. Travel & Local
  28. Weather
  29. Other

ここは、Comics、Gaming、Media & Video、Social Networkを選んでみます。たぶん、分野を絞れば絞るほどその分野において的確な意味としてとらえてくれるはずです。どのあたりをターゲットにするのかよく考えて絞り込みましょう。

image

そしてもちろん[Choose Application Culture]には「Japanese」を選択します。

[Add App]ボタンをクリックすればアプリケーションの作成が開始されます。1~2分かかりますが気長に待ちましょう。

 

生成された直後は、こんな感じです。この状態では何もできません。なにかするにはメニュー右端の[Edit]をクリックしてセッティングを行わないとダメなのです。

image

 

Editをクリックしたときに表示される画面はこんな感じ。

image

まずは何も設定せずに[New utterances]に「みなさん、こんにちは。初音ミクです。永遠の16才の電子の歌姫です。」といれてみましょう。

image

その結果は、半角区切りが入って次のように分解されて表示されます。

  • みなさん、
  • こんにちは
  • 初音
  • ミク
  • です
  • 永遠
  • 16才
  • 電子
  • 歌姫
  • です

しかし何も設定していないので、出力はこれだけです。もう一度、同じ文章を入れたら「This utterance has already been labeled. You can make changes to the label, or type in a different utterance.」って表示されます。

この一度入れたものは[Review labels]でも表示できます。

これだけって書きましたけれど、文章を入れてこういったこと=「形態素解析」ができることだけでもすごいですよね。

 

それではLUISに意味を教えていきましょう。

はい。もうわかりましたね。LUISを使えば勝手に意味を抽出してくれるんじゃなくて、言語理解モデルというものが必要なわけです。

 

左端のEntitiesの+を押して[Add a new Entity]で登録してみましょう。

image

「名前」EntitiyはInclude childrenということで「姓」と「名」を子供に定義して作成します。

作成が終わったら左下の[Train]ボタンを押してみましょう。

 

次に[Review labels]でさっき入れた文章を表示し、「初音」をクリックして「姓」、「ミク」をクリックして「名」をEntityとして選びます。

image

それでは試しにこれで何ができるか確認してみましょう。

左下の[Train]ボタンをクリックしてトレーニングをしてから左上の[Publish]ボタンで公開します。

 

Query欄に「初音ミクって誰?」と入れた結果は次のようなJSONで返却されます。

image

 

それでは次にIntentを追加してみましょう。左メニューのIntentの[+]ボタンをクリックして、「GetTopic」という名前で「初音ミクは、永遠の16才の電子の歌姫です。」と登録してみましょう。

image

そしてさっきと同様に「姓」と「名」のEntityを設定して[submit]します。

 

[Train]ボタンを忘れずに押してから[Publish]して、[Update published application]ボタンをクリックしたら、Queryにさっきと同じ質問をいれた結果のJSONは次のように変化しました。

image

このようにEntityはIntentを設定して初めて抽出してくれるのです。

 

これで「初音ミク」って要素が入ったテキストに対しては「GetTopic」という話題を返せばいいという言語理解モデルができあがりました。

 

最後に、英語の意味を少し理解しておきましょう。

Intent:意図、目的

Entity:実体(要は、名という識別に対する実データ)

 

月1万トランザクション(以前は10万トランザクションまでだったけれど9/15に改訂。言語増えたから世界的に使われる量が増えることを見越してかな?)までは無料なのでぜひ使ってみてくださいね。

日本語の言語理解モデルとかがOSSとしてgithubあたりに流通し始めると面白いかもね。

今期アニメ言語理解モデルとか。

posted @ 2016/09/18 18:52 by 初音 玲

Mobile first, Cloud first

トラディショナルジャパニーズカンパニーには、この2つに積極的にかかわりあいたくない人たちがいます。要は自分が変わりたくない、自分の仕事を変えたない。
そして、新しい取り組みを消極的に妨害します。そう、本人は意識していないかもですが妨害してくるのです。
前例がない、事例がない、私を納得させろ。
人は人によって納得させられるものではありません。人は自分の意思により納得するのです。変化したいから発せられたのとそうでないのとは、同じ字面であっても心根は正反対です。
かわりたいから発せられたとき、それは自分ごととして一緒に変わり事を考えるという動きになって行くのです。
そうでないときは、否定するための問いであり逃げるための問いに付き合わされるという消耗戦を勝ち抜かないと前に進みません。

諦めればそこで試合終了ですよ。

まさにこれ。

posted @ 2016/09/16 1:10 by 初音 玲

[DAC]DesktopAppConverter の動作環境

Desktop Bridge の初手、Desktop App Converter(以下DAC) が正式リリースされました。

このコンバーターは、ごくごく簡単に説明すると

「既存のインストーラ(msi or exe形式)を、Appx 形式インストーラにコンバートする開発者用ツール」

です。

開発者用ツールなのでそれ相応の動作環境が必要になります。

が、ストアアプリ版 にはあまり細かいことが書かれていません。

Desktop App Converter Base Images のほうに細かい動作環境が出ていますので詳しくはそちらを見る必要があります。

いろいろ書いてありますが、ざっくりと書くと

「DAC の動作環境は、SLAT 対応のx64なCPU上で動くWindows 10(x64) Pro or Ent で、Hyper-V と コンテナを有効にでき、その時点で入手可能な BaseImages(wim)が提供されているビルド」

になります。

現地時間 9/14 公開の Base Images には、Anniversary Update(14393)、Insider Preview(14915 or 14926) の3種類のwimが公開されていますので、Anniversary Update 以上の環境を用意しておけばいいでしょう。

プレビューリリースなどはNGという大半の企業様環境でも、正式リリースの Anniversary Update で利用できるので、すべてリテールパッケージでそろえることができます。

コンバートは、サイレントインストールが可能で、コンバートする環境で動作するインストーラなら、exe でも msi でも利用できます。

posted @ 2016/09/15 16:38 by とっちゃん

[Desktop App Converter]ついにリリース!

ついにリリースされました。しかも、ストアアプリで!!!

短縮URLがあったので、張っておきますね。

ストアへのリンク http://aka.ms/converter

BaseImage(wim)へのリンク(従来のps版もあり) http://aka.ms/converterimages 

 

個人的には「in the Windows Store!」が注目点。

使ったことがある人はぜひともストア版をDLして起動してみてください。「これってありなのか!?」と考えさせられること間違いなしです(実際に使うかどうかは別としてw)。

 

まぁ、それも驚きだったのですが、もう一つ注目しておきたいのが、ブログ記事の最後の部分。

ツールのアップデートの項目の中で、InstallShield でのコンバートのほか、WiX と、Advanced Installer も対応を表明しています。

具体的にどういう風な形で使えるようになるのかについては、現物待ちですがw

posted @ 2016/09/15 11:27 by とっちゃん

.NET Framework 4.6.2 用のブートストラップの問題

.NET Framework 4.6.2 用のブートストラップ (setup.exe) の問題

ちょっと前に、MSDNフォーラムで回答したやつかな。具体的な修正方法(ただし、数字の変更のみ)が日本のサポートチームから出ました。

個人的には、Product.xml と Package.xml で環境チェックコードが違ってる部分はどうなの?というのもあるんですけどね。

 

これ、どっちを対象にする場合でもきれいに書き直すとだいぶ変わるぞ?と思いつつ放置だなぁ。。。

ちなみに、WiX でインストールされるのは標準では英語版です。日本語版は自前で、ブートストラップセクション書いてあげる必要があります。

そういえば、WiX で日本語版 .NET Framework ランタイムをインストールするなんてネタは書いたことがないなぁ。。。需要あるのかなぁ?

posted @ 2016/09/13 17:05 by とっちゃん

[Desktop App Converter] わんくま横浜#8 のセッション資料を公開します。

おいらのグダグダセッションの資料です。まぁあんまり価値のある資料ではありませんがw

パワーポイント https://1drv.ms/p/s!AOVVWpjfPyA0hNsl

サンプルプロジェクト https://1drv.ms/u/s!AOVVWpjfPyA0hNsm

サンプルのビルドには、Visual Studio 2015 Update3 (9/10 時点での最新パッチも必要)と、WiX 3.11(3.10.3以上) が別途必要になります。

また、Desktop App Converter の利用には、Windows 10 Anniversary Update(10.0.14393)以上で、Hyper-V および Windows コンテナが動作する VSAT 対応マシンと、VS2015でインストールできる最新のWindows10SDKも必要になります。

Desktop App Converter は随時更新されています。最新版は、MS Download Center で検索してください(デモで利用したものは 9/1 公開版)。

最新の Desktop App Conveter のダウンロードページには、その時点での Windows 10 のビルド向けの wim ファイルも同梱されています(wim はコンテナ利用のために必要になる)。

おまけ。

セッションで全然触れることができないままだったのですが、

VS2012/2013/2015 のランタイムDLLは、ランタイムDLLの appx をリンクすることができます。これにより、ランタイムDLLを搭載せずに利用することが可能になります(2012/2013のランタイムは、DLL側を更新することでWindows10対応を行っていると思われる)。

詳しくは、Using Visual C++ Runtime in Centennial project のブログを参考にしてください。

 

サンプルのセットアップ(SetupMfcApp/BundleMfcApp)の質問は、http://www.freeml.com/msi/ まで。

posted @ 2016/09/12 11:19 by とっちゃん

2016年7月~8月までのまとめ

他サイトで書いた7月~8月のブログ記事です。
夏休み中に書いた「押下にまつわる話」がバズりまして、はてなブックマークにも多くのブックマークを頂き一時はホットエントリーの総合のトップに掲載されたりしました。
わんくまブログ内でJittaさんが10年前に書かれた「「ボタン押下」?」を思い出して書いたのですが、スマホやタッチパネルが普及するなど時が経ったことで「押下」という言葉に違和感が増大したんだと思います。
その前に書いた「@ アットマークにまつわるお話」はさっぱりでしたが、これも奥が深いです。

■Hatenaブログ

順列と組合せを理解してみる-場合の数

順列と組合せを理解してみる-順列

順列と組合せを理解してみる-組合せ

順列と組合せを理解してみる-競馬の組合せ

確率を理解してみる-基礎編

確率を理解してみる-頻度主義とベイズ主義

■Qiitaブログ

QiitaでGoogleアナリティクスを利用してページ別ビュー数等を見る方法

日付期間の重複チェック

auditpolコマンドによる監査ポリシーの「プロセス追跡の監査」の有効・無効制御

余り(剰余)の性質をプログラムに活かす

@ アットマークにまつわるお話

Pokemon GO(ポケモンGO)を作った男、ジョン・ハンケ氏の歩んだ道のり

【WSH】設定ファイル(xml,ini)の編集ツール

押下(おうか)にまつわる話

【WSH】相対パスのショートカット生成ツール

【ASP】キャッシュを有効にしつつ、cssやjsファイルの変更を確実に反映させる(Cache Busting)

posted @ 2016/09/12 1:55 by やじゅ

[UWP]Windows10Mobileへのデプロイが「Unexpected Error: -1988945906」エラーになったときには?

 

Visual StudioからWindows 10 Mobileにデプロイすると「Unexpected Error: -1988945906」が発生してデプロイできないということがありました。

Windows 10のバージョンは、Windows 10 ver.1501 (OS build 10586.545)。

 

いろいろ調べてみて下記のサービスが自動なのに起動していないと発生するらしいとのことで対応したらできるようになりました。

 

(1)Windows 10を再起動する

(2)ローカルサービスから、Windows Phone IP over USB Transport (IpOverUsbSvc)が起動していなかったら起動する

(3)Visual Studioで該当ソリューションを開く

(4)Windows 10 Mobileを接続してUSB接続のダイアログでOKする

(5)ARM - デバイスを選択して実行。

 

これで無事デプロイできました。

posted @ 2016/09/07 8:45 by 初音 玲

[Bridge] Desktop App Converter の最新版は検索から。。。

入力するの面倒なので直リンメモ

https://www.microsoft.com/en-us/search/result.aspx?q=Desktop+App+Converter+Preview

日本時間の 9/1 14:30 時点ではまだ 14915 の wim は公開されていません。

わんくま横浜でデモをやる予定のPCは最新IPに更新済みなんだけどさw

 

まぁ動かないのはコンバート処理だけで、AppxManifest.xml があれば UWP アプリは作れるんだけどさw

posted @ 2016/09/01 14:39 by とっちゃん

[Xamarin]Xamarin.Forms Androidで画面をスリープ状態にしないためには

Androidのアプリなどでロックスクリーン状態でも画面表示されているやつがあると思います。あれをXamarin.Formsでやろうとしたらどうするのか。

Androidアプリの普通のノウハウがそのまま使えます。

[https://gist.github.com/39e69507f3f7f977b6515a08a32048de:embed#Xamarin.Forms (Android) でスリープ状態にさせないためには]

Xamarin.Forms (Android) でスリープ状態にさせないためには

posted @ 2016/08/15 11:52 by 初音 玲

[Desktop App Converter] アニバーサリーアップデート対応版が出ています。

Desktop App Converter Preview (Project Centennial) の 8/4 公開版が出ています。

バージョンは 0.1.24。SDKに同梱というようなニュアンスで書かれていたのでこっちもRTMしたのかと思っていたのですが、まだだったようです。

ちなみに、wim はアニバーサリーアップデート対応の 14393版です。

今日から始める人は、IPの人も、CBの人もまずはここがスタート地点。

日本語情報もいろいろ出ていますが、英語の最新もチェックしつつ、日本語を読むことをお勧めします。

 

ちなみに、9月のわんくま横浜はこれを肴に50分お話します。

コンバートすると何が変わるのか?もお見せしますよー。

posted @ 2016/08/05 18:19 by とっちゃん

ブログ移転のお知らせ

ブログを移転しました。 情報アイランド http://info-i.net/ 今後少しづつ記事を移動していきます。

posted @ 2016/07/14 7:10 by Piz&Yumina

片桐さんがUWPアプリを作ろうとしています。その肆

ここまで頑張った。でも、XAMLはやっぱり後にする。<を

データを保持したいので、最初はテキストベースでいいかな。とか思ったけれど、どうせなら知らないことやってみようかな、とか考えた。

なので、SQLiteってのをやってみよう。<まじめに触るのは初めてw ハックはなんどかやったが<を

https://blogs.windows.com/buildingapps/2016/05/03/data-access-in-universal-windows-platform-uwp-apps/

ここを参考に、環境を構築。

キモは、さっきの記事の中にもあったけど、ここ。

image

EntityFramework Core によるORM形式ってとこ。

ORMはとても便利な機能ではあるけれど、データベーステーブルのレイアウトが「確定」できてることが意外と大事だったりする。このあたり、微妙なバランスで、頻繁にテーブル列や型や主キーが変わる状態で開発するときに、なまじORM頼みしてると血の涙になることもあったりなんかしちゃったりしてね。まぁここは経験則なんだけれども。

それが嫌で、今の現場では「スペシャル?」なORMもどきライブラリ&クラス生成ツール作って提供していたりラジバンダリ。

とかいってるうちにインスト終わったんで、テーブル設計するかー。

posted @ 2016/07/09 19:47 by 片桐 継(Tugu Katagiri)

List(of Class)でGroupingしてから、その中の結果でさらに検索したい

いっつも忘れるので、めも。

Module Module2
 
    Sub Main()
 
        Dim samples As New List(Of KeyData)
        Dim rnd As New Random
 
        Dim KeysCount = rnd.Next(1, 120)
 
        Console.WriteLine("{0} 件キー", KeysCount)
 
        For x As Integer = 1 To KeysCount
            samples.Add(New KeyData With {
                                .Key1 = rnd.Next(1, 3).ToString("KeyA-000"),
                                .Key2 = rnd.Next(1, 3).ToString("KeyB-000"),
                                .Key3 = rnd.Next(1, 3).ToString("KeyC-000"),
                                .Data1 = rnd.Next(100, 500),
                                .Data2 = Now.AddDays(rnd.Next(-100, 100))
                                })
        Next
 
        Console.WriteLine("件数 : {0}", samples.Count)
        Dim wlist = (From x In samples
                     Group By x.Key1, x.Key2, x.Key3
                     Into Group
                     Select Group).Select(Function(f) f.OrderBy(Function(r) r.Data2).FirstOrDefault).ToList
 
        Console.WriteLine("グルーピング件数 : {0}", wlist.Count)
        wlist.ForEach(Sub(x)
                          Console.WriteLine("キーごとで最も過去日付のレコード : {0}", x.ToString)
                      End Sub)
 
        Console.ReadKey()
    End Sub
 
End Module
 
Public Class KeyData
 
    Property Key1 As String
    Property Key2 As String
    Property Key3 As String
 
    Property Data1 As Integer
    Property Data2 As Date
 
    Public Overrides Function ToString() As String
        Return String.Format("{0}.{1}.{2}({3}:{4})", Key1, Key2, Key3, Data1, Data2.ToString)
    End Function
 
End Class

その結果

image

posted @ 2016/07/08 21:51 by 片桐 継(Tugu Katagiri)

VC++ ランタイム(12.0, 14.0)を Desktop App Converter プロジェクトで使う方法

Using Visual C++ Runtime in Centennial project

実際の設定方法とかは、リンク先を見てください。

注意点は、ランタイムを別途DLして来いよ!という点ですかね。デスクトップのランタイムのバージョンとUWPのそれとでは必ずしも同じではありませんので。

posted @ 2016/07/08 12:06 by とっちゃん