0

コード署名のプロセスを単純化できない理由がわかりません。リリースが出るたびに、理解するのに1日以上かかるようです. Verisign を使用しており、最新の pfx ファイルがあります。

管理者として実行するアプリケーションがあるため、アプリケーションとインストーラーの両方に署名する必要があります。私はこれを数ヶ月前に一度達成し、リリースしました。このリリースでは、プロセスを簡素化し、必要なファイルに自動的に署名するように Visual Studio を設定することにしました。各プロジェクトの [プロパティ] -> [署名] を使用します。次に、署名するために PostBuildEvent としてインストーラーをビルドしながらスクリプトを実行しました。

インストーラーが会社名を付けてくれたので、すべてうまくいっていると思いました。しかし、アプリを実行すると、UACに「不明」と表示されました。以前のやり方に戻ることにしました。ビルドして、ファイルに署名し、インストーラーをビルドして、最後に署名しました。これは 3 か月前に機能していましたが、今でも UAC ポップアップで「不明」の問題が発生しています。

ソリューションに新しいクラスを追加していないので、署名スクリプトは引き続き有効です。何が間違っているのかわかりません。Verisign で署名する方法や、従うべき簡単なルールに関する適切なドキュメントはありますか? ビルド後にすべての .exe および .dll ファイルを呼び出しsigntool.exe sign /f "Verisign.2012.pfx" /p myPassword "C:\...\Installer.msi"てから、インストーラーを作成し、.exe および .msi ファイルで同じものを呼び出すと、すべてが署名されていることが保証され、「不明」と表示されないようです。

私よりも多くの経験を持ち、私の理解に大きな穴が開いていることに気づき、私を正しい道に導く人はいますか? ありがとうございました。

4

1 に答える 1

0

私は自分が間違っていたことを特定しました。私はプロジェクトを構築してから署名していました。その後、インストーラーをビルドして署名していました。ただし、いくつかのテストで、インストーラーをビルドすると、ファイルからデジタル署名が削除されることがわかりました。

VS プロジェクトで VeriSign で署名する正しい方法は、プロジェクトの出力を使用するインストーラーを作成しないことです。代わりに、ファイルを手動で選択してインストーラーに追加します。その後、各プロジェクト出力に署名するビルド後イベント (プロパティ -> ビルド イベント -> ビルド後イベント コマンド ライン) を追加する必要があります。

解決策を提案してくれた人に感謝します。

于 2012-10-19T18:44:40.850 に答える