Visual Studio 2017环境下如何获取signtool.exe的路径?
在Visual Studio 2017中定位signtool.exe的方法
我来帮你梳理几种靠谱的方法,毕竟你已经装了Windows 10 SDK和Click Once组件,signtool.exe肯定就在系统里,只是换了位置而已:
方法1:用VS开发者命令提示符一键定位/调用
这是最省心的方式,不用手动翻文件夹:
- 打开开始菜单,搜索Visual Studio 2017开发者命令提示符并启动它;
- 直接输入
signtool就能执行工具,因为命令提示符已经帮你配置好了环境变量,自动指向正确的路径; - 如果需要获取具体的文件路径,在命令行里敲
where signtool,系统会列出所有匹配的signtool.exe的完整路径,挑你需要的版本就行。
方法2:手动找Windows 10 SDK里的路径
signtool.exe默认跟着Windows 10 SDK安装,路径格式大概是这样的:
- 64位系统:
C:\Program Files (x86)\Windows Kits\10\bin\<SDK版本号>\x64\signtool.exe - 32位系统:
C:\Program Files\Windows Kits\10\bin\<SDK版本号>\x86\signtool.exe - 这里的
<SDK版本号>比如是10.0.17763.0这类,你可以打开C:\Program Files (x86)\Windows Kits\10\bin目录,看里面的子文件夹,找到你安装的那个SDK版本对应的文件夹就行。
方法3:从Visual Studio的Click Once组件目录找
既然你装了Click Once组件,signtool也可能在VS的安装目录里,路径大概是:C:\Program Files (x86)\Microsoft Visual Studio\2017\<你的VS版本>\SDK\ClickOnce\SignTool\signtool.exe
- 把
<你的VS版本>替换成你实际装的版本,比如Community、Professional或者Enterprise。
小提醒
- 要是实在拿不准,直接在系统里全局搜索
signtool.exe,但优先看Windows Kits和VS安装目录下的结果,这两个是官方的可靠来源; - 如果项目里的脚本或配置需要硬编码路径,推荐用
where signtool动态获取,或者结合WindowsSdkDir环境变量来拼接路径,这样就算后续SDK版本更新,也不用手动改路径了。
内容的提问来源于stack exchange,提问作者Action Heinz




