сбой signtool при настройке inno: 0x80070003 — «Ошибка сохранения IsDiskFile ()»

#inno-setup #signtool

#inno-настройка #инструмент подписи #inno-setup #signtool

Вопрос:

Я получаю странную ошибку при подписании моего программного обеспечения. Я использую inno setup 4.5.2.

 Running Sign Tool command: signtool.exe sign /a /f cert.pfx /v /t "http://timestamp.verisign.com/scripts/timstamp.dll" /p pwd /d "Setup Label" "outuninst.e32.tmp"
SignTool Error: An unexpected internal error has occurred.
Error information: "Error: Store IsDiskFile() failed." (-2147024893/0x80070003)
Error in W:pathinstaller.iss: Sign Tool failed with exit code 0x1.
Compile aborted.
  

Командная строка выглядит довольно нормально, она даже работает вне компиляции inno setup. При настройке SignedUninstaller=no get me further он по-прежнему выдает эту ошибку при попытке подписать выходной установочный файл.

Теперь я почти везде искал этот код ошибки (0x80070003) и / или сообщение «Ошибка сохранения IsDiskFile ()». Я также пробовал использовать несколько версий signtool.

Ответ №1:

Я разобрался с проблемой, путь к сертификату должен быть относительно выходного пути установщика, а не текущей рабочей папки. В этом случае это будет «.. cert.pfx».

Комментарии:

1. Это сообщение указывает на то, что файл сертификата не может быть найден. В моем случае он просто отсутствовал (не проверялся локально). 1

2. Ну, в моем случае неверным был путь к файлу, который нужно подписать . В любом случае, это сообщение указало мне правильное направление, но да, сообщение об ошибке могло быть лучше!

3. В моем случае мне нужно было изменить путь к сертификату с относительного на абсолютный (в рабочей области моего сервера сборки ci).

Ответ №2:

У меня была та же проблема. Моя проблема заключалась в том, что я использовал " в signTool команде, в то время как мне нужно было использовать $q вместо этого. На удивление, он успешно подписал исполняемый файл, но не смог подписать результат setup.exe досье.

Ответ №3:

В моем случае у меня был неправильный путь к файлу сертификата. Сообщение типа «pfx не найден» было бы намного лучше, чем просто «Сбой IsDiskFile ()»…..

Ответ №4:

Моя проблема заключалась в наличии файла .pfx на сетевом диске (G:). Перемещение его на локальный диск (C:) решило проблему.