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

Why does RAD Studio Seattle 10 install Windows 10 SDK? (and does it work with newer SDKs?)

在 C++Builder Seattle 10 Update 1 安装结束时,Embarcadero 的主安装程序会启动一个名为 Microsoft Windows 10 SDK Installer 的附加嵌入式安装程序。这是它的样子,以防你忘记了:

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

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

我已经分析了 RAD Studio 的安装文件,试图弄清楚发生了什么,但我没有很好的答案来解释他们为什么这样做:

此外,这个单独的安装程序似乎与主 RAD Studio 安装程序冲突。主安装程序也会安装这些相同的 header 文件。那么这个安装程序就是运行,并替换了这些文件。然后由于某些未知原因,它启动了官方 Microsoft Windows 10 SDK 安装程序。如果您卸载 Embarcadero SDK 安装程序包,它会完全删除这 8 个 header 文件(因此发生冲突)。

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

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

The installation wizard of RAD Studio Seattle allows you to install the Microsoft Windows 10 SDK, which adds headers for the Windows API.

Note: The Windows 10 SDK is only a requisite for C++Builder in order to support direct calls to the Bluetooth and the BluetoothLE Windows APIs.

但微软的 SDK 安装程序不会将 headers 放入 Embarcadero include 目录中。事实上,Embarcadero 通过将文件捆绑在他们自己的安装程序中来做到这一点,如上所示。

Windows10 SDK的安装只是Embarcadero满足了微软的一个要求。它对您的 RAD Studio 安装没有影响。换句话说:如果您取消该设置,您没有任何伤害。

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