ClickOnce Manifest TFS Build

Does anyone know how to use the code signing certificate for ClickOnce manifest applications in the TBS Hosted Controller Build?

Scenario:

I use Team Foundation Service as a code repository and control source. I created an assembly definition using Team Explorer (Visual Studio 2012).

Assembly " Process " using the default template configured on Any CPU | Release

The assembly is set to Manual Trigger using the Hosted Build Controller .

The TFS build failed if my project used Code Signing and Code.

In my solution, two projects that have ClickOnce manifests

The local assembly does not have problems with code signatures and ClickOnce manifests - since the code signing certificate is available locally for assembly.

But for the same assembly in TFS, I get the error message “ Unable to find certificate signing certificate in certificate store. ” (Only one error blocking the assembly)

Question

How do I install a code signing certificate in TFS Build Service Account or Create Service User Account?

How can I make the code signing certificate available in the virtual assembly certificate store?

Any alternative to get a clean TFS build with ClickOnce code signatures and manifests?

Until you find a solution :( somebody helpful here

+4
source share
2 answers

Well, I managed to sign the ClickOnce manifest in TFS auto-assembly. My certificate is password protected, and for this reason the build server was unable to access the certificate. The certificate was not in my personal certificate store, so I had problems.

I imported the certificate into my personal store on the local computer, and from there I referenced it to sign the clickonce manifest. When you link to a certificate from a personal store, it will not ask for a password. Therefore, you can trick the TFS assembly and can now access the code signing certificate.

+1
source

I have a possible alternative to get a clean build for you.

My company produces a product called ClickOnceMore ( www.clickoncemore.net ) that you can use to create a ClickOnce manifest, not MSBuild. It is designed for easy integration into a continuous integration assembly using the command line interface.

To integrate into your assembly: * Disable clickonce in your visual studio solution * Create a ClickOnceMore project * To sign manifests, you just need to put the signing certificate in a known folder location and then reference it in the ClickOnceMore project * Add a new build step in TFS for creating a ClickOnceMore project

Hope this helps.

-2
source

All Articles