アーカイブ: Windows デスクトップアプリ v1.1 の証明書の要件

ドキュメントのバージョン: 1.1

ドキュメントの日付: 2012年1月26日

このドキュメントでは、デスクトップアプリが Windows 8 デスクトップアプリ認定プログラムに参加するために満たす必要がある、技術的な要件と資格の資格について説明します。 Windows 7 では、このプログラムは Windows ソフトウェアロゴプログラムと呼ばれていました。

ようこそ。

Windows プラットフォームでは、製品とパートナーの広範なエコシステムがサポートされています。 製品に Windows ロゴを表示すると、Microsoft と会社の間の関係と品質に対するコミットメントの共有が示されます。 お客様は、お客様の製品について Windows ブランドを信頼しています。これは、互換性標準を満たし、Windows プラットフォームで適切に動作するためです。 Windows アプリ認定を正常に渡すことで、windows 互換性センターでアプリを紹介できるようになります。また、Windows ストアでデスクトップアプリの参照を一覧表示するために必要な手順でもあります。

Windows アプリ認定プログラムは、windows を実行している Pc に簡単にインストールし、信頼性を確保するために役立つプログラムと技術の要件で構成されています。 お客様は、購入したシステムの安定性、互換性、信頼性、パフォーマンス、および品質を向上させることができます。 Microsoft では、Windows platform for Pc で実行するように設計されたソフトウェアアプリのこれらの要件を満たすための投資に焦点を当てています。 これらの作業には、Windows ソフトウェアを実行する Pc のエクスペリエンスの一貫性、パフォーマンスの向上、セキュリティ強化のための互換性テストが含まれます。 Microsoft 互換性テストは、業界パートナーとの共同作業で設計されており、業界の開発や消費者の要求に応じて継続的に改善されています。

Windows アプリ認定キットは、これらの要件に対応しているかどうかを検証するために使用され、Windows 7 ソフトウェアロゴプログラムでの検証に使用される替わるを置き換えます。 Windows アプリ認定キットは、Windows ソフトウェア開発キット (SDK) に含まれるコンポーネントの1つです。

アプリの資格

アプリが Windows 8 デスクトップアプリ認定に適合するようにするには、次の条件と、このドキュメントに記載されているすべての技術要件を満たす必要があります。

  • スタンドアロンアプリである必要があります
  • ローカル Windows 8.1 コンピューターで実行する必要があります。
  • 認定された Windows Server アプリのクライアントコンポーネントである場合があります
  • コードと機能が完全である必要があります

1. アプリは互換性があり、回復力がある

アプリがクラッシュしたり応答を停止したりすると、ユーザーのフラストレーションが大きくなります。 アプリは回復性と安定性が期待されるため、このような障害を排除することで、ソフトウェアの予測可能性、保守性、パフォーマンス、および信頼性を高めることができます。

1.1 アプリが Windows 互換モード、AppHelp メッセージ、またはその他の互換性修正プログラムに依存していないこと
1.2 アプリが VB6 ランタイムに依存しないようにする必要がある
1.3 HKLM \ Software \ MICROSOFT \ windows NT \ CurrentVersion \ Windows appinit _ dll を使用して Win32 API 呼び出しをインターセプトするために、アプリで任意の dll を読み込むことはできません。

2. アプリは Windows セキュリティのベストプラクティスに従う必要がある

Windows セキュリティのベストプラクティスを使用すると、Windows の攻撃対象領域への露出を防ぐことができます。 攻撃対象ソフトウェアは、悪意のある攻撃者がターゲットソフトウェアの脆弱性を利用して、オペレーティングシステムを悪用するために使用できるエントリポイントです。 最悪のセキュリティ脆弱性の1つは、特権の昇格です。

2.1 アプリで実行可能ファイルをセキュリティで保護するために、強力で適切な acl を使用する必要がある 2.2 アプリケーションは、強力で適切な acl を使用してディレクトリを保護する必要がある 2.3 アプリでレジストリキーをセキュリティで保護するために、強力で適切な acl を使用する必要がある 2.4 オブジェクトが格納されているディレクトリをセキュリティで保護するために、アプリで強力かつ適切な acl を使用する必要がある 2.5 アプリケーションは、改ざんに対して脆弱なサービスへの管理者以外のアクセスを減らす必要があります。 2.6 アプリケーションでは、24時間ごとに再起動を伴うサービスを2回以上再起動できないようにする必要がある
**注: アクセス権は、それを必要とするエンティティにのみ付与する必要があります。**

Windows アプリ認定プログラムは、windows システムが危険にさらされないように Acl とサービスが実装されていることを確認して、Windows の攻撃対象領域が公開されていないことを確認します。

3. アプリが Windows のセキュリティ機能をサポートする

Windows オペレーティングシステムには、システムのセキュリティとプライバシーをサポートする多くの機能があります。 オペレーティングシステムの整合性を維持するために、アプリはこれらの機能をサポートする必要があります。 適切にコンパイルされていないアプリでは、バッファーオーバーランが発生し、サービス拒否や悪意のあるコードの実行が可能になる可能性があります。

3.1 厳密な名前のアセンブリへの安全なアクセスを確保するために、アプリで AllowPartiallyTrustedCallersAttribute (APTCA) を使用することはできません
3.2 安全な例外処理を保証するために、アプリケーションを/SafeSEH フラグを使用してコンパイルする必要がある
3.3 データの実行を防ぐために、/NXCOMPAT フラグを使用してアプリをコンパイルする必要がある
3.4 アドレス空間レイアウトのランダム化 (ASLR) に/DYNAMICBASE フラグを使用してアプリをコンパイルする必要がある
3.5 アプリで共有 PE セクションの読み取り/書き込みを行わないようにする必要がある

4. アプリはシステム再起動マネージャーのメッセージに従う必要がある

ユーザーがシャットダウンを開始すると、通常、シャットダウンが成功したことを確認する必要があります。オフィスを離れたままにして、コンピューターの電源をオフにすることが必要になる場合があります。 アプリは、シャットダウンをブロックせずにこの要望を尊重する必要があります。 ほとんどの場合、シャットダウンは重要ではない可能性がありますが、重大なシャットダウンを可能にするためにアプリを準備する必要があります。

4.1 アプリで重要なシャットダウンを適切に処理する必要がある
重大なシャットダウンでは、WM queryendsession に FALSE を返すアプリ _ は wm _ endsession と closed が送信されますが、wm queryendsession に応答してタイムアウトしたアプリ _ は終了されます。

4.2 A GUI app must return TRUE immediately in preparation for a restart
\_LPARAM = endsession \_ closeapp (0x1) を使用した WM queryendsession。 コンソールアプリは、SetConsoleCtrlHandler を呼び出して、シャットダウン通知を処理する関数を指定できます。 サービスアプリは RegisterServiceCtrlHandlerEx を呼び出して、シャットダウン通知を受け取る関数を指定できます。
4.3 Your app must return 0 within 30 seconds and shut down
\_LPARAM = endsession \_ closeapp (0x1) を使用した WM endsession。 少なくとも、アプリでは、ユーザーデータを保存し、再起動後に必要な情報を指定することによって、準備する必要があります。
4.4 Console apps that receive the CTRL\_C\_EVENT notification should shut down immediately 4.5 Drivers must not veto a system shutdown event
**Note: Apps that must block shutdown because of an operation that cannot be interrupted should explain the reason to the user.** Use ShutdownBlockReasonCreate to register a string that explains the reason to the user. When the operation has completed, the app should call ShutdownBlockReasonDestroy to indicate that the system can be shut down.

5. アプリがクリーンで復元可能なインストールをサポートする必要がある

クリーンで復元可能なインストールにより、ユーザーは自分のシステムでアプリを正常に管理 (展開および削除) できます。

5.1 アプリでクリーンで復元可能なインストールを適切に実装する必要がある
インストールが失敗した場合、アプリはロールバックしてコンピューターを以前の状態に復元できる必要があります。

5.2 Your app must never force the user to restart the computer immediately
コンピューターの再起動は、インストールまたは更新の終了時に唯一のオプションである必要はありません。 ユーザーは後で再起動する必要があります。
5.3 Your app must never be dependent on 8.3 short file names (SFN) 5.4 Your app must never block silent install/uninstall 5.5 Your app installer must create the correct registry entries to allow successful detection and uninstalls
Windows インベントリツールおよびテレメトリツールでは、インストールされているアプリに関する完全な情報が必要です。 MSI ベースのインストーラーを使用している場合、MSI は次のレジストリエントリを自動的に作成します。 MSI インストーラーを使用していない場合、インストールモジュールはインストール時に次のレジストリエントリを作成する必要があります。
  • 表示名
  • InstallLocation
  • Publisher
  • UninstallString
  • VersionMajor または MajorVersion
  • VersionMinor または MinorVersion

6. アプリはファイルとドライバーにデジタル署名する必要がある

Authenticode デジタル署名を使用すると、ソフトウェアが正規のものであることをユーザーが確認できます。 また、ウイルスに感染しているかどうかなど、ファイルが改ざんされていないかどうかを検出することもできます。 カーネルモードのコード署名の適用は、コード整合性 (CI) と呼ばれる Windows の機能であり、ファイルのイメージがメモリに読み込まれるたびにファイルの整合性を確認することによって、オペレーティングシステムのセキュリティを強化します。 CI は、悪意のあるコードによってシステムバイナリファイルが変更されたかどうかを検出します。 また、カーネルモジュールの署名が正しく検証されない場合に、診断およびシステム監査ログイベントを生成します。

6.1 すべての実行可能ファイル (.exe、.dll、.ocx、.sys、.cpl、drv、.scr) は、Authenticode 証明書で署名されている必要があります。
6.2 アプリによってインストールされるすべてのカーネルモードドライバーは、Windows ハードウェア認定プログラムを通じて取得した Microsoft 署名を持っている必要があります。 すべてのファイルシステムフィルタードライバーは、Microsoft によって署名されている必要があります。
6.3 例外と特別許可
特別許可は、署名されていないサードパーティ製再頒布可能パッケージ (ドライバーを除く) に対してのみ考慮されます。 この権利を付与するには、署名されたバージョンの再頒布可能パッケージを要求する通信証明が必要です。

7. オペレーティングシステムのバージョンチェックに基づいてアプリのインストールまたはアプリの起動がブロックされない

技術的な制限がない場合は、ユーザーがアプリのインストールまたは実行を意図的にブロックしていないことが重要です。 一般に、Windows Vista 以降のバージョンの Windows 向けに作成されたアプリの場合、オペレーティングシステムのバージョンを確認する必要はありません。

7.1 アプリではバージョンチェックを実行してはいけない
特定の機能が必要な場合は、機能自体が使用可能かどうかを確認します。 Windows XP が必要な場合は、Windows XP 以降 (>= 5.1) を確認してください。 これにより、検出コードは今後のバージョンの Windows でも引き続き動作します。 ドライバーインストーラーとアンインストールモジュールでは、オペレーティングシステムのバージョンを確認することはできません。

7.2 Exceptions and Waivers will be considered for apps meeting the criteria below:
  • Windows XP、Windows Vista、および Windows 7 でも実行できる1つのパッケージとして提供されるアプリで、オペレーティングシステムのバージョンを確認して、特定のオペレーティングシステムにインストールするコンポーネントを決定する必要があります。
  • 承認済みの API 呼び出しのみを使用してオペレーティングシステムの最小バージョンのみをチェックし、アプリケーションマニフェストの最小バージョンの要件を適切に一覧表示するアプリ。
  • 承認された API 呼び出しのみを使用してオペレーティング システムのバージョンを確認するセキュリティ アプリ (ウイルス対策、ファイアウォールなど)、システム ユーティリティ (デフラグ、バックアップ、診断ツールなど)。

8.アプリがセーフ モードでサービスまたはドライバーを読み込む

セーフ モードを使用すると、ユーザーは Windows の診断とトラブルシューティングを行えます。 ドライバーとサービスは、ストレージ デバイス ドライバーなどの基本的なシステム操作や、ウイルス対策スキャナーなどの診断と回復の目的で必要な場合を限り、セーフ モードで読み込むには設定できません。 既定では、Windows がセーフ モードの場合、Windows にプレインストールされたドライバーとサービスだけが起動します。

  • 8.1 例外と免除
    セーフ モードで開始する必要があるドライバーとサービスには、免除が必要です。 免除要求には、SafeBoot レジストリ キーに書き込む該当する各ドライバーまたはサービスが含まれる必要があります。また、アプリまたはサービスをセーフ モードで実行する必要がある技術的な理由を説明する必要があります。 アプリ インストーラーでは、次のレジストリ キーを使用して、このようなすべてのドライバーとサービスを登録する必要があります。
    - HKLM/System/CurrentControlSet/Control/SafeBoot/Minimal - HKLM/System/CurrentControlSet/Control/SafeBoot/Network

注: これらのドライバーとサービスをテストして、エラーなしでセーフ モードで機能する必要があります。

9.アプリは、ユーザー アカウント制御のガイドラインに従う必要があります

一部の Windows アプリは管理者アカウントのセキュリティ コンテキストで実行され、アプリは多くの場合、過剰なユーザー権限と Windows 特権を要求します。 リソースへのアクセスを制御することで、ユーザーはシステムを制御し、望ましくない変更から保護することができます。 望ましくない変更は、コンピューターを制御するルートキットなど、悪意のあるものになる可能性があります。また、特権が制限されているユーザーが行ったアクションの結果である可能性があります。 リソースへのアクセスを制御するための最も重要なルールは、ユーザーが必要なタスクを実行するために必要なアクセス標準ユーザー コンテキストの量を最も少なく提供する方法です。 ユーザー アカウント制御 (UAC) ガイドラインに従って、システムが常にセキュリティ リスクにさらされることなく、アプリで必要なアクセス許可をアプリに付与します。 ほとんどのアプリでは、実行時に管理者特権は必要ありません。標準ユーザーとして実行すれば問題ありません。

9.1 アプリには、実行レベルを定義し、アプリを実行するために必要な特権をオペレーティング システムに指示するマニフェストが必要です
アプリ マニフェストのマーキングは、DLL ではなく、EXEs にのみ適用されます。 これは、プロセスの作成時に UAC が DLL を検査しないのでです。 UAC 規則は Windows サービスには適用されません。 マニフェストは、埋め込みまたは外部のいずれかです。
マニフェストを作成するには、アプリ名>.exe.manifest <という名前のファイルを作成し、EXE と同じディレクトリ _ に格納します。 アプリに内部マニフェストがある場合、外部マニフェストは無視されます。 次に例を示します。
<RequestedExecutionLevel level=""asInvoker | highestAvailable | requireAdministrator"" uiAccess=""true | false""/>

9.2 Your app s main process must be run as a standard user (asInvoker).
管理機能は、管理特権で実行される別のプロセスに移動する必要があります。 ユーザー向けアプリ (スタート メニューのプログラム グループからアクセス可能なアプリなど)、昇格を必要とするアプリは Authenticode 署名済みである必要があります。
9.3 Exceptions and Waivers
昇格された特権 (requireAdministrator または highestAvailable) を使用してメイン プロセスを実行するアプリには、免除が必要です。 メイン プロセスは、アプリへのユーザーのエントリ ポイントとして識別されます。 以下のシナリオでは、権利の放棄が検討されます。
  • 実行レベルが highestAvailable または requireAdministrator に設定された管理ツールまたはシステム ツール
  • ユーザー インターフェイス特権分離 (UIPI) をバイパスするには、アクセシビリティまたは UI オートメーション フレームワーク アプリでのみ uiAccess フラグを true に設定します。 アプリの使用率を適切に開始するには、このフラグは Authenticode 署名済みである必要があります。また、ファイル システム内の保護された場所 (Program Files) に存在する必要があります。

10.アプリは、既定で正しいフォルダーにインストールする必要があります

ユーザーは、選択した場所にアプリをインストールするオプションを維持しながら、ファイルの既定のインストール場所で一貫した安全なエクスペリエンスを提供する必要があります。 また、複数のユーザーが互いのデータと設定を破損したり上書きしたりすることなく、同じコンピューターを使用するために、アプリ データを正しい場所に格納する必要があります。 Windows には、プログラムとソフトウェア コンポーネント、共有アプリ データ、ユーザーに固有のアプリ データを格納するファイル システム内の特定の場所が用意されています

10.1 アプリは、既定で Program Files フォルダーにインストールする必要があります
%ProgramFiles% のネイティブ 32 ビット および 64 ビット アプリの場合は 、x64 で実行されている 32 ビット アプリの場合は %ProgramFiles(x86)% です。 このフォルダーに対して構成されたセキュリティアクセス許可のため、ユーザー データまたはアプリ データをこの場所に格納することはできません。

10.2 Your app must avoid starting automatically on startup
たとえば、アプリで次の設定を行う必要があります。
  • レジストリ実行キー HKLM、またはソフトウェア \ Microsoft Windows \ \ CurrentVersion の HKCU
  • レジストリ実行キー HKLM、または HKCU (Software \ Wow6432Node \ Microsoft \ windows \ CurrentVersion)
  • Start Menu AllPrograms > STARTUP
10.3 Your app data, which must be shared among users on the computer, should be stored within ProgramData 10.4 Your app s data that is exclusive to a specific user and that is not to be shared with other users of the computer, must be stored in Users\\

11.アプリはマルチユーザー セッションをサポートする必要がある

Windows ユーザーは、競合や中断なしで同時セッションを実行できる必要があります。

11.1 アプリは、複数のセッションでローカルまたはリモートで実行する場合、アプリの通常の機能が悪影響を受けずにいなければならない
11.2 アプリの設定とデータ ファイルがユーザー間で保持されない
11.3 ユーザーのプライバシーと設定をユーザーセッションに分離する必要がある
11.4 アプリのインスタンスを互いに分離する必要がある
つまり、あるインスタンスのユーザー データは、アプリの別のインスタンスには表示されません。 アクティブなユーザー セッションでは、非アクティブなユーザー セッションのサウンドを聞く必要があります。 複数のアプリ インスタンスが共有リソースを使用する場合は、アプリで競合が発生していない必要があります。

11.5 Apps that are installed for multiple users must store data in the correct folder(s) and registry locations
UAC の要件を参照してください。
11.6 User apps must be able to run in multiple user sessions (Fast User Switching) for both local and remote access 11.7 Your app must check other terminal service (TS) sessions for existing instances of the app
**Note:** If an app does not support multiple user sessions or remote access, it must clearly state this when launched from this kind of session.

12.アプリは x64 バージョンの Windows をサポートする必要があります

64 ビット ハードウェアの一般的化に合い、アプリ開発者は、アプリを 64 ビットに移行するか、64 ビット バージョンの Windows で 32 ビット バージョンのアプリを実行することで、64 ビット アーキテクチャの利点を活用する必要があります。

12.1 アプリはネイティブで 64 ビットをサポートする必要があります。または、少なくとも 32 ビットの Windows ベースのアプリは、64 ビット バージョンの Windows との互換性を維持するために、64 ビット システムでシームレスに実行する必要があります
12.2 アプリとそのインストーラーに 16 ビット コードを含めず、または 16 ビット コンポーネントに依存しない
12.3 アプリのセットアップで、64 ビット アーキテクチャに適したドライバーとコンポーネントを検出してインストールする必要がある
12.4 すべてのシェル プラグインは、64 ビット バージョンの Windows で実行する必要があります
12.5 WoW64 エミュレーターで実行されているアプリが Wow64 仮想化メカニズムを回避またはバイパスしようとしない
アプリが WoW64 エミュレーターで実行されているかどうかを検出する必要がある特定のシナリオがある場合は、IsWow64Process を呼び出して実行する必要があります。

まとめ

これらの要件が進化するにつれて、以下のリビジョン履歴の変更に注意してください。 安定した要件は、最善の作業を行う上で不可欠です。そのため、行う変更が持続可能であり、アプリの保護と強化を継続することを目指します。

お客様の優れたエクスペリエンスを提供する取り組みにお応えして、ありがとうございます。

改定履歴

Date Version リビジョンの説明 ドキュメントへのリンク
2011 年 12 月 20 日 1.0 プレビュー用のドキュメントの初期ドラフト。
2012 年 1 月 26 日 1.1 セクション # 2 に更新します。 1.1

デスクトップ アプリ認定の詳細を確認する

要件 説明 詳細
互換性と回復性 ハング&クラッシュは、ユーザーの大きな中断であり、不満を引き起こします。 アプリは回復力があり、安定している必要があり、このような障害を排除することで、ソフトウェアの予測性、保守性、パフォーマンス、信頼性の向上に役立ちます。 Windows Vista、Windows 7、Windows 8 オペレーティング システム
アプリケーション検証ツール
AppInit DLL
ベスト プラクティスWindows セキュリティ準拠する Windows セキュリティのベスト プラクティスを使用すると、Windows 攻撃面への露出を回避できます。 攻撃面は、悪意のある攻撃者がターゲット ソフトウェアの脆弱性を利用してオペレーティング システムを悪用するために使用できるエントリ ポイントです。 最悪のセキュリティ脆弱性の 1 つは、特権の昇格です。 Attack Surface Analyzer
Access Control 一覧
Windows のセキュリティ機能のサポート Windows オペレーティングシステムには、システムのセキュリティとプライバシーをサポートするための多くの手段が実装されています。 OS の整合性を維持するために、アプリケーションはこれらの手段をサポートする必要があります。 適切にコンパイルされていないアプリケーションでは、バッファーオーバーランが発生し、サービス拒否や悪意のあるコードの実行が発生する可能性があります。 BinScope ツールリファレンス
システム再起動マネージャーのメッセージに従う ユーザーがシャットダウンを開始すると、ほとんどの場合、シャットダウンが成功したことを確認することが強く求められます。オフィスを離れたままにして、コンピューターの電源をオフにすることをお勧めします。 アプリは、シャットダウンをブロックせずにこの要望を尊重する必要があります。 ほとんどの場合、シャットダウンは重要ではない可能性がありますが、重大なシャットダウンを可能にするためにアプリを準備する必要があります。 Windows Vista でのアプリケーションのシャットダウンの変更点
再起動マネージャーの開発
復元可能なクリーンインストール クリーンで復元可能なインストールにより、ユーザーは自分のシステムでアプリを正常に管理 (展開および削除) できます。 方法: ClickOnce アプリケーションと共に必須コンポーネントをインストールする
64ビットシステムでのアプリケーションのインストール
ファイルとドライバーにデジタル署名する Authenticode デジタル署名を使用すると、ソフトウェアが正規のものであることをユーザーが確認できます。 また、ファイルが改ざんされていないかどうかを検出することもできます (ウイルスに感染している場合など)。 カーネルモードのコード署名の適用は、コード整合性 (CI) と呼ばれる Windows の機能であり、ファイルのイメージがメモリに読み込まれるたびにファイルの整合性を確認することによって、オペレーティングシステムのセキュリティを強化します。 CI は、悪意のあるコードによってシステムバイナリファイルが変更されたかどうかを検出します。 また、カーネルモジュールの署名が正しく検証されない場合に、診断およびシステム監査ログイベントを生成します。 Windows 上のカーネルモジュールのデジタル署名
オペレーティングシステムのバージョンチェックに基づいてインストールまたはアプリの起動をブロックしない 技術的な制限がない場合は、ユーザーがアプリのインストールまたは実行を意図的にブロックしていないことが重要です。 一般に、Windows Vista 以降のリリース向けに作成されたアプリの場合、オペレーティングシステムのバージョンを確認する理由はありません。 オペレーティングシステムのバージョン管理
セーフモードでサービスおよびドライバーを読み込まない セーフモードでは、ユーザーは Windows の診断とトラブルシューティングを行うことができます。 システムの基本操作 (記憶装置ドライバーなど) や診断と回復の目的 (ウイルス対策スキャナーなど) に必要な場合を除き、ドライバーとサービスをセーフモードで読み込むように設定することはできません。 既定では、セーフモードは、Windows にプレインストールされていないドライバーやサービスのほとんどを開始しません。 これらは、システムが基本操作または診断と回復のために必要としない限り、無効のままにしておく必要があります。 オペレーティング システムがセーフ モードで実行されているかどうかの判断
システムがデバイスドライバからセーフモードで実行されているかどうかを確認する方法
ユーザーアカウント制御 (UAC) のガイドラインに従う 一部の Windows アプリは、管理者アカウントのセキュリティコンテキストで実行され、多くのユーザー権限と Windows 特権が必要です。 リソースへのアクセスを制御することにより、ユーザーは望ましくない変更に対してシステムを制御できるようになります (コンピューターを経由するルートキット stealthily や、権限が制限されているユーザー (仕事用コンピューターに禁止されたソフトウェアをインストールしている従業員など) からのアクションなど)。 リソースへのアクセスを制御するための最も重要な規則は、ユーザーが必要なタスクを実行するために必要な最小限のアクセス権を提供することです。 UAC ガイドラインに従うと、必要に応じてアプリケーションに必要なアクセス許可が与えられ、システムが常にセキュリティリスクにさらされることはなくなります。 ユーザー アカウント制御
UAC: アプリケーションの更新に関するガイドライン
既定で正しいフォルダーにインストールする ユーザーは、ファイルの既定のインストール先を使用して一貫した安全なエクスペリエンスを確保しながら、選択した場所にアプリをインストールするオプションを維持する必要があります。 また、アプリデータを適切な場所に保存して、複数の担当者が同じコンピューターを使用できるようにする必要もあります。この場合、互いのデータや設定を破損したり上書きしたりする必要はありません。 インストール/アンインストールの要件の概要
マルチユーザーセッションをサポートする Windows ユーザーは、競合や中断なしで同時セッションを実行できる必要があります。 リモートデスクトップサービスプログラミングガイドライン
X64 バージョンの Windows をサポート 64ビットのハードウェアが普及するにつれて、アプリの開発者は、アプリを64ビットに移行することによって64ビットアーキテクチャの利点を活用できるようになります。また、Windows の64ビットバージョンでは、アプリの32ビット版が正常に動作することを期待しています。 アプリケーションの互換性: Windows Vista 64-Bit

関連項目