使用signtool.exe

时间:2016-10-26 13:53:49

标签: windows batch-file manifest elevation signtool

我使用signtool.exe为我的Installer.exe创建数字签名,但我希望安装程序的清单文件具有requestedExecutionLevel =" requireAdministrator"。 为此,我运行了一个包含以下内容的build.bat文件:步骤

    • 提取清单:
      mt -inputresource:\ Installer.exe;#1 -out:\ Installer.exe.manifest
    • 将提升从asInvoker更改为requireAdministrator
    • 使用新值更新清单文件:
      mt.exe -nologo -manifest" \ Installer.exe.manifest" -outputresource:" \ Installer.exe的#1
  1. 使用signtool.exe签署Installer.exe signtool.exe sign / f .... \ Common \ / p"密码" / t http://tsa.starfieldtech.com / v build \ Installer.exe
  2. 第一步工作顺利,但是当执行数字签名时,清单文件会使用requestedExecutionLevel =" asInvoker"进行更新。

    我首先尝试签名并设置了requestedExecutionLevel,但这删除了我的数字签名。

    没有找到类似的问题。 有什么想法吗?

1 个答案:

答案 0 :(得分:-1)

好的,所以我发现了如何解决这个问题。

当尝试运行mt.exe时它失败了,因为我没有设置PATH,所以我所做的只是在调用提取清单和更新清单的批处理文件中设置路径localy。我的批处理文件如下所示:

.py

现在它可以工作,我有数字签名和requestedExecutionLevel = requireAdministrator。