我在Windows Server 2003上运行terminal服务angular色。昨天,所有的用户开始遇到双击PDF文件的问题,用NTFS短名称(8.3格式)打开它,所以如果有任何更改,文件被保存在不同的名字下。
我已经使用ASSOC和FTYPE来确保系统范围的文件types关联是正确的。
ASSOC .pdf=AcroExch.Document FTYPE AcroExch.Document="C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe" "%1"
我使用regedit来确认各个registry项(下面)的内容与提供给ASSOC和FTYPE的参数(他们做的)相匹配。
HKLM\Software\Classes\.pdf HKLM\Software\Classes\AcroExch.Document
但是,Windows在打开PDF时似乎完全忽略了这些设置。 请注意,使用“打开方式”可正常工作,并使用其长名称打开文件,尽pipeconfiguration的string完全相同。 实际上,我可以完全删除shell/open/command键而不起任何作用。 当用户双击某个文件时,尽pipe不再在registry中指定,它仍然以相同的程序打开。
甚至更奇怪的是,在文件夹选项/文件types下,PDF文件的条目说:
您已经使用扩展名“PDF”定制了文件。 要将这些文件恢复为默认types(Acrobat PDF文档),请单击“还原”。
但是,此文件types不存在每个用户的自定义设置。 我考察过HKCU\Software\Classes ,没有与PDF或Acrobat相关的条目。
这个问题在退出之间依然存在。 唯一的解决办法是find注销,删除用户configuration文件,然后重新login到基于默认用户创build一个新的configuration文件。 然后用户按照预期inheritance系统范围的设置。
我的下一个故障排除步骤是重新启动服务器,但几个小时后我将无法完成此操作。 有没有人见过这样的问题?
find了我自己的问题的答案。 系统范围的设置被这个registry键覆盖:
HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.pdf
为每个用户删除该registry项允许系统范围的设置生效,现在PDF打开就好了。