Office 2010(受保护的视图)遇到问题需要关闭
——一次完整的排障实录
缘起:在学校时就是个“小白鼠”,喜欢尝试一些新软件。工作后虽然由于各种各样的原因,不能再像学校时那样狂热,但一些劲头仍然不减。于是乎Windows 7、Office 2010都是在Beta阶段,我就开始尝试。
故障现象:Office 2010,当打开从其他来源的Office文档时,会出现“(受保护的视图)遇到问题需要关闭”的错误,并且提示“文档已损坏”。
小提示:
Office 2010的新特性是打开非本机创建的文件时会使用受保护的视图打开,因此我的“其他来源”主要指几个方面。
其他来源:
1.邮件中的附件:别人通过邮件发给我的附件,由于不是由本机创建的文档,所以Office 2010会以受保护视图打开。
2.网络下载:比如从网上下载的Office文档,也属于“其他来源”。
3.其他途径获取的非本机创建Office文档。比如使用优盘从其他电脑上复制到本机的文件,都属于“其他来源”。
临时方案:一时找不到解决方案,并且经过仔细观察发现是进入到“受保护视图”时出现的问题,而正常打开、编辑本机创建的文档都没有问题。“受保护视图”是Office 2010中新推入的安全措施,以阻止恶意文档对本机的破坏。如果让Office以正常模式打开文件应该就可以了。
右键单击文档,在弹出的快捷菜单中选择“属性”,在打开的“属性”对话框的“常规”标签中,单击“解除锁定”按钮,这时再打开文档就不会再出错了。
这毕竟是临时的解决方案,在实际使用中还是相当不便的,特别是打开邮件的附件,必须先保存,然后解决锁定才能打开,所以便决定要解决这一问题。
排障实录:
1.借助搜索引擎:我一直比较喜欢一句话“君子性非异也,善假于物也”,在互联网高度发达的今天,有了搜索引擎,便可以让我们“一搜知天下事”。有了问题当然是先搜了,如果能找到答案,这样就能提高效率了。
其间尝试了多个关键字,并尝试了英文关键字等,只在远景论坛上看到有人问
同样的问题,但没有人给出解决方案(截止当前时间,最后一条回复也是我给的临时解决方案)。
2.事件查看器:事件查看器也是我比较喜欢的一个“工具”,因为很多系统、应用程序错误都会在事件查看器里留下痕迹。当看到事件查看器里的“Office Software Protection Platform Service”信息时,我还一阵窃喜,以为可以找到有用的信息,后来查资料才知道,该服务应该是Office进行版权验证的一部分。
3.Process Monitor:早些时候是FileMon、RegMon等几个工具,如今已全部被整个到Process Monitor中了,通过Process Monitor可以监视当前系统的文件读写、注册表读写状态。通过观察Office的启动过程,可以看到是进行到其中的某一步时才出错,因此监控整个文件打开过程,然后再分析这些信息,理论上应该会有收获。
首先运行Process Monitor,停止监控(默认情况下Process Monitor运行后会自动监控),并清除监控信息。关闭所有正在运行的程序以及可以停止的服务(为了保证监控到的信息尽可能的少)。
接下来在Process Monitor中开始监控,紧接着就打开之前打开会出错的文档(我这里是一个Excel文档),完成整个出错过程后,停止监控,这时你会看到Process Monitor中的信息是“海量”的。
从上图中可以看出,虽然只是很短的时间,Process Monitor已经捕获了十几万条信息,如果逐条分析这些信息,估计得要好几天时间才能分析完了。
接下来就是要将信息逐步压缩,因为我这里是关于Excel的,所以这里添加一个过滤条件,进程名等于Excel的,这时可以看到信息已经少了很多了。
从上图中看,虽然已经将Excel的信息单独过滤出来了,仍然有12W多条信息,通过“Result”列的分析,SUCCESS的应属于正常信息,因此再添加一条过滤条件,Result不等于SUCESS的,这时可以看到信息已经少了很多了。
更进一步分析,因为打开文件出错基本上是进行到最后一步(受保护的视图)时才出错的,因此可以直接拖到比较靠后的地方进行分析,这次运气比较不错,一眼就看到一个“ACCESS DENIED”(拒绝访问),所以下一步的重点定位到这个拒绝访问的对象上来。
通过搜索快速定位到uxtheme.dll文件,根据经验,拒绝访问大部分都是因为NTFS权限引起的,直接查看权限,发现当前的系统用户确实没有该文件的访问权限。
添加当前登入系统用户,并授予完全控制权限,问题得到解决。
PS:经查资料确认,uxtheme.dll是负责系统主题相关的文件,不知道为什么会和Office 2010的“受保护的视图”有关。
记下此排障过程,希望对一些朋友在解决问题的思路上有所启发。
故障重现方法:
为了确认此一问题是由uxtheme.dll而引起的,在解决问题后,重新更改uxtheme.dll的NTFS权限,将当前用户的访问权限删除。然后重新打开其他来源的Office文档,故障依旧。所以据此可以判断,问题确实是由uxtheme.dll文件的访问权限而引起的。
PS:上面只是以Excel文档为例,但并不是说只会在Excel中才会发生。经实际测试,在当前用户没有uxtheme.dll的访问权限时,Word文档、Excel文档、PPT文档都会出现此故障。上文只是抛砖引玉,如果其他类型的Office文档也现文中故障,可参照解决。如有不能解决的,欢迎留言共同探讨。
排障环境:Windows XP SP3 + Office 2010 RTM
本文转自windyli 51CTO博客,原文链接:http://blog.51cto.com/windyli/326491
,如需转载请自行联系原作者