.exeまたは.msiインストーラーにパッケージ化され、.NET (WPF、Windows フォーム、コンソール) やC++、WinUI、MFC、Qt、Flutter、OpenGL、Pascal、Java、Electronなど、一般にWin32アプリと呼ばれる従来のデスクトップ アプリも対象となっています。Microsoft Store でデスクトップ アプリを発行する | Microsoft Developer
公開前に、Windows アプリ認定キット (WACK) でアプリの問題を検証できます。
Microsoft パートナー センターに、Microsoft アカウント (Microsoft account / MSA) でサインインします。
アカウントがロックされたときには、任意の電話番号でセキュリティコードをリクエストすることで解除できます。その番号はアカウントに関連づけられている必要はありません。アカウントがロックされている - Microsoft サポート
会社のアカウントを選択するには「所在地の国または地域で、その会社が会社として認識されている必要」があります。開発者アカウントの種類 - パートナー センターの開発者アカウントの種類 - Windows apps | Microsoft Learn
Microsoft Storeにアプリを提出するには、「WindowsとXboxプログラム」への参加が必要です。
AAD (Azure Active Directory / Azure AD) があるならば、開発者アカウントの作成後にパートナー センターの開発者アカウントにリンクした後のサインインにAADを使用できます。Azure Active Directoryとは - IT用語辞典 e-Words
AADの呼称は、Microsoft Entra IDに変更されています。Azure Active Directory の新しい名前 - Microsoft Entra | Microsoft Learn
DUNS番号とは、アメリカのダンアンドブラッドストリート (Dun & Bradstreet / D&B) が管理している、企業コードの付与管理システム、および同システムによって各企業に付与された企業コードの名称です。
発行者の表示名は利用者に表示されることになるため、会社アカウントならば組織の登録済みのビジネス名または会社名を用います。他のユーザーによって使用されている表示名は、許可されません。
加入プロセスが完了すると、アカウントに対して検証プロセスが開始されます。会社アカウントならば、会社への電話連絡が行われます。
パッケージ化しない場合は証明機関 (Certificate Authority:CA) から発行された証明書が必要となるため、MSIXとしてパッケージ化するのが望ましいです。Microsoft Store を通じて Win32 アプリケーションを配布するには。 - Windows apps | Microsoft Learn
アプリの名前を事前に登録できます。ただし3か月以内に使用されないと、登録は削除されます。MSIX アプリの名前を予約する - Windows apps | Microsoft Learn
パッケージ ファミリ名 (PFN) は、アプリの名前と組み合わされて"発行者の表示名.アプリの名前_英数字" の形式となるため、日本語名がある場合には登録時の名前は英字として、後から日本語名を追加するのが好ましいです。その場合の別名は、Microsoftパートナー センターの[製品管理] → [アプリ名の管理]で設定できます。
別名を用いるときは、それをアプリの製品名と一致させます。さもなくば「The product Display Name provided with the submission does not correspond to the installed on-device product name. Please update the titles so that they are at least similar to each other.」として[10.1.1.1 Inaccurate Representation]のポリシー違反とされます。
ファイルに問題があると、次のようにエラーが通知されます。
これらの不一致は、マニフェスト ファイルの[パッケージ化]の項目を、Microsoft パートナー センターの【ホーム → アプリとゲーム】で対象のアプリを選択し、【製品管理 → 製品 ID】の
の値にします。アプリ ID の詳細の表示 - Windows apps | Microsoft Learn
同一バージョンのパッケージを再アップロードするならば、先に古いパッケージを削除しておきます。さもなくば、
としてエラーとなります。そのとき削除は[保存]するまで確定されないため、保存してパッケージの申請ページを開き直してからアップロードします。
アップロードしたパッケージでサポートするすべての言語に対して登録情報の入力を求められますが、情報を提供する言語は追加や削除をできます。ストア登録情報の言語 - MSIX アプリのストア登録情報を作成する - Windows apps | Microsoft Learn
マニフェストで"runFullTrust"を宣言していると、「Package.appxmanifest ファイルで 1 つ以上の制限付き機能の使用が検出されました。以下に詳細情報を提供して、制限付き機能の使用の承認を要求する必要があります。できるだけ詳細な情報を含めてください。」「この機能が必要な理由は何ですか、 runFullTrust またこの機能は製品でどのように使用されますか?」として説明を求められます。これに対しては「これはWindowsフォームを用いるWin32アプリであるため、runFullTrustが必要です。Desktop Bridgeで使用されます。」のように返答することで申請を通過できます。
申請すると、アプリの認定処理が開始されます。MSIX アプリのアプリ認定プロセス - Windows apps | Microsoft Learn
デジタル署名、暗号化、サンドボックスを使用して、改ざんや承認されていないコピーからアプリを保護できるとされています。信頼とセキュリティ - Microsoft Store 経由でアプリを配布する利点 - Windows apps | Microsoft Learn
収益化、エンゲージメント、Microsoft Store サービス - UWP applications | Microsoft Learn
アドオンの場合。アプリのサブスクリプション アドオンの有効化 - UWP applications | Microsoft Learn
UWPアプリ用のMicrosoft Advertising SDKは、2020/06/01に停止しています。 Microsoft Advertising SDK を使用したアプリでの広告の表示 - UWP applications | Microsoft Learn Microsoft Advertising SDK - Visual Studio Marketplace