2017-07-11 16 views
0

EVコードをInstallShield 2013 expressでハードウェアトークンでインストールする必要がありますが、秘密鍵証明書ファイルをエクスポートする方法はありません。 DigiCertUtilツールを使用して最終的なexeファイルに署名してください。これは解決策ではありません。なぜならインストーラがmsiファイルを呼び出すときにWindowsが未知のパブリッシャをまだポップアップしているからです。InstallShieldはEVコード+ハードウェアトークンを使用してコードに署名します

ありがとうございます!

答えて

0

これを達成する方法を理解するのに一日のうちに良いところがありましたが、最終的にはそれをダミープロジェクトで使用できるようにしました。

セットアップ:ジェムアルトのハードウェアキー(SafeNetの)マイクロソフトから

  • SignTool

    考え方では、InstallShieldのPrecompressionからバッチコマンドを実行することであると

    • InstallShield 2015 Premierフレクセラ
    • から
    • DigiCert EV code-signing証明書イベントはPostbuildです。 .msiPrecompressionイベントで署名され、セットアップ実行ファイルはPostbuildイベントで署名されています。

      ステップ1 - バッチコード署名を有効

      • Digicert hereからの指示に従ってください。おそらく他のベンダーも同等の指示を持っているでしょう
      • 正しい証明書サムプリントを抽出して、Signtoolの引数として使用するようにしてください。私は、あなたは

      マシンにあなたが他の証明書がインストールされていない場合でも、そうお勧めします。ステップ2 - 準備InstallShieldプロジェクト

      • 「パス変数」は、以下の値を追加するの下で:
        • SignToolFolder - ステップ1
        • で抽出された証明書の拇印 - ときSignTool.exeが
        • 証明書サムであるパス
      • 「リリース」でリリースを選択し、[イベント]タブに移動します。 cmd /c "<SignToolFolder>\signtool.exe" sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /sha1 <CertificateThumbprint> <ISReleasePath>\<ISProductConfigName>\<ISReleaseName>\DiskImages\DISK1\setup.exeポストビルドイベント書き込みで cmd /c "<SignToolFolder>\signtool.exe" sign /tr http://timestamp.digicert.com /td sha256 /fd sha256 /sha1 <CertificateThumbprint> <ISReleasePath>\<ISProductConfigName>\<ISReleaseName>\DiskImages\DISK1\Test.msi
      • 予圧イベント書き込み(Test.msiとあなたのMSIの名前とパスとパスを交換)で
      • 。ここでも、セットアップを変更します。ニーズのためのexeファイルのパスと名前

      備考不思議な

      • 、パス変数は、通常のWindowsのコマンドラインで<Var>、好きではない%Var%を使用してアクセスされます。
      • インストールの内容に署名する必要がある場合、これは機能しません。必要に応じて - 実行する前にそれらを外部に署名することで、安っぽいソフトウェアを戦って無限の時間を過ごしたいとしない限り、
      • は、はウィックス:)にプロジェクト名/パス
      • スイッチにスペースが含まれていないIS
  • 関連する問題