在C ++ Builder Seattle 10 Update 1安装结束时,Embarcadero的主要设置启动了一个名为 Microsoft Windows 10 SDK Installer 的其他嵌入式安装程序。这就是它的样子,万一你忘记了:
然后,此安装程序开始安装原始RTM Windows 10 SDK,如下所示:
为什么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的安装文件,试图找出正在发生的事情,但我不知道为什么他们正在做他们做的事情:
setup.res
个文件;打开7-Zip内部。setup.res
内,您会看到上面第一个屏幕截图中显示的MSSDKInstall.exe
。在7-Zip中打开它。MSSDKInstall.msi
:如果您使用Orca打开它,您会发现这是一个非常简单的安装程序,可以将一些蓝牙标头文件安装到Embarcadero include
目录中。< / LI>
OFFLINE
目录:包含MSI显然使用的8个不同的Windows SDK头文件:BluetoothAPIs.h
,bluetoothleapis.h
,bthdef.h
,bthledef.h
,{{1 }},bthsdpdef.h
,no_sal2.h
,winapifamily.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通过将文件捆绑在他们自己的安装程序中来实现这一点,如上所示。
答案 0 :(得分:6)
安装Windows 10 SDK只是Embarcadero满足Microsoft的要求。它对您的RAD Studio安装没有影响。换句话说:如果您取消该设置,则不会造成任何伤害。
答案 1 :(得分:0)
如前所述here
您需要在开发系统上安装 Windows 10 SDK,才能创建 .appx
包。