0

アプリケーションの setup.exe を実行すると、証明書がストア内の信頼できる証明書ではありません。次のダイアログボックスが表示されます。

セキュリティ警告

そして、ユーザーが[インストール] をクリックする限り、すべて問題ありません。

これで、ClickOnce アプリケーションを起動する別のアプリケーション Portal ができました。ポータルがインストールされ、既に証明書が受け入れられています (別の pfx ファイル)。

ポータルがコードを介してアプリケーション 1 を起動しようとすると、上記のプロンプトは表示されません (セキュリティ コンテキストで既に実行されているためですか?)。コードのほとんどは、Microsoft の Web サイトのInplaceHostingManagerからのものです。

アプリケーション 1 を実行すると、ユーザーが権限を拒否したというエラーが発生します。ユーザーが上記の警告をクリックしたことがなく、アプリケーション 1 に必要なアクセス許可がないためと理解しています。マイクロソフトの Web サイトから:

アプリケーションが Trusted Application Deployment を使用している場合、共通言語ランタイム (CLR) トラスト マネージャーは配置マニフェストを調べて、有効なトラスト ライセンスが含まれているかどうかを判断します。配置マニフェストに有効な信頼ライセンスが含まれていない場合、ClickOnce はインストールを停止し、TrustNotGrantedException をスローします。Update では、アプリケーションの実行許可をユーザーに付与するかどうかをユーザーに尋ねるプロンプトが表示されることはありません。

したがって、いくつかのオプションが残っています。

  • 有効な証明書を取得します。これらのアプリケーションの場合、2 年間で約 400 ドルのコストを正当化することはできません。独自の証明書を作成することを検討していますが、内部のクライアント マシンに展開された証明書を取得することは、ネットワーク チームが満足する可能性があることです。会社全体で信頼されたルートに証明書を追加することに関与していること。

  • または、アプリケーションがインストールされているかどうかを何らかの方法で検出します。そうでない場合は、setup.exe を呼び出します。その場合は、既存のデプロイ コード。アプリケーションが既にインストールされているかどうかを確認するにはどうすればよいですか?

4

1 に答える 1