我的雇主正在考虑发布同一个基于 Windows Server 的产品的两个版本;更便宜的“小型企业”版和更昂贵的“企业”版。
版本之间会有许多差异,但理想情况下,我们希望将“小型企业”版本限制为仅安装在 Microsoft Small Business Server (SBS) 2000 或更新的 Windows SBS 2003 和 2008 上。
是否有可靠的方法来检测(例如通过 API 调用或注册表)操作系统是否是这些 SBS 产品之一?
我的雇主正在考虑发布同一个基于 Windows Server 的产品的两个版本;更便宜的“小型企业”版和更昂贵的“企业”版。
版本之间会有许多差异,但理想情况下,我们希望将“小型企业”版本限制为仅安装在 Microsoft Small Business Server (SBS) 2000 或更新的 Windows SBS 2003 和 2008 上。
是否有可靠的方法来检测(例如通过 API 调用或注册表)操作系统是否是这些 SBS 产品之一?
这是一篇 MSDN 文章,描述了探测操作系统版本,包括系统是否是小型企业产品(PRODUCT_SMALLBUSINESS_SERVER
枚举)。
我猜GetVersionEx(),它返回OSVERSIONINFOEX会做:'
VER_SUITE_SMALLBUSINESS
: Microsoft Small Business Server 曾经安装在系统上,但可能已升级到另一个版本的 Windows。有关该位标志的更多信息,请参阅备注部分。
VER_SUITE_SMALLBUSINESS_RESTRICTED
:Microsoft Small Business Server 安装时具有有效的限制性客户端许可证。有关该位标志的更多信息,请参阅备注部分。