The following error means that signing certificate of a manifest cannot be found in the certificate store.
C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets(3321,9): error MSB4044: The "SignFile" task was not given a value for the required parameter "CertificateThumbprint".
I found this workaround by generating my own key:
- Open the project file (for example, .csproj) in your preferred editor, delete the line containing tag "ManifestCertificateThumbprint".
- In Visual Studio, run Publish again, a new key will be generated. When prompted whether to overwrite the existing pfx key file, select "Yes".
You cannot publish a ClickOnce application without signing it. This is to ensure that viruses cannot be propagated to client machines via “ClickOnce” deployment . By doing so, only the original publisher can publish updates to the application.
When you deploy a .Net application using ClickOnce, Visual Studio creates a TemporaryKey.pfx file to sign the deployment. That .pfx file is the key used for signing your manifests. The temporary key isn’t verified by anyone. Also it expires in a year. If you publish your application to public or internet, you need to consider buying a code signing certificate.
When the temporary key expires, your application will cease function. You will have to generate new key, redeploy the application, and reinstall it on all machines. To avoid this, try to extend Visual Studio’s Default 1 Year .pfx File before publishing. See more details
here.