41

I'm getting a weird error whiles signing my software. I'm using 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" "out\uninst.e32.tmp"
SignTool Error: An unexpected internal error has occurred.
Error information: "Error: Store IsDiskFile() failed." (-2147024893/0x80070003)
Error in W:\path\installer.iss: Sign Tool failed with exit code 0x1.
Compile aborted.

Command line seems pretty ok, it even work outside the inno setup compile. While setting the SignedUninstaller=no get me farther, it still make this error while trying to sign the output setup file.

Now i've looked pretty much everywhere for that error code (0x80070003) and/or the message "Store IsDiskFile() failed". I have also tried with multiple version of signtool.

draeron
  • 1,218
  • 1
  • 10
  • 13

4 Answers4

68

I figured out the problem, the path to the certificate must be relative to the installer output path, not the current working folder. In this case, it would be "..\cert.pfx".

Uwe Keim
  • 39,551
  • 56
  • 175
  • 291
draeron
  • 1,218
  • 1
  • 10
  • 13
  • 19
    This message indicates the certificate file can't be found. In my case, it was just plain missing (not checked out locally). +1 – ashes999 May 17 '13 at 18:28
  • 1
    Well in my case it was the path to the _file to be signed_ that was incorrect. In any case, this post pointed me in the right direction, but yeah, the error message could be better! – Paul Apr 24 '18 at 16:24
  • 1
    In my case I needed to change the certificate path from relative to absolute (within my ci build server's workspace). – MarkU Jun 20 '18 at 01:02
3

I had the same problem. My problem was I have used " in the signTool command, while I needed to use $q instead. Surprisingly it was successfully signed the executable but it failed to sign the result setup.exe file.

Roozbeh Zabihollahi
  • 7,207
  • 45
  • 39
2

In my case I had the wrong Path for the certificate file. A message like "pfx not found" would much be better than just "IsDiskFile() failed."....

rsc
  • 10,348
  • 5
  • 39
  • 36
0

My problem was having the .pfx file on a network drive (G:). Moving it to a lokal drive (C:) solved the problem.