How to install SignTool.exe in Visual Studio 2015 for Windown 10?
I tried to build my project but the program threw an error :
Error An error occurred while signing: SignTool.exe not found.
You need to install the Windows 10 SDK.
Visual Studio 2015 Update 1 contains it already, but it is not installed by default. You should go to Control Panel -> Programs and Features, find Microsoft Visual Studio 2015 and select "Change".
Visual Studio 2015 setup will start. Select "Modify".
In Visual Studio components list find "Universal Windows App Development Tools", open the list of sub-items and select "Windows 10 SDK (10.0.10240)".
Windows 10 SDK in VS 2015 Update 1 Setup
Of cause you can install Windows 10 SDK directly from Microsoft: https://go.microsoft.com/fwlink/?LinkID=698771
As josant already wrote - when the installation finishes you will find the SignTool.exe in the folders:
x86 -> c:\Program Files (x86)\Windows Kits\10\bin\x86
x64 -> c:\Program Files (x86)\Windows Kits\10\bin\x64\
If you only want SignTool and really want to minimize the install, here is a way that I just reverse-engineered my way to:
Download the .iso file from https://developer.microsoft.com/en-us/windows/downloads/windows-10-sdk (current download link is http://go.microsoft.com/fwlink/p/?LinkID=2022797) The .exe download will not work, since it's an online installer that pulls down its dependencies at runtime.
Unpack the .iso with a tool such as 7-zip.
Install the Installers/Windows SDK Signing Tools-x86_en-us.msi file - it's only 388 KiB large. For reference, it pulls in its files from the following .cab files, so these are also needed for a standalone install:
4c3ef4b2b1dc72149f979f4243d2accf.cab (339 KiB)
685f3d4691f444bc382762d603a99afc.cab (1002 KiB)
e5c4b31ff9997ac5603f4f28cd7df602.cab (389 KiB)
e98fa5eb5fee6ce17a7a69d585870b7c.cab (1.2 MiB)
There we go - you will now have the signtool.exe file and companions in C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x64 (replace x64 with x86, arm or arm64 if you need it for another CPU architecture.)
It is also possible to commit signtool.exe and the other files from this folder into your version control repository if want to use it in e.g. CI scenarios. I have tried it and it seems to work fine.
(All files are probably not necessary since there are also some other .exe tools in this folder that might be responsible for these dependencies, but I am not sure which ones could be removed to make the set of files even smaller. Someone else is free to investigate further in this area. :) I tried to just copy signtool.* and that didn't work, so at least some of the other files are needed.)
Here's where you'll find it:
C:\Program Files (x86)\Windows Kits\10\App Certification Kit
Screenshot:
Best solution end of 2020:
Just download Windows 10 SDK from Microsoft here:
https://go.microsoft.com/fwlink/?LinkID=698771
In setup, choose only Windows App Certification App (it's only 184 MB)
You can find signtool.exe here:
%PROGRAMFILES(X86)%\Windows Kits\10\bin\x64
Cheers!
As per the comments in the question... On Windows 10 Signtool.exe and other SDK tools have been moved into "%programfiles(x86)%\Windows Kits\".
Typical path to signtool on Windows 10.
32 bit = "c:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe"
64 bit = "c:\Program Files (x86)\Windows Kits\10\bin\x64\signtool.exe"
Tools for SDK 8.0 and 8.1 also reside in the "Windows Kits" folder.
Another answer from 2021.
You might not need Windows SDK at all. If you have VS-2019 installed, you might already have signtool in C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool\signtool.exe
NOTE: The good thing about this particular signtool version (compared to the Windows SDK one), is that it's self-contained, and does not need all the dll's next to it (mssign32.dll, wintrust.dll etc, which usually lie around in Windows SDK folders).
You can even add this file to your source code repo (just one file), since this tool hasn't changed since 2016.
P.S. I had this signtool even without "ClickOnce publishing" component installed in my Visual Studio Community Edition.
Location:
C:\Program Files (x86)\Windows Kits\10\App Certification Kit\signtool.exe
In 2019, this is a quite recent link from Microsoft about how to obtain this tool:
The SignTool tool is a command-line tool that digitally signs files,
verifies signatures in files, or time stamps files. For information
about why signing files is important, see Introduction to Code
Signing. The tool is installed in the \Bin folder of the Microsoft
Windows Software Development Kit (SDK) installation path.
SignTool is available as part of the Windows SDK, which you can
download from https://go.microsoft.com/fwlink/p/?linkid=84091.
I only needed signtool, so I chose the minimal I came up with and signtool.exe is now in C:\Program Files\Microsoft SDKs\Windows\v7.1\Bin\signtool.exe
Microsoft article link:
https://learn.microsoft.com/en-us/windows/win32/seccrypto/signtool
to install just the signingtools from the winsdksetup.exe (available at the same url as the windows sdk iso mentioned above) this is an option to, straight from the Dockerfile i'm working in:
RUN powershell Start-Process winsdksetup.exe -ArgumentList '/features OptionId.SigningTools', '/q', '/ceip off', '/norestart', -NoNewWindow -Wait
so if you're in windows then that'd be:
winsdksetup.exe /features OptionId.SigningTools
winsdksetup /h gives you the options, so i won't summarise them here.
I include the dockerfile snippet, as that is what i started my day looking for the solution for.
You don't have to install the Signtool. It might already be there.
Go to C:\Program Files (x86)\ and search for signtool.exe. In my system I found it under C:\Program Files (x86)\Microsoft SDKs\ClickOnce\SignTool
No matter which version of Windows you are using, the above signtool will solve your purpose.
If you're using VS Express 2015, just go to your control panel --> programs and features --> select vs 2015 --> click change, then in the VS Express installer select 'Modify' --> select Publishing tools, and finish. Once setup completes the changes you will be able to create your installer.
You should go to Control Panel -> Programs and Features, find Microsoft Visual Studio 2015 and select "Change".
Visual Studio 2015 setup will start. Select "Modify".
In Visual Studio components list, open the list of sub-items and select "ClickOnce Publication Tools" and "Windows 10 SDK" too.
I did a modify with the Visual Studio from Control Panel, Programs and Features. The SDK was not at first apparent so I installed the Common Tools which lo and behold did include the SDK Update 3.
It's available many, many places, depending upon what is installed:
On my box, every one except the v6.0A SDK version supports the /fd option.
SignTool is available as part of the Windows SDK (which comes with Visual Studio Community 2015). Make sure to select the "ClickOnce Publishing Tools" from the feature list during the installation of Visual Studio 2015 to get the SignTool.
Once Visual Studio is installed you can run the signtool command from the Visual Studio Command Prompt.
By default (on Windows 10) the SignTool will be installed in:
C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe
For me in 2021 the signtool.exe was here: "C:\Program Files (x86)\Windows Kits\10\bin\x64" or in: x86
and not under: C:\Program Files (x86)\Windows Kits\10\App Certification Kit
even if I have this folder and may files in it.
I ran into an issue using this tool in a restrictive Azure DevOps Pipelines environment, where I couldn't even expand PATH or call any tools from an absolute path outside of the ADO build directories, meaning in this case anything from C:\Program Files (x86)\
My solution was to package it as a Secure File in ADO Pipelines' Library -> Secure Files section, allow my pipeline to access the file via its security settings, then download it as a build task and run it via a powershell task.
In the example below, I just query the help with the /? command. Just replace that with whatever command you want to use.
- task: DownloadSecureFile#1
displayName: "Signtool Download"
name: MSSignTool
inputs:
secureFile: 'signtool.exe'
- task : PowerShell#2
displayName: "Run Signtool"
inputs:
targetType: "inline"
script: $(MSSignTool.secureFilePath) /?
Warning 1: I'm not sure what dependencies are required for signtool.exe to work standalone, or if it even has any. The Windows 10 SDK and ADK was already installed in this build environment. If querying the help causes the tool to fail or crash, make sure one or both of those are installed. Hopefully you will have access to something like choco to install any missing dependencies.
Warning 2: Be careful if copying those code segments. ADO is pretty strict with dynamic whitespace, so if your spacing is off it will brick your whole pipelines file until you adjust the spacing to its correct position.
Im getting the following message on a messagebox shown from visual studio when I try to do any modifications on an sql server database from visual studio's server explorer on my 64bit machine at home. The database was created and filled on a 32bit machine. Any thoughts?
EDIT:
Fixed it by replacing the corrupted dll located here: "C:\Program Files (x86)\Common Files\microsoft shared\Visual Database Tools\dsref80.dll"
Just as a bit of a heads-up to anyone else coming here from Google...
This happened (for me, and most people here) as a result of installing VS11 Beta, and then un-installing VS11 Beta without installing VS2012. Replacing the DLLs mentioned above, and optionally the DLLs located in the path below, seemed to fix the problems.
C:\Program Files (x86)\Common Files\microsoft shared\MSDesigners8\*.dll
My problem was largely the same.
I was unable to create database diagram. Visual Studio 2010 would just silently fail, but SQL Server Management Studio gave the error message "The specified module could not be found. (MS Visual Database Tools)". This happened after having tried (and removed) the new Visual Studio beta.
Your solution brought me in the right direction. But instead of the dsref80.dll file, my problem was the whole folder C:\Program Files (x86)\Common Files\microsoft shared\MSDesigners8. After removing that folder and inserting a copy from a virtual machine (repairing VS would probably have worked also), everything is working again!
I ran into this problem trying to use the SQL Server 2008 R2 Business Intelligence Development Studio (BIDS), which uses Visual Studio 2008 Shell (integrated mode). Every time I tried to create a new Integration Services Project, I was getting an error, "... The specified module could not be found. (Exception from HRESULT: 0x8007007E) (System.Windows.Forms) ...".
As other posters have noted, the files in MSDesigners8 seem to be corrupted. I didn't think to install SQL Server 2008 R2 BIDS in a virtual machine to get copies of the DLL's to put into that folder, but I found a solution which seems to work: installing the Visual Studio 2008 Shell (integrated mode) SP1.
Before that, I renamed the MSDesigners8 folder to MSDesigners8_old (and the .dll files were also renamed .dllold. I don't think that matters necessarily; I'm including it here only in case it does matter). I tried repairing as well as reinstalling BIDS, but it did not recreate the MSDesigners8 folder. Installing SP1 did.
After that, it may also take a reinstall of BIDS, but it may not. Good luck!
I was experiencing this same error on Visual Studio Professional 2012 Version 11.0.61030.00 Update 4 and solved it by going to C:\Program Files (x86)\Common Files\microsoft shared\Visual Database Tools and renaming the dsref80.dll file to desref80.old.dll and then running the "Repair" action on my Visual Studio installation. When repairing, the Visual Studio repair dialog told me it couldn't locate the package source since I didn't have the installation disc available, so I just selected the "Download" option and it worked. This installs the appropriate version of the desref80.dll file.
f you think you may have this problem, just replace your files with a copy from another SQL Server 2008R2/Visual Studio 2008 Installation, that is working, as follows:
C:\Program Files (x86)\Common Files\microsoft shared\MSDesigners8\msddslm.dll
C:\Program Files (x86)\Common Files\microsoft shared\MSDesigners8\msdds.dll
C:\Program Files (x86)\Common Files\microsoft shared\MSDesigners8\msddsf.dll
C:\Program Files (x86)\Common Files\microsoft shared\MSDesigners8\msddslmp.dll
C:\Program Files (x86)\Common Files\microsoft shared\MSDesigners8\msddsp.dll
I have not been coding in MSVC lately. I have been assigned an old code that has lots of errors but most of the missing definitions are of Windows API.
For example, LPHANDLER_FUNCTION_EX is not defined and is causing C2061 compile error. But I already included Winsvc.h or Windows.h. I know that this is just a definition, I checked my C:\Program Files\Microsoft SDK\ for the definition can be found on the Winsvc.h. So I added the SDK on the directory list (Tools > Options > Directory Tab).
I also downloaded the Windows SDK February 2003 update which is the last version that works with msvc6. (ref)
Just for completeness, My PC is Windows XP SP3. Microsoft Visual C++ Enterprise Edition with SP6 installed. I also installed the Windows SDK February 2003 update.
Any ideas?
I was able to solve this by fixing the order of the include directory via Tools > Options > Directory Tab.
Before the VC98 folder was on top of the SDK.
1st C:\Program Files\Microsoft Visual Studio\VC98\INCLUDE
2nd C:\Program Files\Microsoft Visual Studio\VC98\MFC\INCLUDE
3rd C:\Program Files\Microsoft Visual Studio\VC98\ATL\INCLUDE
4th C:\Program Files\Microsoft SDK\include
Just place the SDK directory to the top of the list and it works.
The suggestion to use /E option by jamesdlin was helpful. Also I set the /E option in the Project Settings > Library Tab > Project Option textbox. The log would be placed in the .plg file inside the project folder.
This would also apply to missing lib file. Set the directory to the SDK directory for library.
I have troubles with .vsix installation.
If I launch the .vsix from the explorer, instead of suggesting me to install the package, I get the same ouput as Vsixintaller.exe /? (it displays the command line usage).
I also tried to run the following command line :
VSIXInstaller.exe /skuname:Pro "fullpathto\NuGet.Tools.vsix"
Same output (command line usage is displayed).
What can be wrong ?
I'm suspecting a wrong registry registration, but I couldn't find the source of the problem.
Here is what I have in my registry :
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\VisualStudio.Launcher.vsix] #="Microsoft Visual
Studio Extension"
[HKEY_CLASSES_ROOT\VisualStudio.Launcher.vsix\DefaultIcon]
#="C:\Program Files (x86)\Common Files\Microsoft
Shared\MSEnv\VSFileHandler.dll,-221"
[HKEY_CLASSES_ROOT\VisualStudio.Launcher.vsix\Shell]
[HKEY_CLASSES_ROOT\VisualStudio.Launcher.vsix\Shell\Open]
[HKEY_CLASSES_ROOT\VisualStudio.Launcher.vsix\Shell\Open\Command]
#="\"C:\Program Files (x86)\Common Files\Microsoft
Shared\MSEnv\VSLauncher.exe\" \"%1\""
[HKEY_CLASSES_ROOT.vsix] "Content Type"="application/vsix"
#="VisualStudio.Launcher.vsix"
[HKEY_CLASSES_ROOT.vsix\OpenWithProgids]
"VisualStudio.Launcher.vsix"=""
Any idea ?
PS: my computer is running W2K8 R2 x64, and I use VS 2010 Pro.
I cannot use Visual Studio integrated extension manager because of a proxy server not working with the gallery (don't know why)
Oh ... finally found the issue.
VSix Installer does not seems to be able to install from a network share.
With local copies of vsix, it worked. Strange.
I'm trying to publish a program in vs2008 but I get the following error,
can not publish because a project failed to build.
An error occurred while signing: signtool.exe not found.
I've been searching Google for some time now but I can't find the answer.
I can't find signtool.exe; can anyone tell me where I can get it?
signtool.exe is included with the Windows SDK, and a copy of the Windows SDK is included with VS2008.
It should be installed as %ProgramFiles%\Microsoft SDKs\Windows\v6.0A\bin\signtool.exe, but it might depend on installation options.
Another route is to install the Windows SDK directly (latest version includes Win7/2008R2 support).
VS 2008 - This tool is located at,
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
Probably you could find in any one of this location.
C:\Program Files\Microsoft SDKs\Windows\v6.0A\bin
C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\Bin
C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\Bin