views:

739

answers:

2

In Visual Studio's Project Properties -> Signing tab, I have signed my project with a code-signing certificate. On my team, however, I'm the only one with the code-signing certificate, even though we're in a multiple-developer environment. When the other developers try to "Start Debugging", they get the following message:

"cannot find the certificate that matches the project system thumbprint"

Anyone have any suggestions for allowing them to debug their project, but only allow me to publish?

+1  A: 

Would delayed signing do the trick for you?

JasonRShaver
Amazingly, no."When delay signed, the project will not run or be debuggable."This may only apply to VSTO projects.
Peder Rice
+2  A: 

One thing that might work is adding a post-build event to call a scriptthat does your signing. You could use something like signtool.exe to sign the files when you publish them.

You could make multiple versions of a script file : Debug_sign.bat, Release_sign.bat

Then in your Post-build event command line:
call "$(ProjectDir)$(ConfigurationName)_sign.bat"
would call the correct script depending on your target.

Only the release script would actually sign the output files. The debug script file could just do nothing..

I've used signtool to sign an assembly with a .pfx like this:
signtool.exe sign /f "codesign_cert.pfx" /p "cert_password" /d "App description" /du "http://mywebsite" myApp.exe

markt
Any idea what signtool.exe syntax I might use for an Excel Workbook VSTO project?
Peder Rice
I'm working through some specifics, but this is exactly what we needed. Thanks!
Peder Rice
I think it depends how you are deploying.. if you are using ClickOnce, I believe that you need to sign the manifest (I haven't deployed with this method yet). In the past, I've created Outlook VSTO projects and deployed using an msi installer - I signed my setup.exe, msi using signtool, but signed my add-in dll just using the VS built-in signing.
markt