![尽管安装成功,但任务序列中的 SCCM 2012 R2 应用程序报告失败](https://linux22.com/image/689284/%E5%B0%BD%E7%AE%A1%E5%AE%89%E8%A3%85%E6%88%90%E5%8A%9F%EF%BC%8C%E4%BD%86%E4%BB%BB%E5%8A%A1%E5%BA%8F%E5%88%97%E4%B8%AD%E7%9A%84%20SCCM%202012%20R2%20%E5%BA%94%E7%94%A8%E7%A8%8B%E5%BA%8F%E6%8A%A5%E5%91%8A%E5%A4%B1%E8%B4%A5.png)
通过运行 PowerShell 脚本,在脱机媒体 (USB) OSD 任务序列期间安装应用程序。PowerShell.exe 进程于下午 1:44:45 启动,并于下午 1:45:24 返回退出代码 0。应用程序实际上安装得很好。安装程序脚本返回退出代码 0,MSI 安装成功返回代码 0,并且 MSI 产品代码被正确检测为已安装。
任务序列中的所有其他应用程序均可在 USB 离线安装。
请注意,此脚本运行静默 MSI 安装,随后通过自定义操作启动许多外部命令。
PXE 上相同的任务序列正常。
SMSAppInstall.exe 于下午 1:44:50 终止,退出代码为 -2147467259 (0x80004005)
Smsts.log显示:
Execution status received: 3 (Application is available for installation ) InstallApplication 02/09/2016 1:44:50 PM 3544 (0x0DD8)
App install failed. InstallApplication 02/09/2016 1:44:50 PM 3544 (0x0DD8)
Setting TSEnv variable '_TSAppInstallStatus'='Error' InstallApplication 02/09/2016 1:44:50 PM 3544 (0x0DD8)
Setting TSEnv variable 'SMSTSInstallApplicationJobID__ScopeId_E0F7D30F-FC34-4E0F-940C-5DF53B522240/Application_c4a7a7ec-d89b-4222-b65a-b7b876790f6e'='' InstallApplication 02/09/2016 1:44:50 PM 3544 (0x0DD8)
Completed installation job. InstallApplication 02/09/2016 1:44:50 PM 3544 (0x0DD8)
Step 2 out of 2 complete InstallApplication 02/09/2016 1:44:50 PM 3544 (0x0DD8)
Install application action failed: 'DisplayLink_CoreSoftware_7.9M7x64v2'. Error Code 0x80004005 InstallApplication 02/09/2016 1:44:50 PM 3544 (0x0DD8)
AppEnforcer.log显示:
Executing Command line: "C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe" -ExecutionPolicy Unrestricted -File _master.ps1 Install with system context AppEnforce 02/09/2016 1:44:45 PM 3172 (0x0C64)
Working directory C:\WINDOWS\ccmcache\65 AppEnforce 02/09/2016 1:44:45 PM 3172 (0x0C64)
Post install behavior is BasedOnExitCode AppEnforce 02/09/2016 1:44:45 PM 3172 (0x0C64)
Waiting for process 3756 to finish. Timeout = 120 minutes. AppEnforce 02/09/2016 1:44:45 PM 3172 (0x0C64)
Process 3756 terminated with exitcode: 0 AppEnforce 02/09/2016 1:45:24 PM 3172 (0x0C64)
Looking for exit code 0 in exit codes table... AppEnforce 02/09/2016 1:45:24 PM 3172 (0x0C64)
Matched exit code 0 to a Success entry in exit codes table. AppEnforce 02/09/2016 1:45:24 PM 3172 (0x0C64)
Performing detection of app deployment type DisplayLink_CoreSoftwarex64_7.9M7(ScopeId_E0F7D30F-FC34-4E0F-940C-5DF53B522240/DeploymentType_0e319e56-5719-442d-84b4-1225e1709946, revision 2) for system. AppEnforce 02/09/2016 1:45:24 PM 3172 (0x0C64)
+++ Discovered application [AppDT Id: ScopeId_E0F7D30F-FC34-4E0F-940C-5DF53B522240/DeploymentType_0e319e56-5719-442d-84b4-1225e1709946, Revision: 2] AppEnforce 02/09/2016 1:45:24 PM 3172 (0x0C64)
++++++ App enforcement completed (40 seconds) for App DT "DisplayLink_CoreSoftwarex64_7.9M7" [ScopeId_E0F7D30F-FC34-4E0F-940C-5DF53B522240/DeploymentType_0e319e56-5719-442d-84b4-1225e1709946], Revision: 2, User SID: ] ++++++ AppEnforce 02/09/2016 1:45:24 PM 3172 (0x0C64)
按照网上其他人的建议,在应用程序前插入重新启动和暂停,但这无法解决问题。
尝试删除脚本安装并仅使用 MSI 创建应用程序,任务序列失败,出现相同错误。
启用了调试日志记录,但在 SCCM 日志中未找到与此问题相关的任何其他信息。
通过包而不是应用程序运行相同的安装脚本。
SCCM 中的应用程序错误触发任务序列失败的潜在原因有哪些?如何确保应用程序正确报告成功?
答案1
应用程序是 OSD 中非常棘手的问题 - 虽然我没有亲眼见过您的问题,但我遇到过许多奇怪而又奇妙的问题,这些问题是由在任务序列中使用应用程序而不是程序包引起的。(David O'Brien 撰写了一篇关于“应用程序与程序包”的非常好的文章,其中甚至包括一个名为“应用程序往往会破坏 OSD 任务序列”的部分 -https://david-obrien.net/2014/04/applications-vs-packages-configmgr-package-model-wont-go-anywhere/)
您是否尝试过/是否可以尝试将应用程序转换为包并再次尝试?