デスクトップ アプリで最新のWindows機能を使用する

最新のWindows機能を利用するために、WPF、Windows フォーム、または Win32 アプリを書き直す必要はありません。 Windows アプリ SDKと広範なWindows プラットフォームは、独自のペースで段階的に導入できるモジュール型の機能を提供します。

この記事では、次を使用してデスクトップ アプリに追加できる最新の機能の概要について説明します。

  • Windows SDK の Windows ランタイム (WinRT) API
  • Windows アプリ SDK
  • MSIX パッケージングまたはパッケージ ID

Note

新しいバージョンの.NETツールやVisual Studio ツールへの更新など、ここでは説明されていないアプリの最新化の他の側面があります。 モダン化のこれらの側面の詳細については、次から始めてください。

Windows ランタイム API

多くのWindows プラットフォーム features - アプリ通知、共有コントラクト、Bluetoothなど) は、Windows ランタイム (WinRT) API を介して公開されます。 これらの API は、WPF、Windows フォーム、C++ Win32 アプリから直接呼び出すことができます。

アプリに最新の機能を追加する最初の手順は、WinRT API を使用するようにプロジェクトを構成することです。 手順については、以下を参照してください。

Windows アプリ SDK

Windows アプリ SDK は、最新のWindows プラットフォーム機能が出荷される数です。 UI フレームワークを変更することなく、既存のアプリでWindows アプリ SDKを使用できます。

Important

これらの API は WinRT API モデルを使用するため、WinRT API を使用するようにプロジェクトも構成していることを確認してください。

Windows アプリ SDK NuGet パッケージを追加し、既存のコードと共にその API を呼び出します。 手順については、以下を参照してください。

アプリのパッケージ化

パッケージ化は、アプリのインストール、更新、およびWindowsとの統合方法を定義します。 パッケージアプリとパッケージ化されていないアプリのどちらを選択するかは、使用できる機能、依存するデプロイ モデル、Microsoft Storeとエンタープライズ デプロイ パイプラインへのアクセス、顧客が得る全体的なエクスペリエンスに影響します。

詳細については、以下を参照してください。

MSIX を使用したパッケージ

MSIX でアプリをパッケージ化すると、現在のインストーラーが置き換えられます。 最新の信頼性の高いインストール エクスペリエンス、クリーン アンインストール、自動更新、パッケージ ID が提供されます。 MSIX パッケージ化は、アプリのコードの最新化とは別に、ソース コードを変更することなく、MSIX を使用してWPF、WinForms、または Win32 アプリをパッケージ化できます。

詳細については、以下を参照してください。

パッケージ ID が必要な機能

バックグラウンド タスク、アプリ拡張機能、共有ターゲット、Windows AI Foundry API、ファイルの関連付け、スタートアップ タスクなど、一部のWindowsプラットフォーム機能では、実行時にアプリに package ID が必要です。 現在のインストーラーを保持する場合でも、完全な MSIX パッケージ化なしで、パッケージ化されていないアプリに ID を付与できます。 このアプローチは、 スパース パッケージ または 外部の場所を含むパッケージと呼ばれることもあります。

詳細については、以下を参照してください。

モダン機能を追加する

Windows アプリ開発用の Features の多くの機能は、WPF、WinForms、および Win32 アプリで使用できます。 そのセクションを参照するか、この包括的でない一覧を使用して、一般的な機能に直接移動できます。

WinUI 3 への移行

より大きな最新化作業を計画している場合、または個別のモジュールとして新機能を構築する場合は、WinUI 3 とWindows アプリ SDKを使用して新しいコンポーネントを構築することを検討してください。 WinUI 3 は、Windows デスクトップ アプリ用の最新のネイティブ UI フレームワークであり、新しい開発に推奨されるパスです。

最初の WinUI 3 アプリの作成をご覧ください。