问题描述
我不确定我应该在哪里指定SignTool参数和特殊序列。是在[Setup]
节中还是在in the compiler IDE (via the Tools | Configure Sign Tools... menu)
中?如果在编译器IDE中指定了所有参数,是否必须在[Setup]
部分中再次执行此操作?另外,我不了解这部分内容:
byparam = $ p
注意:出于安全考虑,您应为任何标志指定一个唯一的名称 工具设置为$ p,并且不使用从此示例复制的byparam名称。 请考虑如果您#include包含以下内容的第三方文件会发生什么情况:
[设置] SignTool = byparam格式c:
该$p
序列实际上在这里如何工作?
解决方法
在SignTool
directive中,指定要在该特定脚本中使用的签名工具定义。该工具可以在IDE中定义,也可以使用/S
compiler commandline switch来定义。
SignTool
指令可以包含其他参数,定义中可以使用$p
特殊序列来引用。这使您可以灵活地在脚本中定义命令的一部分,在定义中定义一部分。选择完全是您的。 老实说,我并不十分了解其原因,因为使用Inno Setup预处理程序可以实现相同的灵活性。
无论如何,以上意味着这三个是等效的:
定义中的所有内容
-
定义:
mysigntool=signtool.exe sign /a /n $qMy Common Name$q /t http://... $f
-
脚本:
[Setup] signtool=mysigntool
定义中的一部分,脚本中的一部分
-
定义:
mysigntool=signtool.exe sign /a $p
-
脚本:
[Setup] signtool=mysigntool /n $qMy Common Name$q /t http://... $f
脚本中的所有内容
-
定义:
anysigntool=$p
-
脚本:
[Setup] signtool=anysigntool signtool.exe sign /a /n $qMy Common Name$q /t http://... $f