大丈夫、私は何か正しいことをしていないので、助けが必要です。何が起こっているかは次のとおりです。
- 支払ったComodoからの「本物の」Authenticode 証明書を持っています。
- Visual Studio 2012 および .NET 4.5 で記述された WPF アプリケーションに署名して展開しようとしています。
- プロジェクトのプロパティで、「ClickOnce マニフェストに署名する」をチェックし、証明書を選択しました。
- Comodo のタイムスタンプ サーバー ( http://timestamp.comodoca.com/authenticode )も使用しています。
- [公開] タブと [前提条件] ボタンの下で、[前提条件コンポーネントをインストールするためのセットアップ プログラムを作成する] をオンにしました。
ビルドして公開すると、すべてが機能します。setup.exe は私の Comodo 証明書で署名されているので、問題ありません。また、.application
ファイルは Comodo 証明書で署名されており、私の会社名が発行元として表示されます。これも良いことです。
ここで問題が発生します。アプリケーションがクライアントにダウンロードされると、Windows 8 は信頼できないプログラム (MyProgram.exe) に関する警告をスローし、発行元は私の会社名ではありません。したがって、実際の実行可能ファイルを除いて、すべてが署名されています。
signtool.exe を使用するビルド後のスクリプトを obj\Release\MyProgram.exe に追加しようとしましたが、アプリケーションをインストールしようとすると、ハッシュ値が一致しないというマニフェスト エラーが表示されます。つまり、ビルド後のイベントの前にマニフェストが生成されます。
.exe に署名し、ClickOnce マニフェストの整合性を維持するにはどうすればよいですか? これを行う簡単な方法はありますか、それともすべてのファイルで手動で mage.exe を使用する必要がありますか?