1

次のコードを使用して、ビルド後のイベントでMSIファイルに署名しようとしています

signtool sign /t http://timestamp.verisign.com/scripts/timestamp.dll /f "E:\Products\Tools\DigitalId\Certificate.pfx" /p 1501ocbc /d "Server" "E:\Products\Setup\Server_Setup\ServerSetup\bin\Release\en-US\ServerSetup.msi"

これにより、Visual Studio コマンド プロンプトで OK が署名され、同様のコードが C++ プロジェクトで機能します。しかし、セットアップをビルドし、ビルド後のイベントでコードに署名すると、コード エラー 9009 が発生します。多くのデバッグの後、WiX は通常のコマンド プロンプトを使用しているという結論に達しました。cmd.exeVisual Studio ツールで開くにはどうすればWiX にアクセスできますか?

または、パッケージに署名する別の方法はありますか?

4

3 に答える 3

1

SignTool: Insigniaで正しく動作するように見える MSI ファイルに署名する組み込みの方法があるようです。

于 2013-01-24T11:44:29.790 に答える
1

次のようにイベントを定義できます。

"%programw6432%\microsoft sdks\windows\v7.1\bin\signtool.exe" sign /t etc.. 

注: パスをインストール (プログラム ファイル、Windows SDK バージョンなど) に適合させる必要があります。または、独自の環境変数を定義することもできます。

于 2013-01-28T14:31:12.090 に答える
0
  • 証明書を登録し、/sha1ハッシュキーを使用します - 証明書が適切であることを確認するためです (browser-internetoptions/content/certificate を確認してください)。
  • SignTool パス - Simon Mourier が提案したように明示的にするか、アクセス可能なパスに入れsigntool.exeます
  • ビルド後の操作の選択 - MSI ファイルに対するすべての操作が完了したら、MSI ファイルに署名する必要があります。MSI (INSERT/UPDATE プロパティ) に対するアクションは、署名を元に戻します。
于 2013-01-28T13:07:44.767 に答える