当前位置:  开发笔记 > 前端 > 正文

如何在MSBuild中获取Windows SDK文件夹?

如何解决《如何在MSBuild中获取WindowsSDK文件夹?》经验,为你挑选了4个好方法。

在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

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows CurrentInstallFolder



1> 小智..:

您还可以使用GetFrameworkSdkPath MSBuild任务.


  
  

例如:

 



2> Dirk Vollmar..:

谢谢约翰.根据您的帖子,我编辑了MSBuild脚本以从注册表中读取该文件夹.然而,没有必要在最后添加"包",这是我原始脚本中的另一个错误.

以下是工作脚本:



    
        $(registry:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\GenericBootstrapper\3.5@Path)
    

    
        
                .NET Framework 2.0
        
        
                Windows Installer 3.1
        
    

    
        

        
    


奇怪的是,我在安装Windows SDK后没有看到该注册表项或相关路径.我错过了什么或是每个人都在他们的构建机器上安装Visual Studio?

3> marcind..:

Windows SDK的安装路径存储在CurrentInstallFolder以下注册表项的值中:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows CurrentInstallFolder



4> Kal..:

我按照Jeremy D的回答,但是给出了错误消息:错误MSB3147:在'C:\ Program Files(x86)\ Microsoft SDKs\Windows\v8.0A\Engine'中找不到所需文件'setup.bin' .

原因是引导程序的路径(至少使用SDK的V8.0A)是GetFrameworkSdKPath返回的路径下的子目录.

所以适合我的MSBuild代码是:


  
    
  
  

注意\ Bootstrapper后缀为$(WindowsSdkPath)

推荐阅读
手机用户2402851335
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有