An error occurred while signing

When you deploy and application in Microsoft Visual Studio with ClickOnce, you need to sign the installer with a key.

To sign the project Visual Studio needs to use the signtool. If the ClickOnce feature is not enabled in Visual studio, it displays the following error message:

An error occurred while signing: SignTool.exe was not found at path C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\bin\signtool.exe

To install the ClickOnce feature and the signtool

On Windows 7

  • In Windows Control panel select Programs and Features,
  • Right click Visual Studio 2015 and select Modify,
  • In the feature list select ClickOnce tools.

On Windows 10

  • In Windows Control Panel select System,
  • On the left side select Apps & features,
  • In the app list click Microsoft Visual Studio 2015,
  • Click the Modify button,
  • In the Visual Studio setup click the Modify button again,
  • In the feature list select ClickOnce Publishing Tools.

Save the key file password in Visual Studio

When you have already set up the project signing of the C# application for ClickOnce deployment, and move the solution to another workstation you may get the following error message when you build the solution:

Severity Code Description Project File Line Suppression State
Error Cannot import the following key file: .....pfx. The key file may be password protected. To correct this, try to import the certificate again or manually install the certificate to the Strong Name CSP with the following key container name: VS_KEY_....

We get this message, because the new workstation does not know the key file password. To solve this problem, we have to save the key file password on the new workstation.

To make your solution work again

  • Open the Visual Studio project properties window,
  • On the Signing tab click the pull down that shows the name of the key file.
  • Select Browse,
  • Select the key file,
  • Enter the password in the Password text box.

Include PBD files in ClickOnce deployment to show the line numbers in the Stack Trace

If there is an error in an application, the line numbers are only included in the Stack Trace when the PBD files are also in the application directory.

To include the PBD files in an application that was distributed with ClickOnce deployment you need to:

  • Right click the main project and select Properties
  • On the Build tab
    • Uncheck Optimize Code to make sure the line numbers in the Stack Trace match the source code
    • Click the Advanced… button at the bottom of the window
    • Set Debug info to full
      VS PBD 01

  • On the Publish tab click the Application Files… button
    • On the Application Files window select the Show all files check box in the lower right corner
    • Change the Publish Status of the PBD files from Exclude (Auto) to Include
      VS PBD 02
    • Click OK to save the changes