为早期版本的 Windows 开发应用程序
说明如何开发在以前版本的 Windows 上运行的应用程序,并利用 Windows Vista 平台更新和 Windows Server 2008 平台更新支持的 API。
所需下载
如果要开发使用适用于 Windows 7 的 Microsoft Windows 软件开发工具包 (SDK) 引入的 API 的应用程序,则需要下载并安装以下部分所述的包。
Microsoft Windows SDK
创建使用 Windows Vista 平台更新和 Windows Server 2008 平台更新支持的 API 的应用程序需要 Windows SDK for Windows 7。
若要访问其他资源和信息(例如下载、论坛帖子和 Windows SDK 团队博客),请参阅 Windows SDK 开发人员中心 (https://msdn.microsoft.com/bb980924.aspx) 。
.NET Framework
创建使用 Windows Vista 平台更新和 Windows Server 2008 平台更新支持的 API 的应用程序需要 .NET Framework 3.5 Service Pack 1。
有关其他资源和信息,请参阅 .NET Framework 开发人员中心 (https://msdn.microsoft.com/netframework/default.aspx) 。
使用 Direct3D 时需要 DirectX SDK
如果创建使用 Direct3D 的应用程序,则需要 DirectX SDK (https://msdn.microsoft.com/directx/aa937788.aspx) 才能创建使用 Windows Vista 平台更新和 Windows Server 2008 平台更新支持的 API 的应用程序。
更新开发计算机
确保开发计算机具有Windows 更新的所有最新更新。
如果在以前版本的 Windows 上开发应用程序,则必须从 Windows 更新获取适用于 Windows Vista 的平台更新或 Windows Server 2008 平台更新。 安装这些更新中的任何一个都将使你能够利用 Windows SDK for Windows 7 提供的新 API。
开发环境
将生成目标设置为 Windows 7
所有使用 Windows Vista 平台更新中的库的应用程序都必须针对 Windows 7 目标平台生成。
通过将 WINVER 设置为 Windows 7 目标平台值,可以在运行 Windows Vista 的开发计算机上开发使用 Windows Vista 平台更新或 Windows Server 2008 平台更新支持的 API 的应用程序。
可以在源代码中或将 /D 选项与 Visual Studio 编译器配合使用,将目标平台设置为 Windows 7。
以下示例演示如何在源代码中设置 WINVER。
#define WINVER 0x0601
以下示例演示如何使用 /D 编译器选项设置 WINVER。
/DWINVER=0x0601
应用程序部署
如果使用 Windows SDK for Windows 7 提供的标头和库生成应用程序,则受支持的 API 将在安装了 Windows Vista 平台更新或 Windows Server 2008 平台更新的任何 Windows 版本上运行。
注意
Windows Vista 平台更新或 Windows Server 2008 平台更新支持的某些 API 的行为、性能或要求可能因不同版本的 Windows 而异。 有关更新支持的特定 API 的详细信息,请参阅 关于 Windows Vista 的平台更新。
无可再发行组件
应用程序不需要安装可再发行组件,例如 DLL 或其他运行时文件。
需要更新End-User计算机
由于适用于 Windows Vista 的平台更新和适用于 Windows Server 2008 的平台更新由 Windows 更新 托管,因此启用了自动更新的最终用户很可能已拥有这些更新以及所需的 Service Pack。
如果最终用户的计算机未安装适用于 Windows Vista 的平台更新或适用于 Windows Server 2008 的平台更新,并且应用程序需要这些更新支持的 API,则应用程序可能无法在最终用户的计算机上运行,或者在执行过程中可能会遇到错误。
为了避免用户计算机过期可能导致的问题,你需要在安装应用程序期间验证用户的计算机是否具有适用于 Windows Vista 的平台更新或 Windows Server 2008 的平台更新。 可以使用 Windows 更新 代理 API 检查最终用户的计算机以获取已安装的更新。 如果最终用户尚未安装更新,还可以使用 Windows 更新 代理 API 在应用程序安装期间下载和安装所需的更新。
有关演示如何使用 Windows 更新 代理 API 的安装程序示例,请参阅 DirectX SDK () 中面向游戏开发人员的 https://msdn.microsoft.com/directx/aa937788.aspx Direct3D 11 部署。
尽管面向游戏开发人员的 Direct3D 11 部署中讨论的 D3D11InstallHelper 安装程序示例是为使用 Direct3D 11 的应用程序编写的,但它提供了一个很好的示例,说明如何与 Windows 更新 代理 API 交互以启动和跟踪由 Windows 更新 托管的更新的下载和安装。 编译此示例可能需要适用于 Windows 7 的 Windows SDK。 有关 D3D11InstallHelper 示例的其他信息,包括已知问题,请参阅 DirectX SDK (https://msdn.microsoft.com/directx/aa937788.aspx) 2009 年 8 月发行说明。适用于 Windows Vista 的平台更新
相关主题