在MSBuild任务中检索Windows SDK文件夹的方法是什么?
使用generateBootstrapper任务我正在为我的设置创建一个引导程序,以便能够安装先决条件.此任务需要指向必备软件包所在文件夹的路径,即Windows SDK文件夹
"C:\Program Files\Microsoft SDKs\Windows\v6.0A\Bootstrapper\Packages\"
使用Visual Studio 2008时.到目前为止,我一直在使用硬编码路径,但这不适用于任何系统.有没有更好的方法来获得这条路?
这是我的构建脚本:
.NET Framework 2.0 Windows Installer 3.1
小智.. 22
您还可以使用GetFrameworkSdkPath MSBuild任务.
例如:
Dirk Vollmar.. 8
谢谢约翰.根据您的帖子,我编辑了MSBuild脚本以从注册表中读取该文件夹.然而,没有必要在最后添加"包",这是我原始脚本中的另一个错误.
以下是工作脚本:
$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\3.5@Path) .NET Framework 2.0 Windows Installer 3.1
奇怪的是,我在安装Windows SDK后没有看到该注册表项或相关路径.我错过了什么或是每个人都在他们的构建机器上安装Visual Studio? (4认同)
marcind.. 6
Windows SDK的安装路径存储在CurrentInstallFolder
以下注册表项的值中:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows
您还可以使用GetFrameworkSdkPath MSBuild任务.
例如:
谢谢约翰.根据您的帖子,我编辑了MSBuild脚本以从注册表中读取该文件夹.然而,没有必要在最后添加"包",这是我原始脚本中的另一个错误.
以下是工作脚本:
$(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\3.5@Path) .NET Framework 2.0 Windows Installer 3.1
Windows SDK的安装路径存储在CurrentInstallFolder
以下注册表项的值中:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows
我按照Jeremy D的回答,但是给出了错误消息:错误MSB3147:在'C:\ Program Files(x86)\ Microsoft SDKs\Windows\v8.0A\Engine'中找不到所需文件'setup.bin' .
原因是引导程序的路径(至少使用SDK的V8.0A)是GetFrameworkSdKPath返回的路径下的子目录.
所以适合我的MSBuild代码是:
注意\ Bootstrapper后缀为$(WindowsSdkPath)