しばやん雑記

Azure とメイドさんが大好きなフリーランスのプログラマーのブログ

Windows

Build 2023 で発表されて Windows 11 Insider Preview で利用可能になった Dev Drive を試した

先月の時点で Windows 11 Insider Preview の Dev Channel では利用可能になっていて、パフォーマンス面で気になっていた点を検証していたのですが、ようやく Dev Drive について簡単にまとめる気になりました。Build 2023 ではオフライン限定の Dev Drive …

Windows App SDK 1.3 で System Backdrop の設定と AppWindow の利用が簡単になった

先日 Windows App SDK 1.3 がリリースされて、個人的に良いアップデートだと思ったのでブログに書くことにしました。アップデート内容としてはタイトルの通りで少ないですが、Windows App SDK に対する不満の一部が解消されて嬉しいです。ぶっちゃけてしまう…

Project Volterra 改め Windows 開発キット 2023 を購入した

Build 2022 で発表されてから音沙汰がなかった Windows on ARM 開発 PC である Project Volterra ですが、突然 Windows 開発キット 2023 として発表されて、なんと日本でも発売が開始されたので購入しました。こういった開発者向けデバイスが最初から日本で…

Windows App SDK 1.1 に移行したアプリを Microsoft Store で公開したらクラッシュが多発して困った話

以下のエントリで書いたように、UWP アプリを Windows App SDK 1.1 に移行したので Microsoft Store で公開したのですが、公開直後からクラッシュレポートが大量に発生してしまいました。今は一通り対応が完了していて、大きな問題は発生していない状態なの…

GitHub Actions を使って Windows Containers のビルドと Web App for Containers へのデプロイを自動化する

暫く触っていなかったのですが、若干 Windows Containers が必要になりそうな気配を感じ取ったので、最新の Windows Containers 事情と Azure / GitHub での扱いについて再度確認しました。Windows Containers を使って動かしたいアプリケーションは Classic…

Windows App SDK 1.1 がリリースされたので UWP アプリを移行してビルド自動化まで対応した

Build 2022 合わせで Windows App SDK 1.1 の正式版がリリースされていたようです。あまりリリース自体が話題になっていない気がしますが、UWP アプリケーションからの移行先なので 1.1 対応を行いました。リリースノートを見る限り、割と地味なアップデート…

Windows App SDK 1.1 Preview 3 で追加された Desktop Acrylic と Mica のサポートを試した

何故か Windows App SDK を使っても、Windows 10 や 11 で追加された Desktop Acrylic や Mica といったウィンドウ効果は適用できませんでしたが、先日リリースされた 1.1 Preview 3 でようやく対応したようです。Windows App SDK 1.1 Preview 3 is now avai…

Windows Property System を使って C# から曲情報を取得する

GW なので趣味アプリの開発を行っていると、音楽ファイルに保存された曲情報を取得する必要が出てきたので、Windows Property System を使って実現したという話です。曲情報というのは以下のようにファイルのプロパティから確認出来るメタデータのことです。…

CsWin32 で Win32 API や COM を使ったアプリケーション開発を効率化する

これまで P/Invoke 定義はドキュメントやヘッダーファイルから手書きすることが多かったのですが、最近は必要な Win32 API や COM インターフェースが多くなってきたので CsWin32 を使って自動生成しています。CsWin32 自体は win32metadata というプロジェ…

Snapdragon Developer Kit for Windows こと ECS LIVA Mini Box QC710 Desktop を購入した

Build 2021 で夏に Microsoft Store 経由で発売と言っていた Snapdragon Developer Kit for Windows が 11 月中旬にようやく発売になりました。ずいぶん長い夏でしたね。噂通り ECS のミニ PC だった訳ですが、Windows on ARM 周りに興味がありハワイまで Su…

Windows / Visual Studio 使いが WSL 2 / Visual Studio Code で環境構築した時の手順

基本的には Windows と Visual Studio を使って Azure Functions や GitHub で公開しているアプリケーションとライブラリを書いていますが、最近は Python や Go を書く必要がちょいちょい出てきたので、色々と観念して WSL 2 の環境を構築して使っています…

.NET 6.0 Preview で WPF が ARM64 に対応したのでビルドして Surface Pro X で試した

.NET 5.0 で Win Forms は ARM64 の Windows に対応しましたが、WPF は 2021 年に先送りになっていて非常に残念でしたが、最近リリースされた .NET 6.0 Preview の Nightly Build でついに対応しました。GitHub の Issue ではマイルストーンが 5.0.0 になっ…

PDFium を Windows on ARM (ARM64) 向けにビルドする

作っているアプリケーションに ARM64 対応を将来的に入れるにあたって、依存しているライブラリで PDFium だけが x86 / x64 だけの対応だったので、ARM64 向けビルドを試しておきました。既に Chromium は Microsoft からのコントリビューションが行われてい…

Electron で Surface Pro X にネイティブ対応したアプリを作る

Surface Pro X というか ARM64 にネイティブ対応したアプリケーションが中々増えないですが、.NET Framework / .NET Core 以外ならいい感じに ARM64 対応が進んでいます。特に Electron 7 から ARM64 対応したのは結構インパクトが大きいと思っています。Ele…

Vcpkg と CMake を使って Windows 10 ARM64 向けクロスコンパイルを行う

Windows 10 の ARM64 向けビルドは実質 Surface Pro X 向けですが、Surface Pro X でも x86 エミュレーションのオーバーヘッドを調べると無視できるレベルではなかったので、やっぱりアプリケーションは ARM64 ネイティブで動かしたい気持ちが高まってます。…

Surface Pro X (ARM64) に対応したアプリケーションを作る

10 インチの Surface Go に ARM の CPU が載ることを期待していましたが、Surface Pro X に載ってしまったので検証用に買うべきか悩んでいます。本体だけなら $999 から買えるので比較的安いです。例によって日本での発売は未定ですが、フラグシップとなる S…

Windows Server 2019 時代の Windows Containers を使ったアプリケーション移行

Kubernetes が 1.14 から Windows Server 2019 をサポートするようになり、周辺ツールやサービスも整ってきた現状、今年こそ Windows Containers がぼちぼち使われるようになるのではないかと思っています。と言っても新規開発は ASP.NET Core を推奨してい…

Windows 10 で Process Isolation を使う時の注意点など

Docker Engine 18.09.1 と Windows 10 Version 1809 の組み合わせ時に Process Isolation *1 が使えるようになっています。Windows Server Containers は Hyper-V Containers より軽量なので助かります。早速弄っていましたが、クライアント OS で使う場合に…

Windows Server 2019 の Docker Image と MCR への移行

停止されていた Windows Server 2019 の公開がようやく再開されました。同時に Windows Server 2019 ベースの Server Core / Nano Server イメージも公開が再開されています。これでようやく LTSC なバージョン上でサイズが縮小された Docker Image を使う準…

Multi-arch 時代の Windows Containers 関連イメージの扱い

Windows Containers を使っていて非常に悩ましいのが OS バージョンですが、最近は Multi-arch が使われているのでホスト OS のバージョンから適切なものを自動で利用してくれます。Multi-arch の詳細は Docker 公式ブログを読めば大体理解できるはずです。…

Windows Server Version 1709 から Windows Server Containers のバージョン要件が変更されていた

これまで何回か Windows Containers を触ってきましたが、大体は Windows Server Containers の場合はバージョンを合わせるのが面倒なので、Hyper-V Containers を使おうという方向に落ち着いてました。ビルド番号が異なる場合には起動がブロックされますが…

AWS CodeBuild が Windows に対応したらしいので試した

Twitter を眺めていたら AWS CodeBuild が一部のリージョンで Windows に対応したとあったので、早速オレゴンで試して見ることにしました。Windows が使えるビルドサービスは VSTS か AppVeyor ぐらいしか選択肢がなかったので貴重です。AWS CodeBuild Adds …

ConoHa が Windows Server に対応したので契約してみた

前から Linux の VPS は主に Docker 用として契約して使ってましたが、Windows Server にも対応したと聞いたので早速契約してみることにしました。10% オフになっても 2GB プランはまあまあのお値段という感じがします。みんなお待たせっ!ついにConoHaでもW…

Windows Server Insider Preview Build 17079 で Server Core Container のサイズが更に削減

Windows Containers を使って ASP.NET アプリケーションの Dockernize を行う上で最大の問題となる、Server Core な Docker Image のサイズが 17079 で更に削減されました。ブログでは 30% 削減されたと書いてありますが、実際のサイズはダウンロード時が 1.…

Windows Server Insider Preview Build 17035 で Windows Containers 周りが改善

ちょっと前に次の Semi-Annual Channel 向けの Windows Server Inside Preview がリリースされてました。ぶちぞう RD が空リプしてましたが、6 時とか完全に寝てるので気が付きません。Announcing Windows Server Insider Preview Build 17035 https://t.co/…

Windows Server Version 1709 で Docker と Windows Containers を使ってみる

自宅の検証用 Windows Server 2016 を Version 1709 にアップグレードしたので、例によって Docker 周りで気になる部分だけまとめておくことにします。Tech Summit は Version 1709 ベースで話したいですし。Windows Server Blog や Azure Blog では Azure M…

Windows Server Insider Preview を使って Server Core と Nano Server の Insider Image を試す

あまり Windows Server Insider Preview に関しては興味がなかったのですが、たまたま見つけた Insider 版の Windows Server Core と Nano Server の Docker Image がかなり最適化されていたので、実際に試してみたくなりました。地味にはまりましたが何とか…

Docker for Windows Server 2016 のアップデートを行う方法

Windows Server 2016 への Docker インストールは、PowerShell を使って結構簡単に出来るのですが、アップデート方法をこれまであまり見たことがありませんでした。何回か書いた気はしますが、インストールは以下のコマンドを実行するだけです。 Install-Mod…

Kubernetes で .NET アプリケーションな Job を動かしてみる

Kubernetes には Job という機能があることを知ったので、Windows Server Containers でも試してみました。使いどころはわかってないですが、Windows でも動くことを確認したかったのです。動き続けるタイプの Job を作りたい場合には、これまで通り Deploym…

AppVeyor から Azure Container Service 上の Kubernetes へ自動でデプロイを行う

これまで AppVeyor と Kubernetes でやってきたことの集大成として、AppVeyor から Azure Container Service 上の Kubernetes への自動デプロイを試してみます。やってきたことは以下のエントリを参照してください。Kubernetes はかなり良いですね。AppVeyor…