Friday, May 28, 2010

Cryptographic failure while signing assembly -- Unknown error (8013141c)

My Visual Studio 2008 project built fine a few weeks ago, now every time I compile it, I receive this error:

Cryptographic failure while signing assembly 'MyAssembly.dll' -- 'Unknown error (8013141c)'

This post helped the most, and brought me to the answer.

My twist on the solution is as follows:

1) I use 64 bit Windows 7 (though it should be the same for Windows Vista, and 32 bit)
2) I needed to change security on directory:
C:\ProgramData\Microsoft\Crypto\RSA\MachineKeys
3) I added my user name, with the following minimum "Advanced" set of permissions:
* Create files / write data
* Create folders / append data
* Write attributes
* Write extended attributes
* Delete
4) After hitting apply, I had to accept that 5 directories were "Access is denied"

The project then built successfully. Any fewer permissions, and the error reoccurred.

According to blogger's consensus, a Windows Update broke the permissions on that directory. I'm using a domain account in the local Administrators group which has "Full Control" so I don't understand why I had to do this at all.