解决OFFICE临时文件导致的OneDrive同步状态问题

在 OneDrive 使用过程中,经常会发现某些文件夹的状态一直是“正在同步”,但一直未见完成。状态栏上的 OneDrive 图标却是显示“已同步”。

图一:还有文件夹未同步完成
图二:状态栏图标显示已经同步完成

经查,发现是文件夹内一般有无法同步的临时文件导致的。一般是由于 Word、Excel、PowerPoint 未正常关闭,在文件夹内留下了隐藏属性的临时文件(一般以 ~$ 开头)。取消隐藏属性,删除文件后,问题解决。

解决vs_installershell.exe has an invalid certificate问题

问题描述:打开Visual Studio Installer出现了错误:vs_installershell.exe has an invalid certificate,程序终止,无法启动visual studio installer.

问题分析:检查vs_installer.exe的数字签名,发现SHA1签署的签名无效。点击证书详情,发现是Microsoft Root Certificate Authority被吊销,导致数字签名验证失败,所以无法启动VS Installer。但在证书管理器里检查这个证书没有问题。

Work around:手动启动vs_installershell.exe(注意要以管理员模式启动),仍然能打开VS Installer并执行VS更新。

解决方法:

  1. 导出Microsoft Root Certificate Authority这个根证书到文件备份。
  2. 在组策略中取消证书自动更新。gpedit.msc -> 计算机配置 -> 管理模板 -> 系统 -> Internet通信管理 -> Internet通信设置 -> 关闭自动根证书更新 -> 已启用
  3. 在证书管理器中删除Microsoft Root Certificate Authority这个根证书,注意计算机账户和用户账户里的证书都要删掉。(方法是运行mmc.exe然后选择添加管理单元,选择证书后再选择本地计算机账户)
  4. 导入刚才备份的根证书到系统中。
  5. 在文件属性中查看vs_installershell.exe的数字签名,此时应该签名正常。
  6. 打开组策略中的证书自动更新。(参考第2步,最后选择已停用或未配置即可)

原因:出现问题之前自己手动删除了系统里所有的根证书。猜想是这个原因导致系统的证书验证出现异常。而Microsoft Root Certificate Authority这个证书是Windows系统需要的,如果出现问题会导致系统组件工作不正常。所以通过停用自动更新的方式,手动刷新了这个根证书的状态,系统恢复正常。


English Version:

Error description: An error occurred while opening Visual Studio Installer: “vs_installershell.exe has an invalid certificate”. The program terminates afterwards.

Problem analysis: Manually check the digital signature via Properties window, the SHA1 signature is invalid. By clicking “View certificate”, it says that the “Microsoft Root Certificate Authority” CA certificate is revoked, the signature is invalid. The VS installer cannot be started because the digital signature validation failed.

Work around: Manually start vs_installershell.exe from File Explorer. By default it’s located in C:\Program Files(x86)\Microsoft Visual Studio\Installer\. Note that you should run as administrator.

Solution:

  1. Export the CA certificate “Microsoft Root Certificate Authority” to file.
  2. Disable Automatic Root Certificate Update in Group policy. Run gpedit.msc -> Computer config -> Administrative Templates -> System -> Internet Communication Management -> Internet Communication Settings -> Turn off Automatic Root Certificates Update -> Enabled.
  3. Open local computer certificate manager. (Steps here) Delete the “Microsoft Root Certificate Authority” CA certificate from trusted root certification authorities.
  4. Import the certificate from file (just exported in step 1).
  5. Check the digital signature of vs_installershell.exe from File Properties again. Now the signature should be valid.
  6. Turn on Automatic Root Certificates Update. (Refer to the operation in step 2)

Root cause: Before the error occurs, I just deleted all the certificate from system. But “Microsoft Root Certificate Authority” is required for Windows. If deleted, the system might encounter unknown issue. Turn off and turn on the Automatic Certificate Update and re-import the certificate would reset internal system state, which solve the problem.

林毅夫:泅水亦英雄

前天从水木特快版面上看到有人说:“林毅夫真是广大台湾同胞的榜样啊”,我很好奇这究竟是何许人也,于是到谷歌上搜索一番,才得知林先生果然是英雄般的人物。

林毅夫,本名林正义,地地道道的台湾宜兰县人,少年时从宜兰高中考入台大,后来投笔从戎,转到“陆军军官学校”。此壮举受到高层领导人的关注,他在军中的前途一片光明。读完书之后,林正义成为驻守金门岛的马山连的连长。金门与祖国大陆之厦门仅有一海之隔,是台湾军中的最前沿。

其实照这生发展下去,林正义的前途也是十分光明的。年轻时便受到如此好的教育,又是台湾本地人,再加上还有高层的关照,可谓是鹏程万里了。

但是让人意料不到的事情总在这时候发生。1979年5月16日夜,马山连的连长林正义,从金门岛上泅海2公里之远,游到了大陆的厦门市,投奔了中国大陆,从此改名为“林毅夫”。毅夫这个名字,和他的这段经历,简直是绝配。

林毅夫后来辗转来到北京,申请就读北京大学硕士,并于1982年获得经济学硕士学位,赴美国芝加哥大学留学,成为改革 开放之后首批赴美的留学生之一。

林毅夫到了美国,身在台湾的妻子也从大陆的亲戚那里知道了林毅夫到美国留学的消息,于是在1986年也从台湾申请赴美留学,终于在时隔八年之后夫妻二人在美国相聚。

再后来的经历就是家庭与事业的双丰收了。林先生回国后任北京大学教授,创立“中国经济研究中心”,在2007年又任世界银行副行长。端的是一个传奇般的故事。

小插曲:林毅夫从金门岛游过海到大陆的时候,有人说是抱了两个篮球。后来这一说法被林夫人亲口否认了。原来林毅夫本来是游泳健将,在海里游个2公里根本不是什么大问题。抱着篮球反而不方便了。

回到家里才来得及把这段故事补上。这样传奇一般的故事不可能在每个人身上发生,但是人生之精彩,梦想之闪烁,都值得我们去为之努力。抄一段故事在这里,也算是一次鞭策吧。