0

以前にこの問題を解決しようとしましたが、完全には解決できませんでした。任意の提案をいただければ幸いです。

Visual Studio 2010 で開発中のソリューションがあり、それに関連するいくつかのプロジェクトがあります。このソリューションはサービスとそれを制御するためのトレイ アプリをインストールするため、トレイは管理者として実行する必要があります。

Verisign 証明書を使用して各 dll および exe に署名しています。ログには、署名が成功したことが報告されています。最初は、インストーラーをビルドする前にスクリプトを使用してすべてに署名しました。次に、前後のすべてに署名しようとしました。最近、各プロジェクトの署名をプロジェクトのビルド後のイベントに移動することで、問題を解決したと思いました。

インストール時に発行元の下に会社名が表示されるので、インストーラー ファイルが正しく署名されていることがわかります。インストール後、アプリケーションの起動時に問題が発生します。UAC セキュリティ ポップアップが表示されますが、発行元が不明として表示されます。

次のようなビルド後のイベントを各プロジェクトに追加しました。

c:\Verisign\signtool.exe 署名 /f "c:\Verisign\Certificate.2012.pfx" /p パスワード /t http://timestamp.verisign.com/scripts/timstamp.dll "C:\Code\Service \bin\App.dll"

これはうまくいくようです。誰が私が間違っているのか教えてもらえますか?

4

1 に答える 1

1

私はついにここで何が間違っていたのかを理解することができました。ファイルに Project Output を使用していた Windows インストーラーを使用していました。これらのファイルは bin フォルダーで署名されていましたが、アプリのインストール後に署名されなくなりました。

プロジェクト出力を使用する代わりに、インストーラーに含めたいすべての DLL および EXE ファイルを手動で追加しました。これを行った後、UACポップアップが表示されたときに会社名が表示されるようになりました.

もう少し統合されているように見えるので、プロジェクト出力を使用することをお勧めしますが、実際のソリューションが必要です。

于 2013-06-19T18:27:29.643 に答える