Wixsharp: "Error: SignerSign() failed." (-1073700864/0xc000a000)

Created on 21 Jul 2020  路  2Comments  路  Source: oleg-shilo/wixsharp

Hello Oleg,

I am receiving this error randomly when signing multiple assemblies, and msis during our automated build process. From what I have read on StackOverflow this is probably due to the timestamp server from being overrun. In my case it is http://timestamp.comodoca.com. Comodo states this on their website: "Note: If you are signing several pieces of software with a script, please add a delay of 15 seconds or more between signings so that you're not hammering our servers."

I was thinking that it would be nice to add a RetryCount and RetryDelay to the DigitalSignature class so that transient errors do not fail the build.

If you think this is reasonable, I can submit a pull request if you like.

question

Most helpful comment

Hi Oleg, this was much more challenging to add a retry than I initially thought. It appears that msbuild parses the output generated by the EXEC command and detects errors in the text of the StandardError/StandardOut. So even though my retry logic succeeds after the initial error, msbuild detects it as a failure because of the text generated by the initial failed run.

There is a property in EXEC called IgnoreStandardErrorWarningFormat that can be set to true to ignore the error text interpretation, but this would cause problems for other calls.

My solution to the problem was to change from http://timestamp.comodoca.com to http://timestamp.digicert.com.

Painfully simple solution after all that effort.

All 2 comments

Hi Oleg, this was much more challenging to add a retry than I initially thought. It appears that msbuild parses the output generated by the EXEC command and detects errors in the text of the StandardError/StandardOut. So even though my retry logic succeeds after the initial error, msbuild detects it as a failure because of the text generated by the initial failed run.

There is a property in EXEC called IgnoreStandardErrorWarningFormat that can be set to true to ignore the error text interpretation, but this would cause problems for other calls.

My solution to the problem was to change from http://timestamp.comodoca.com to http://timestamp.digicert.com.

Painfully simple solution after all that effort.

Painfully simple solution after all that effort.

The famous "Occam's Razor principle"
Embrace it :o)

Was this page helpful?
0 / 5 - 0 ratings