背景:
项目中使用了 WebBrowser 打开 PDF 文件,操作终端使用 Surface 平板,现场的十多台同一批次的平板中,只有一台不能正常显示,其它工作正常。
排查过程:
1、重新写了一个简单的 WebBrowser 打开 PDF 文件的示例,同样在其它机器上运行正常,但在有问题的 Surface 上运行不正常;
2、在有问题Surface上,卸载 AdobeReader,然后重新安装,问题依旧;
3、卸载问题Surface上的系统升级包,重新安装 .NET 环境等,最终导致软件不能正常启动!!
4、将有问题的Surface恢复到出厂设置系统,问题依旧!!
5、经网络搜索,发现有个类似案例生成32位应用程序可以解决问题,验证了一下,确实可以正常工作,但由于项目中大量底层都是64位库,不是最优解决方案;
6、按照网络搜索的结果,尝试通过修改注册表,让 WebBrowser 使用Edge内核,不成功(未验证内核版本);
7、改用 WebView2 组件显示 PDF 文件,经验证不再需要 AdobeReader 组件,能够正常显示,但是需要将开发工具升级到 VS2017以上版本,不是最优解决方案;
8、继续在网络上搜索排查,找到一篇文章《微软发布KB5004760补丁(附下载) 完美解决Win10加载PDF文档异常问题》,参考这篇文章,下载安装KB5004760补丁,之前的软件运行正常,完美解决!