问题:
我管理一些向最终用户部署应用程序的 Windows 2019 服务器。它们运行的应用程序具有一项功能,即执行 Shell Execute 命令来打开嵌入在应用程序内的用户的 Windows 默认 PDF 查看器(用于 PDF 预览)。大约一年来,我们一直使用 FoxIt PDF Reader 作为默认阅读器,在他们发布的最新更新后,我们选择回到我们以前一直使用的 Adobe Acrobat Reader。虽然 30 台服务器中的一些服务器 Adobe 运行良好,但有些服务器有一个奇怪的问题,即在更改后它们似乎无法启动任何默认 PDF 查看器。
在删除 FoxIt 并重新安装 Adobe 时,我们似乎创建了某种注册表问题,现在该问题阻止应用程序执行 shell 以启动默认 PDF 查看器。应用程序本身没有更新或更改。Windows 更新是在服务器重新启动时应用的(在 Foxit 删除和 Adobe 重新安装之间)。
我一直在关注
无论我们为用户设置默认 PDF 查看器为何值,应用程序都拒绝启动它。我认为这是一个注册表问题,原因如下:
我从基本操作开始,比如重新启动、卸载 Adobe Reader、重新安装、再次重新启动。
我找到了一个 FoxIt“清理”工具,试用了一下,因为它以留下一堆垃圾而闻名。没有变化。
我似乎无法弄清楚这个空白的“其他选项”从何而来,所以我备份了注册表并运行了 CCleaner。它看起来不对劲,所以我抓住它不放,认为它可能是导致我问题的根本原因。CCleaner 确实删除了很多对 FoxIt 的引用,但问题并没有得到解决。
接下来我开始浏览 Stack 并发现了一些类似的帖子,这引导我根据 PDF 文件类型梳理注册表位置。
这个很有帮助,但我仍然不知道要删除或清理什么来解决手头的问题。
这是我的注册表在其中一台受影响的服务器上的样子:
Computer\HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.PDF\OpenWithList
Computer\HKEY_CLASSES_ROOT\MIME\Database\Content Type\application/pdf
Computer\HKEY_CLASSES_ROOT\.pdf\OpenWithProgIds
Computer\HKEY_CURRENT_USER\Software\Classes\MIME\Database\Content Type\application/pdf
Computer\HKEY_CLASSES_ROOT\.pdf
Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.pdf
总结 那么,是什么原因导致我在“打开方式”选项中对较旧的 Adobe 安装位置的引用被孤立?或者,如果您认为我应该在其他地方寻找问题的原因,我愿意听取建议。