問題タブ [app-certification-kit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
175 参照

wix - WixUI_Advanced がユーザーごとのテストで ACK に失敗する

WixUI_Advancedデュアル スコープ サポートに使用するデスクトップ アプリ MSI を作成しています。ただし、本番環境の MSI により、Windows アプリ認定キットで警告が表示されます。

私は混乱していました。使用されている ACK はバージョン 2.2 であり、警告メッセージはユーザーごとのインストーラーの正しい動作を示しています (インストールにProgram Filesは特権が必要であるため)。しかし、なぜ警告が表示されるのでしょうか? 同じ問題を抱えている体はありますか?

アップデート

のバグのようですWixUI_Advancedこの記事によると、ユーザーごとのインストールのリダイレクトされたフォルダー名%USERPROFILE%\AppData\Local\Programs\XXXは、%USERPROFILE%\AppData\Local\Apps\XXX.

0 投票する
0 に答える
265 参照

c# - マシンごとのアプリケーション データ フォルダ

私は使っている

ユーザーデータを保存するパスを取得します。これは次のようになります。

ユーザーごとに Windows 8.1 デスクトップ アプリケーションの認定を受けると、警告は表示されません。「Per Machine」を選択すると、次の警告が表示されます。

  1. 複数ユーザーのフォルダへの書き込みの何が問題になっていますか?

  2. そうでない場合、複数のユーザーに書き込むためにどのフォルダー/定数を使用しますか?

MyDocuments フォルダーに書き込めることはわかっていますが、それは正しい場所ではありません。私は利点が好きです。さらに、2 人の異なるユーザーがシステムにログオンすると、次のようになります。

0 投票する
0 に答える
291 参照

visual-c++ - Windows での http(s) 呼び出しには、Windows デスクトップ アプリの認証を渡すためのプロセスの昇格が必要ですか

Windows 8.1 のデスクトップ アプリの認定を受ける予定です。アプリは c++-CLI です。認定の要件の 1 つは、エラーを検出するためにアプリを App Verifier で実行する必要があることです。

アプリは、すべてのデータ ニーズのために当社のサーバーに接続します。したがって、基本的にすべての呼び出しは HTTPS です。確かに、単純な win32 コンソール アプリケーション (Windows 8.1 x64 の VS2013 プロフェッショナル トライアル バージョン) を App Verifier の下でテストし、windows.webを使用した http(s) 関連の呼び出しをテストしたいと考えました。 .http クライアント. UAC を有効にして標準ユーザー モードで「asInvoker」を実行すると、アプリケーション検証ツール (およびプロセス モニター) の下で、winsock2 レジストリに関連する luaPriv エラーが発生しました。しかし、SUA ではエラーは発生しませんでした。アプリ検証ログ:

サンプルコード:

プロジェクトを作成する手順[手順 3、4、5 は、windows.web.httpclient を使用するための WinRT サポートを追加します]:

  1. 標準ユーザー モードで VS 2013 プロフェッショナルを開きます。
  2. [ファイル] -> [新規] -> [プロジェクト] -> [インストール済み] -> [テンプレート] -> [Visual C++] -> [Win32] -> [Win 32 コンソール アプリケーション] に移動して作成します。
  3. [C/C++] -> [全般] タブで、[Windows ランタイム拡張機能の使用] を [はい] (/ZW) に設定します。
  4. セット/Gm
  5. Windows.winmd および Platform.winmd パスを「追加の #using ディレクトリ」に追加します。

これらのエラーを無視できますか、または http(s) タスクを実行する別の方法はありますか?

1 つの方法は、http 関連のタスクにアウト オブ プロセス COM サーバーを使用することです。アプリは COM 昇格モニカーを使用して、アウト オブ プロセス サーバーを昇格させます (試行し、アプリ検証ツールでエラーなしで成功しました)。[繰り返しになりますが、この COM 昇格は少し複雑ではありませんか (少なくともこのシナリオでは)、呼び出しごとにプロセスを昇格させ、UAC シールド アイコンを表示する必要がありますか?]次に、次の疑問があります。

  • UAC の観点からネットワーク関連のタスクを処理するには、「管理 COM オブジェクト モデル」と「バックエンド サービス モデル」のどちらを使用する必要がありますか?

  • すべての http(s) 呼び出しに対して、ユーザーは UAC シールド アイコンを使用して昇格を求められる必要がありますか?

  • COM クライアントと COM サーバーの両方がアプリ検証テストに合格する必要がありますか? または、クライアントのみを App Verifier でチェックする必要がありますか? com サーバーもパスする必要がある場合、推奨される設計変更 (インストール中に COM サーバーを管理モードで起動するなど) はありますか?初期化が行われます。