2016-10-26 32 views
0

Я использую signtool.exe для создания цифровой подписи для моего Installer.exe, но я хочу, чтобы файл манифеста установщика имел requestExecutionLevel = "requireAdministrator". Для этого я бегу build.bat файл, который содержит следующее: шагиrequestExecutionLevel reset после использования signtool.exe

    • извлечь манифест:
      мт -inputresource: \ Installer.exe; # 1: \ отъезда Installer .exe.manifest
    • изменение высота от asInvoker до requireAdministrator
    • обновления файла манифеста с новым значением:
      mt.exe -nologo -manifest "\ Installer.exe.manifest" -outputresource: "\ Installer. exe; № 1
  1. признак того, Installer.exe с помощью signtool.exe
    signtool.exe знак/ф .... \ Common \/р "пароль"/т http://tsa.starfieldtech.com/v построить \ Installer.exe

Первый шаг работал гладко, но когда выполняется цифровая подпись, файл манифеста обновляется с запросомExecutionLevel = "asInvoker".

Я пробовал сначала подписание и послесловие, задав requestExecutionLevel, но это удаляет мою цифровую подпись.

Не нашли аналогичных данных. Любые идеи?

ответ

-1

Хорошо, поэтому я узнал, как решить проблему.

При попытке запустить файл mt.exe он терпит неудачу, потому что у меня не было набора PATH, поэтому я просто установил путь локально в пакетном файле, который вызывает манифест экстракта и обновляет манифест. Мой командный файл выглядит следующим образом:

SETLOCAL 

SET PATH=%PATH%;C:\Program Files (x86)\Windows Kits\8.1\bin\x64; 

CALL extractManifest.bat 

CALL changeElevation.bat 

CALL updateManifest.bat 

CALL codeSigning.bat 

Сейчас он работает, у меня есть и цифровая подпись и requestedExecutionLevel = requireAdministrator.