好多次在客户那里遇到Windows 环境下安装Tableau失败的情况,通常这个问题都是由于本地的VC组件与软件的要求不一致造成的。

当你安装失败时,请第一时间查看报错的日志,并从最后找到Error的部分。下面是我的一家客户安装失败时的日志:

[2B74:2084][2020-04-21T12:01:47]i000: Caching bundle from: ‘C:\Windows\Temp\{1A6CFA3D-39AD-4C29-A1C3-1BE7B21B66C1}\.be\tableau-setup-std-tableau-2020-1.20.0326.1623-x64.exe’ to: ‘C:\ProgramData\Package Cache\{57275fbd-cbbe-4968-9eaf-c59c211edab9}\tableau-setup-std-tableau-2020-1.20.0326.1623-x64.exe’
[2B74:2084][2020-04-21T12:01:48]i320: Registering bundle dependency provider: {57275fbd-cbbe-4968-9eaf-c59c211edab9}, version: 20.1.527.0
[2B74:2084][2020-04-21T12:01:48]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{57275fbd-cbbe-4968-9eaf-c59c211edab9}, resume: Active, restart initiated: No, disable resume: No
[2B74:29C8][2020-04-21T12:01:53]i305: Verified acquired payload: VC2013Redist at path: C:\ProgramData\Package Cache\.unverified\VC2013Redist, moving to: C:\ProgramData\Package Cache\C990B86C2F8064C53F1DE8C0BFFE2D1C463AAA88\vcredist2013_x64.exe.
[2B74:29C8][2020-04-21T12:01:53]i305: Verified acquired payload: MSSQL64 at path: C:\ProgramData\Package Cache\.unverified\MSSQL64, moving to: C:\ProgramData\Package Cache\{5F9345E2-76B2-4639-AD3B-DB2ABC716930}v17.1.0.1\msodbcsql_17.1.0.1_x64.msi.
[2B74:29C8][2020-04-21T12:01:54]i305: Verified acquired payload: Postgres at path: C:\ProgramData\Package Cache\.unverified\Postgres, moving to: C:\ProgramData\Package Cache\{3F8971B0-061B-4163-9D3F-EA94151B2FCF}v09.06.0504\psqlodbc09060504_x64.msi.
[2B74:29C8][2020-04-21T12:01:54]i305: Verified acquired payload: Redshift at path: C:\ProgramData\Package Cache\.unverified\Redshift, moving to: C:\ProgramData\Package Cache\{788C401A-726B-4CE7-8BC2-89FD7967A6ED}v1.3.7.1000\AmazonRedshiftODBC64-1.3.7.1000.msi.
[2B74:29C8][2020-04-21T12:01:59]i305: Verified acquired payload: Tableau at path: C:\ProgramData\Package Cache\.unverified\Tableau, moving to: C:\ProgramData\Package Cache\{705DEB1B-83A6-405C-B698-3358CE1ADFAB}v20.1.527\tableau-setup-std-tableau-2020-1.20.0326.1623-x64.msi.
[2B74:2084][2020-04-21T12:02:00]i301: Applying execute package: VC2013Redist, action: Install, path: C:\ProgramData\Package Cache\C990B86C2F8064C53F1DE8C0BFFE2D1C463AAA88\vcredist2013_x64.exe, arguments: ‘”C:\ProgramData\Package Cache\C990B86C2F8064C53F1DE8C0BFFE2D1C463AAA88\vcredist2013_x64.exe” /install /quiet /norestart’
[2B74:2084][2020-04-21T12:02:41]e000: Error 0x80070109: Process returned error: 0x109
[2B74:2084][2020-04-21T12:02:41]e000: Error 0x80070109: Failed to execute EXE package.
[2718:2A8C][2020-04-21T12:02:41]e000: Error 0x80070109: Failed to configure per-machine EXE package.
[2718:2A8C][2020-04-21T12:02:41]i319: Applied execute package: VC2013Redist, result: 0x80070109, restart: None
[2718:2A8C][2020-04-21T12:02:41]e000: Error 0x80070109: Failed to execute EXE package.
[2B74:2084][2020-04-21T12:02:41]i351: Removing cached package: VC2013Redist, from path: C:\ProgramData\Package Cache\C990B86C2F8064C53F1DE8C0BFFE2D1C463AAA88\
[2B74:2084][2020-04-21T12:02:41]i372: Session end, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{57275fbd-cbbe-4968-9eaf-c59c211edab9}, resume: None, restart: None, disable resume: No
[2B74:2084][2020-04-21T12:02:41]i330: Removed bundle dependency provider: {57275fbd-cbbe-4968-9eaf-c59c211edab9}
[2B74:2084][2020-04-21T12:02:41]i352: Removing cached bundle: {57275fbd-cbbe-4968-9eaf-c59c211edab9}, from path: C:\ProgramData\Package Cache\{57275fbd-cbbe-4968-9eaf-c59c211edab9}\
[2B74:2084][2020-04-21T12:02:41]i371: Updating session, registration key: SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\{57275fbd-cbbe-4968-9eaf-c59c211edab9}, resume: None, restart initiated: No, disable resume: No
[2718:2A8C][2020-04-21T12:02:41]i399: Apply complete, result: 0x80070109, restart: None, ba requested restart: No

关键部分是ERROR环节的前后部分,上面的意思是,安装文件首先会解压到一个临时文件路径中,包含了msi安装文件和VC组件及驱动的exe文件。

但是,安装主程序的msi文件时失败了。

由于它紧挨着vc之后,通常是VC安装与本地冲突导致的。因此官方给予的车建议是:

  • 写在本地的VC组件;
  • 从官网效率最新的VC组件安装;
  • 重启之后,管理员运行Tableau重新安装。
  • 安装过程关闭杀毒软件(和国内360)。

 

不过,很多时候这个方法依然无效,并提示相同的报错信息。官方给出的终极建议是,使用专业的解压工具,将exe文件解压为mis文件,在安装vc插件后,直接独立安装msi文件,从而避免exe文件中vc插件的干扰。

为此,官方社区还提供了解压的方法,不过却是挺难的。

终极的解决办法是?

注意上面的报错日志中,有一个缓存文件路径:

[2B74:29C8][2020-04-21T12:01:59]i305: Verified acquired payload: Tableau at path: C:\ProgramData\Package Cache.unverified\Tableau, moving to: C:\ProgramData\Package Cache{705DEB1B-83A6-405C-B698-3358CE1ADFAB}v20.1.527\tableau-setup-std-tableau-2020-1.20.0326.1623-x64.msi.

它其实对应的就是之前官方希望我们解压出来的文件。自己把路径复制到“我的电脑”,打开这个路径,找到这个文件后复制到桌面或其他位置。

然后先按照官方最新的vc组件,再重启安装这个msi文件,即可。

本方法同样适用于Prep遇到的类似问题。

借助这个方法,你可以把提取出来的msi文件分享给其他人员,重复使用。

 

【本方法经过了实验】

May 2, 2020

喜乐君