【问题标题】:Help using signtool.exe in Delphi project post-build events帮助在 Delphi 项目构建后事件中使用 signtool.exe
【发布时间】:2010-11-18 13:50:04
【问题描述】:

这是一个非常简单的问题。我应该在 Delphi post build events 中写什么来执行命令行工具?

这是我写的:

c:\BinPath\signtool.exe sign /f c:\BinPath\Mypfxfile.pfx /p MyPassword 
/t http:// timestamp.verisign.com/scripts/timstamp.dll c:\BinPath\Project1.exe

(其中 c:\BinPath 是 Delphi 输出路径,为简单起见,我将 signtool.exe 和 pfx 文件复制到同一文件夹中)

在我构建项目时,出现此模式窗口错误:

--------------- 项目 1-CodeGear Delphi for Microsoft Windows - Form1 --------------------------- 无法打开文件“C:\SourcePath\EXEC”。 找不到指定的 路径..

在我收到的消息中

[执行错误] EXEC(1): “SignerTimeStamp() 失败。” (-2147467259/0x80004005)

[执行错误] 退出命令 "c:\BinPath\signtool.exe 符号 /f c:\BinPath\Mypfxfile.pfx /p 我的密码 /t http:// timestamp.verisign.com/scripts/timstamp.dll c:\BinPath\Project1.exee",代码为 1。

如何管理?在 Delphi 帮助中,我阅读了(来自 Creating Build Events 主题):

输入构建命令,每行一个命令,输入每个命令后按回车键。命令由任何有效的 DOS 命令组成,例如:copy $() c:\Built\$()

所以我只是在构建事件中插入了我能够从命令提示符运行的 (c:\BinPath\....Project1.exe)。错误在哪里?谢谢。

【问题讨论】:

    标签: delphi post-build-event


    【解决方案1】:

    我本可以删除这个问题,因为我发现了问题,但我认为最好留下它,因为它对其他人有用:

    问题很简单

    http:// timestamp...
    

    当然应该

    http://timestamp...
    

    在构建事件中复制时,我错误地插入了一个额外的空间。通过阅读发布的问题,我发现了错误...

    【讨论】:

    • 问这个问题通常会回答它。在 Q 和 A 中都 +1,因为没有删除它们:这些“duh”时刻很重要,因为它们时不时地发生在我们所有人身上。我并不为他们感到羞耻(就在前几天,我调用了一个 DLL 函数,该函数期望一个带有 PUnicodeChar 的 PAnsiChar - 是多么的“废话”),我很高兴其他人也不是。
    • @vcldeveloper:Stack Overflow 告诉我,我可以在 2 天内接受自己的答案。
    • @Jeroen 是的。我们从错误中学习。有时我们需要别人告诉我们我们的错误,有时我们只需要自己,而在第二种情况下,我有宾至如归的感觉(“duh”时刻,还有“I made it”时刻)......
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-02-03
    相关资源
    最近更新 更多