

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 应用程序设置持久性如何工作
<a name="how-it-works-app-settings-persistence"></a>

持久性应用程序设置将保存到一个虚拟硬盘 (VHD) 文件中。当用户首次从启用了应用程序设置持久性的堆栈流式传输应用程序时，将创建此文件。如果与该堆栈关联的实例集所基于的映像包含默认应用程序和 Windows 设置，将对用户的首个流式传输会话使用这些默认设置。有关更多信息，请参阅[教程：使用 WorkSpaces 应用程序控制台创建自定义 WorkSpaces 应用程序镜像](tutorial-image-builder.md)中的*步骤 3：创建默认应用程序和 Windows 设置*。

当流式传输会话结束时，VHD 将卸载并上传到您账户的 Amazon S3 存储桶中。存储桶是在您首次为某个 AWS 区域中的堆栈启用永久性应用程序设置时创建的。该存储桶对于您的 AWS 账户和区域而言是唯一的。VHD 在传输过程中使用 Amazon S3 SSL 终端节点进行加密，静态使用[AWS 托管 CMKs](https://docs.aws.amazon.com/kms/latest/developerguide/concepts.html#aws-managed-cmk)进行加密。

VHD 将挂载到 %username% 和 D:\\C:\\Users\\%username% 中的流实例。如果您的实例未加入 Active Directory 域，则 Windows 用户名为 PhotonUser。如果您的实例已加入 Active Directory 域，则 Windows 用户名为已登录用户的用户名。

应用程序设置持久性无法跨不同的操作系统版本工作。例如，如果在一个堆栈上启用应用程序设置持久性且该堆栈与使用 Windows Server 2012 R2 映像的实例集关联，则在将实例集更新为使用运行不同的操作系统的映像（例如 Windows Server 2016）时，不会为堆栈用户保存之前的流式传输会话中的设置。相反，在更新实例集以使用新映像后，当用户从实例集实例启动流式传输会话时，将创建新的 Windows 用户配置文件。但是，如果对映像上的同一操作系统应用更新，则会保存之前的流式传输会话中的用户自定义项和设置。如果将对同一操作系统的更新应用于映像，则在用户从实例集实例启动流式传输会话时，将使用相同的 Windows 用户配置文件。

**重要**  
WorkSpaces 只有当流媒体实例加入[微软 Active Directory 域时，应用程序才支持依赖微软数据保护 API](https://docs.microsoft.com/en-us/windows/desktop/seccng/cng-dpapi) 的应用程序。如果流媒体实例未加入 Active Directory 域，则每个队列实例上的 Windows 用户是不同的。 PhotonUser由于 DPAPI 安全模型的运行方式，用户的密码不会为在此情况下使用 DPAPI 的应用程序保留。如果流实例已加入 Active Directory 域并且用户是域用户，则 Windows 用户名为已登录用户的用户名，并且用户的密码将为使用 DPAPI 的应用程序保留。

WorkSpaces 应用程序会自动将所有文件和文件夹保存在此路径中，但以下文件夹除外：
+ 联系人
+ 桌面
+ Documents
+ Downloads
+ 链接
+ 图片
+ Saved Games
+ Searches
+ 视频

在这些文件夹之外创建的文件和文件夹将保存在 VHD 中并同步到 Amazon S3。弹性实例集的默认 VHD 最大大小为 1 GB，始终在线和按需实例集的默认 VHD 最大大小为 5 GB。保存的 VHD 的大小是它所包含的文件和文件夹的总大小。 WorkSpaces 应用程序会自动为用户保存 HKEY\_CURRENT\_USER 注册表配置单元。对于新用户（Amazon S3 中不存在个人资料的用户）， WorkSpaces 应用程序使用默认配置文件创建初始配置文件。此配置文件是在映像生成器的以下位置创建：C:\\users\\default。

**注意**  
整个 VHD 必须先下载到流实例，然后流式传输会话才能开始。因此，包含大量数据的 VHD 可能会使流式传输会话的开始时间延迟。有关更多信息，请参阅 [启用应用程序设置持久性的最佳做法](best-practices-app-settings-persistence.md)。

启用应用程序设置持久性时，您必须指定一个设置组。设置组决定将哪些已保存的应用程序设置用于该堆栈中的流式传输会话。 WorkSpaces 应用程序会为设置组创建一个新的 VHD 文件，该文件单独存储在您 AWS 账户的 S3 存储桶中。如果该设置组在各堆栈之间共享，将在每个堆栈中使用相同的应用程序设置。如果堆栈需要自己的应用程序设置，请为堆栈指定一个唯一的设置组。