如何签署由 OCRA 和 Inno Setup 打包的应用程序?

How can I sign an application packaged by OCRA and Inno Setup?

我正在使用以下命令让 OCRA 使用 Inno Setup 构建安装程序:

ocra bin/rails . --output fvc.exe 
                 --add-all-core 
                 --gemfile Gemfile 
                 --no-dep-run 
                 --gem-full 
                 --chdir-first 
                 --no-lzma 
                 --innosetup fvc.iss 
                 -- runner -e production fvc.rb

我想签署安装程序包,这可以在 Inno Setup 的脚本编辑器或命令行上完成。这可能就像向编译器获取一些参数一样简单,但我找不到有关如何通过 OCRA 执行此操作的文档。

sign tool 确实已在 Inno Setup IDE 或 iscc.exe 命令行中定义。

OCRA does not allow customization of iscc.exe command-line.

如果你不能在 IDE 中定义签名工具(例如因为构建脚本必须是独立的),你必须作弊:

  • 在 运行构建之前(或作为构建的一部分)自动将签名工具配置导入注册表。

    [HKEY_CURRENT_USER\SOFTWARE\Jordan Russell\Inno Setup\SignTools]
    "SignTool0"="sign=..."
    
  • iscc.bat 包装器放在 PATH 而不是 iscc.exe 并使其成为 运行 iscc.exe 及其所有参数和符号工具配置:

    iscc.exe %* /ssign=...