Signtool errors with a file not found even though the file exists

John Farrell 10 Reputation points
2025-01-01T17:00:48.54+00:00

Recently we've rebuilt a Azure VM we use to build installers with Inno Setup with signing via Trusted Signing and Signtool. All our installer generation processes worked a few days ago. We've signed with Trusted Signing since August.

Now we are getting an error a file doesn't exist even though it clearly exists. We are thinking this is a type of access or permissions issue?

What we've tried:

  1. Moving the files
  2. Running as administrator
  3. Renaming
  4. Checking file security
  5. Triple checking the paths
  6. Running the same command on another computer

Here is the command we are using:

C:\Program Files (x86)\Windows Kits\10\bin\10.0.26100.0\x64>signtool sign /debug /fd SHA256 /tr "http://timestamp.acs.microsoft.com" /td SHA256 /dlib "C:\Installs\Agent\Extras\tsc-dll\Azure.CodeSigning.Dlib.dll" /dmdf "C:\Installs\Agent\Extras\metadata.json" "C:\Installs\Working\DataAgent.exe

Error:

SignTool Error: File not found: C:\Installs\Working\DataAgent.exe

I can verify the path with signtool just fine:

C:\Installs\Agent\Extras\signtool>signtool verify C:\temp\DataAgent.exe
File: C:\temp\DataAgent.exe
Index  Algorithm  Timestamp
========================================
SignTool Error: No signature found.

Here is a screenshot of the error and the paths of the files:

file exists

Azure Trusted Signing
Azure Trusted Signing
Trusted Signing is a Microsoft fully managed, end-to-end signing solution that simplifies the certificate signing process and helps partner developers more easily build and distribute applications.
244 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. John Farrell 10 Reputation points
    2025-01-02T21:05:27.9566667+00:00

    The problem was due to the metadata.json path being incorrect.

    The error message from Signtool was frustrating and misdirecting.

    2 people found this answer helpful.

Your answer

Answers can be marked as Accepted Answers by the question author, which helps users to know the answer solved the author's problem.