如何在Visual Studio中获取正确的FrameworkSDKPath

阿奎基

我正在尝试让我的WiX引导程序安装程序在Visual Studio中签名。我正在跟踪WiX中显示的示例:Dig​​itally Sign BootBosstr项目

不幸的是,必须使用显式路径对工具进行签名才能使其正常工作。

  <Target Name="UsesFrameworkSdk">
    <GetFrameworkSdkPath>
      <Output TaskParameter="Path" PropertyName="FrameworkSdkPath" />
    </GetFrameworkSdkPath>
    <Message Text="SDK path = '$(FrameworkSdkPath)'" Importance="high"/>
  </Target>
  <Target Name="UsesSignTool" DependsOnTargets="UsesFrameworkSdk">
    <PropertyGroup>
      <SignToolPath>C:\Program Files (x86)\Windows Kits\10\bin\x86\signtool.exe</SignToolPath>
    </PropertyGroup>
  </Target>

FrameworkSdkPath变量返回“ C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v10.0A \”,这不是签名工具所在的位置。

如果我启动VS命令工具,则将环境变量WindowsSdkDir设置为包含signtool.exe的目录。但是,未在Visual Studio中设置此变量。

如何正确执行此操作,这样我就不必设置显式路径了?

Zhanglong Wu - MSFT

如何正确执行此操作,这样我就不必设置显式路径了?

从示例中,我们可以从注册表中获取路径。像这样:

 <Target Name="UsesFrameworkSdk">
    <GetFrameworkSdkPath>
      <Output TaskParameter="Path" PropertyName="FrameworkSdkPath" />
    </GetFrameworkSdkPath>
    <PropertyGroup>
      <Win10SDK>$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v10.0@InstallationFolder)</Win10SDK>
    </PropertyGroup>
    <Message Text="SDK path = '$(Win10SDK)'" Importance="high"/>
  </Target>

  <Target Name="UsesSignTool" DependsOnTargets="UsesFrameworkSdk">
    <PropertyGroup>
      <SignToolPath Condition="('@(SignToolPath)'=='') and Exists('$(Win10SDK)\bin\x86\signtool.exe')">$(Win10SDK)\bin\x86\signtool.exe</SignToolPath>
    </PropertyGroup>
  </Target>

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在Visual Studio中获取行号

如何在Visual Studio 2017中获取格式以正确缩进Razor(vbhtml)代码?

如何在Visual Studio 2017中获取Spy ++?

如何在Visual Studio 2012中获取针对AngularJS的智能

如何在Visual Studio代码段中获取基本目录?

如何在Visual Studio 2017/2019中获取终端窗口?

如何在Visual Studio中获取TFS生成反馈

如何在Visual Studio 2015中从Git获取特定版本?

如何在Visual Studio ErrorWindow中获取选定项?

如何在Visual Studio 2013中获取默认项目目录

如何在Visual Studio中更改“许可给”?

如何在Visual Studio中升级ReSharper?

如何在Visual Studio中包括OpenSSL

如何在visual studio中调试python

如何在Visual Studio中正确解释git子树?

如何在Visual Studio中正确包含<sodium.h>?

如何在Visual Studio 2017上正确运行Azure函数?

如何在 Visual Studio 中运行一行 Python 代码并在终端中获取输出?

如何在 Visual Studio 2017 中的 C# Razor 中获取当前日期

如何在Visual Studio 2015中的LESS文件中获取Intellisense

如何在Visual Studio中使用PhoneGap

如何在 Visual Studio 中集成项目

如何在 Visual Studio 上搜索标签

如何在Visual Studio上进行协作

如何在Visual Studio中使用IntelliCode?

如何在Visual Studio中保存图片?

如何在Visual Studio中使用Startswith

如何在 Visual Studio 2017 中使 != 变为 ==

如何在Visual Studio Code中获取eslint以允许双引号?