Configuration Manager 中的应用程序下载

适用于: Configuration Manager(current branch)

在继续之前,请查看 应用程序部署客户端组件 ,了解 DCM 和 CI 代理作业处理。

下载启动

应用程序内容下载由客户端上的 CI 代理组件在 StateDownloadingContents 阶段启动。 此过程是相同的,无论应用程序是部署到设备集合还是用户集合。

  • 对于 可用 部署,当用户从软件中心启动应用程序安装时,将下载应用程序内容。
  • 对于 “必需 部署”,在激活分配后下载应用程序内容,并在评估后发现应用程序适用。 若要了解何时激活分配,请参阅 应用程序部署到设备集合应用程序部署到用户集合 一文。

当 CI 代理启动内容下载时,它会创建由 CI 任务管理器组件处理的任务。 然后,CI 任务管理器开始内容下载。 可以使用部署类型唯一 ID 在 CITaskMgr.log 中跟踪此活动。

Initiating task ContentDownload for CI ScopeId_B63CEBE7-8A69-4FBE-994F-5AD0A8488D27/DeploymentType_1d49ef88-cf3b-42fa-b198-388d220ccb44.2 (ConfigMgr Toolkit - Windows Installer (*.msi file)) for target: , consumer: {53EA65C2-D596-4215-83E4-F7007B78E18C}

分发点位置

所有下载任务都由负责管理客户端缓存的内容访问组件处理。 创建下载任务后,内容访问组件会检查内容是否已在客户端缓存中可用。 如果内容不可用,它将创建一个位置请求来获取可从中获取内容的分发点列表。 可以在 CAS.log 中跟踪此活动,并使用内容唯一 ID 在客户端上 LocationServices.log

Requesting locations synchronously for content Content_00a8f9e6-8e44-42f5-a0ef-9b5c86a88498.1 with priority Foreground
ContentLocationRequest : <Request XML Body>
Reply Message Body : <Reply XML Body>

重要

尽管 Location Services 组件处理位置请求,但它不会直接从管理点请求位置。 对管理点的所有请求通常通过 CCM 消息传送组件,该组件记录到 CcmMessaging.log

位置回复 XML 包含基于客户端边界组的分发点列表。 此列表根据 内容源优先级在客户端上的 WMI 中进行分析和保留。 通过使用内容唯一 ID 并查找 Persisted location,可以在 ContentTransferManager.log 中查看此活动。

如果位置回复 XML 不包含任何分发点, 则会 显示 Received empty location update ContentTransferManager.log,并且下载应用程序时客户端可能会卡在 0% 处。 此回复通常是由于边界组配置问题而发生的。 有关详细信息,请参阅 下载失败

内容下载

获取分发点位置后,内容访问组件将创建内容传输作业。 可以使用内容唯一 ID 在CAS.log 跟踪此活动。

Submitted CTM job {6D0EA720-EB4E-4893-8395-8B27470A6CFB} to download Content Content_00a8f9e6-8e44-42f5-a0ef-9b5c86a88498.1 under context System

然后,内容传输管理器会创建数据传输服务作业来执行内容下载。 可以使用内容唯一 ID 在客户端上的 ContentTransferManager.log 中跟踪此活动。

CTM job {6D0EA720-EB4E-4893-8395-8B27470A6CFB} (corresponding DTS job {708C7F21-8898-49AB-900E-BA6E5F1A39BC}) started download from '<Distribution Point URL>/Content_00a8f9e6-8e44-42f5-a0ef-9b5c86a88498.1' for full content download.

注意

此日志条目可用于标识 CTM 和 DTS 作业 ID,它们分别用于跟踪 ContentTransferManager.logDataTransferService.log 中的内容传输进度。

数据传输服务通过创建后台智能传输服务 (BITS) 作业并等待下载完成来下载应用程序内容。 可以使用从 ContentTransferManager.log 获取的 DTS 作业 ID 在客户端上的 DataTransferService.log中跟踪 活动。

Starting BITS job '{40263E01-2EDD-462F-ABBA-A5E892CB9229}' for DTS job '{708C7F21-8898-49AB-900E-BA6E5F1A39BC}' under user 'S-1-5-18'.
DTSJob {708C7F21-8898-49AB-900E-BA6E5F1A39BC} in state 'DownloadingData'.
DTS job {708C7F21-8898-49AB-900E-BA6E5F1A39BC} has completed

下载完成后,将通知内容访问组件。 然后,内容访问组件会验证下载的内容,以确保内容在下载过程中不会更改。 可以使用内容唯一 ID 在CAS.log 跟踪此活动。

Hash verification succeeded for content Content_00a8f9e6-8e44-42f5-a0ef-9b5c86a88498.1 downloaded under context System

最后,验证内容后,CI 代理会收到任务完成通知,CI 代理作业将进入下一阶段。

CIAgentJob({2BF84225-C9E8-49A6-A308-A160C4B799D3}): CAgentJob::HandleEvent(Event=CITaskComplete, CurrentState=StateDownloadingContents)

后续步骤

应用程序安装