为什么RAD Studio Seattle 10会安装Windows 10 SDK? (它是否适用于较新的SDK?)

时间:2016-03-16 20:50:59

标签: delphi c++builder delphi-10-seattle

在C ++ Builder Seattle 10 Update 1安装结束时,Embarcadero的主要设置启动了一个名为 Microsoft Windows 10 SDK Installer 的其他嵌入式安装程序。这就是它的样子,万一你忘记了:

enter image description here

然后,此安装程序开始安装原始RTM Windows 10 SDK,如下所示:

enter image description here

为什么C ++ Builder会安装它? C ++ Builder如何与SDK链接 - 它究竟使用了什么?如果我安装了较新的Windows SDK(例如2015年11月发布的那个),它会起作用吗? (很难想象如何,因为在IDE中设置了所有内容以使用来自C:\Program Files (x86)\Embarcadero\Studio\17.0\include\windows\sdk的文件,这些文件包括Embarcadero对SDK所做的更改,例如特殊的bcc32 pragma语句。 )

我已经分析了RAD Studio的安装文件,试图找出正在发生的事情,但我不知道为什么他们正在做他们做的事情:

  • 在RAD Studio ISO上,检查7-Zip中的``\ Install \ Setup.exe`。
  • setup.res个文件;打开7-Zip内部。
  • setup.res内,您会看到上面第一个屏幕截图中显示的MSSDKInstall.exe。在7-Zip中打开它。
  • 然后你会看到几个文件:
    • MSSDKInstall.msi:如果您使用Orca打开它,您会发现这是一个非常简单的安装程序,可以将一些蓝牙标头文件安装到Embarcadero include目录中。< / LI>
    • OFFLINE目录:包含MSI显然使用的8个不同的Windows SDK头文件:BluetoothAPIs.hbluetoothleapis.hbthdef.hbthledef.h,{{1 }},bthsdpdef.hno_sal2.hwinapifamily.h

另外看来,这个单独的安装程序与主要的RAD Studio安装程序冲突。主安装程序还会安装这些相同的头文件。然后运行此安装程序,并替换这些文件。然后它出于某种未知原因启动官方Microsoft Windows 10 SDK安装程序。如果卸载Embarcadero SDK安装程序包,它将完全删除这8个头文件(因此会发生冲突)。

所以:(1)为什么他们不在主安装中包含这8个头文件 - 这一切的重点是什么,(2)为什么他们启动官方的Microsoft Windows 10 SDK安装程序,(2) 3)是否有一些我不知道的整合?

官方文档几乎无用:Installation Notes: Installing the Windows 10 SDK

  

RAD Studio Seattle的安装向导允许您安装   Microsoft Windows 10 SDK,它为Windows API添加标题。

     

注意:Windows 10 SDK只是C ++ Builder的必备条件   支持直接呼叫蓝牙和BluetoothLE Windows   的API。

但是,Microsoft的SDK安装程序不会将标头放入Embarcadero ws2bth.h目录中。实际上,Embarcadero通过将文件捆绑在他们自己的安装程序中来实现这一点,如上所示。

2 个答案:

答案 0 :(得分:6)

安装Windows 10 SDK只是Embarcadero满足Microsoft的要求。它对您的RAD Studio安装没有影响。换句话说:如果您取消该设置,则不会造成任何伤害。

答案 1 :(得分:0)

如前所述here 您需要在开发系统上安装 Windows 10 SDK,才能创建 .appx 包。