跳至正文

Tableau Server故障系列:安装VC++组件

May 3, 2023 update

  • 客户环境:内网,Windows Server 2012 R2
  • 故障描述1:安装Tableau server 2019.1/ 2019.2时,启动TSM阶段报错,日志文件显示ERROR com.tableausoftware.installer.InstallerMain – Generic exception raised during installation.
  • 故障描述2: 安装2021.2.23版本时,提示VC++缺失(0x89979917数据错误(循环冗余检查))

一、问题描述和解决思路

在window Server 2012R2版本中安装Tableau Server2019或者2021等版本时,会提示如下的错误,可以通过查看日志识别问题的来源:Tableau Server依赖的Visual C++组件无法运行。

此类型的报错,也会出现在 Windows 7/10等非服务器版本环境下安装Desktop的过程中,比如如下的内容,是安装Desktop的报错信息(参见本文参考附件1):

Tableau Desktop 安装可能会失败,并在安装日志中出现以下条目:

Error 0x80070109: Process returned error: 0x109(错误 0x80070109: 进程返回了错误: 0x109)
Error 0x80070109: Failed to execute EXE package.(错误 0x80070109: 未能执行 EXE 软件包。)
Error 0x80070109: Failed to configure per-machine EXE package.(错误 0x80070109: 未能配置每台计算机的 EXE 软件包。)
Applied execute package: VC2013Redist, result: 0x80070109, restart: None(应用了执行软件包: VC2013Redist,结果: 0x80070109,重新启动: 无)
Error 0x80070109: Failed to execute EXE package.(错误 0x80070109: 未能执行 EXE 软件包。)
Removing cached package: VC2013Redist(正在移除缓存软件包: VC2013Redist) 

安装Tableau官方帮助的说明,提供了三个解决思路:

(1)管理员运行安装——Server安装默认这样设置,但是这里没有成功;
(2)重新安装证书——我在Server中尝试了,这个方法应该仅限于个人电脑,而非服务器操作系统。

与 IT 团队合作,确保 Microsoft Certificate Authority 2011 证书位于您的计算机的“受信任的根证书颁发机构”存储区中。例如:
– 转到 http://go.microsoft.com/fwlink/?linkid=747875&clcid=0x409 下载 Microsoft Certificate Authority 2011 证书
– 双击下载的证书文件,证书窗口打开时,选择“安装证书…”。 证书导入向导将出现。
– 在向导中,选择“下一步”。然后,当系统提示您选择证书存储区时,选择“将所有证书放置在以下存储区中”。选择“受信任的根证书颁发机构”存储区。完成向导的其余步骤,并单击“完成”。

(3)重新安装Visual C++ 。 这个也是最常见的方法

不过,在安装VC ++之前,更重要的是安装系统补丁。下面的VC++安装失败,正是因为缺少操作系统补丁导致。

在之前和厂家技术人员沟通的过程中,他们提醒我升级VC2007和NetFramework4.5组件,并升级系统补丁。

In some scenarios, the issue was with the instance not having certain windows updates.  Our recommendation is to verify install of (virual C++2018) VC2017 and NETframework4.5, as well as latest windows 2012 update.

但是在安装时,Windows Server服务器的服务器查看器报错,显示有三个 KB2999226 x64.msu的升级补丁安装时失败。从Windows update下载Server 2012 KB2999226升级安装时提示不适用于此操作系统。

391267-20161216103927948-465531342.png

到这里,安装就进入了死胡同:安装Tableau Server需要VC组件,VC依赖的补丁却不适用于Windows 当前版本操作系统。

这个问题,也会出现了几乎每一个VC组件安装过程中,比如 Visual C++ 2015-2022 ,如下所示:

其实,这个问题是window server操作系统级别安装更多的补丁,才能解决的问题。

三、努力探索终于回报:安装系统补丁,再升级组件

为了安装Tableau server,我们需要安装VC;而为了安装VC,我们需要安装KB2999266;但是KB2999266安装不上。下面结合自己的实践,说明如何解决:

1)首先,如果从网上搜索KB2999266,会发现它其实依赖于多个其他补丁。

KB2999266依赖于安装补丁 KB2919442,可以直接从微软官网下载安,或者点击下载地址:基于 x64 的 Windows Server 2012 R2 的KB2919442补丁

KB2919442 安装完成后,继续安装 Windows Server 2012 R2 Update (KB2919355) 所有补丁,如下地址: 立即下载基于 x64 的 Windows Server 2012 R2 更新软件包。

391267-20161216114107089-657287846.png

全部下载,安装,必要时重启服务器。

所有更新包安装完成后,接下来我们继续安装  Microsoft Visual C++ 2015 Redistributable (x64) – 14.0.23026,下载链接:http://www.microsoft.com/en-us/download/details.aspx?id=48145

这个过程中,有时候提示这个升级包不能安装,可以跳过去安装其他的,但是把KB2919355放在最后安装,然后是VC。注意系统需要重启时,一定要重启。

2)系统升级

一个更好的方法,应该是直接使用系统的自动更新功能,一次性补齐所有补丁,如果这样还不能完成安装。 如下所示:

不过,有时候问题还是远比上面的系统升级复杂。

【2023年补充】

2023年5月,我在Windows Server 2012R2中安装最新版本的2021.2.23时,就遇到了迄今最难的问题:1)手动安装VC++,只能安装到2015版本,无法安装2019版本;2)系统升级无法解决问题。

最后,我抱着最后一搏、试一试的态度,尝试通过安装NET Framework来解决问题,4.5和4.6版本均提示无需安装,系统中已经存在,于是我尝试安装最新的Net framework。出现了如下的提示:需要首先安装KB2919355的更新,并提供了链接。

要知道,这个补丁完全不在自动更新的范围中,我下载并安装了它,文件超过700M,看出来是个很大的升级Update,而非简单的补丁。因此安装之后,系统要求重启,并在重新启动后经过了漫长的配置。

幸运的是,之后,我就成功安装了Visual C++ 2015~2019. 为什么我要选择这个版本?因为Tableau server 2021.2.23中提及的VC++最后版本是2019.

这之后,再次运行Tableau server安装包,终于看到了曙光!

后续的安装过程,基本就是和官方说明一样了(参考“Tableau官方文档:安装和配置 Tableau Server”),或者参考“ Tableau Server安装说明”。

当然,上面的过程非常漫长,通常需要十分钟左右时间方可完成。

Jun 18, 2019
May 3, 2023 Update (安装 Tableau Server 2021.2.23 )


参考文章


了解 喜乐君 的更多信息

订阅后即可通过电子邮件收到最新文章。