Автоответчик
Да, это возможно. Поскольку @Wosi предложил вам написать партию, а затем вызвать ее с добавленным параметром $f
.
Пример партии (signtool.bat):
@echo off
"PATH_TO_SIGNTOOL\signtool.exe" sign /v /du "COMPANY_NAME" /fd sha1 /t "http://timestamp.verisign.com/scripts/timstamp.dll" /f "sha1_cert.pfx" /p PASSWORD %1
set SIGN_RESULT_1=%ERRORLEVEL%
"PATH_TO_SIGNTOOL\signtool.exe" sign /as /v /du "COMPANY_NAME" /fd sha256 /tr "http://timestamp.comodoca.com/rfc3161" /td sha256 /f "sha256_cert.pfx" /p PASSWORD %1
set SIGN_RESULT_2=%ERRORLEVEL%
set /a RESULT=%SIGN_RESULT_1%+%SIGN_RESULT_2%
if %RESULT% NEQ 0 (
echo Warning! Signing failed with %SIGN_RESULT_1% for sh1 and %SIGN_RESULT_2% for sha256
pause
exit /B %RESULT%
)
echo Signing succeeded
exit /B 0
Затем в программе установки Inno вы можете вызвать signtool.bat $f
где $f
будет передана %1
для партии.
Для совместимости Windows XP для sha1: удалены /as
, /tr
заменены /t
, удалены /td
(как это требует /tr
)
Я оставлю его здесь, как, возможно, кто-то может оказаться полезным.
Почему это не должно быть возможно? Вы можете передать командный файл как ваш signtool, который вызывает signtool.exe два раза. – Wosi