I've been maintaining a clickonce application for a few years now and Publishing without problems. I haven't needed to Publish for a little while, but yesterday when I had to do a release for testing, I received the following error:
When attempting to Publish <application name="">, the following error was received:
Error 2 An error occurred while signing: Failed to sign bin\Debug\app.publish\\setup.exe. SignTool Error: ISignedCode::Sign returned error: 0x800B010A
A certificate chain could not be built to a trusted root authority.
SignTool Error: An error occurred while attempting to sign: bin\Debug\app.publish\\setup.exe <application name="">
A quick look at the certificate which had the following error
The integrity of this certificate cannot be guaranteed. The certificate may be corrupted or may have been altered.
After barking up the wrong tree, I finally came across this little gem of an article that discribes the issue and its fixes.
By default, makecert.exe creates certificates that chains up to the Root Agency root CA certificate located in the Intermediate Certification Authorities store. The Root Agency CA certificate has a public key of 512 bits, so once you deploy this update no certificate created with makecert.exe will be considered valid.
You should now consider makecert.exe deprecated
I've implemented the a certificate following his instructions and can now Publish the app.
Not bad, this is the first time a Windows Update has broken one of my applications.
I too have just been stung by this. My ClickOnce app, which has worked fine for several years, can no longer be published. Thanks for that, Microsoft.
I've read the instructions in the TechNet article you linked to, and I've created a .crt file using certreq, but what do I do with it now? The Signing tab in Visual Studio only lets me select .pfx files.
It would be great if you could give more detail about the steps you went through to get your ClickOnce app into a publishable state again.
If I get this working and re-sign my app with the new certificate created by certreq, will my users need to uninstall and reinstall, or will ClickOnce update them seamlessly to the new version?
in the project i want to build, i already have a school results system and students should be able to request their results via sms.thus by sending their stud. id to the system number(gsm modem number) and the system automatically reading the message, extracting the stud. id and year from the message search the results table for the results and send it back to the student who requested for the results(senders number) i will also store requests to the database
Yes, when I installed the 2012 RC, it screwed up my install of 2010. I had to repair the install. Grrr. Same thing happened when I installed the RTM (double dutch grr), but that may be because I had previously installed the RC on the same machine.
Other than that, they both run well side by side.
If your actions inspire others to dream more, learn more, do more and become more, you are a leader.-John Q. Adams You must accept one of two basic premises: Either we are alone in the universe, or we are not alone in the universe. And either way, the implications are staggering.-Wernher von Braun Only two things are infinite, the universe and human stupidity, and I'm not sure about the former.-Albert Einstein
As Paul says, you don't get it included with the Express editions; that's why they are free. I did read somewhere that it may be possible to buy the MFC libraries and add them to your system, but you would need to ask Microsoft about that.
One of these days I'm going to think of a really clever signature.