2015-06-19 1 views
1

Я пытаюсь запустить установщик ClickOnce, и я получаю это бесполезное сообщение об ошибке из Windows 7: «Windows не может открыть этот файл».«Windows не может открыть этот файл» для расширения .appref-ms

Расширение файла .appref-ms

Кто-нибудь видел это или есть какие-либо советы?

Windows can't open this file appref-ms

ответ

1

Я имел этот вопрос на машине клиента. Похоже, что операционная система не знает правильной связи для расширения файла, но на самом деле .appref-ms не является нормальным расширением и напрямую не связана с какой-либо программой.

Я нашел следующую страницу в конце концов:

https://social.msdn.microsoft.com/forums/windows/en-us/9ff7867c-7e57-468c-a632-762a76f66f6d/windows-7-64-bit-unable-to-open-apprefms

Этот документ содержит информацию о восстановлении потенциально поврежденные ключи реестра, которые могут вызвать эту проблему. Однако, на мой взгляд, это дает неправильный совет связать dfshim.dll с .appref-ms. Когда я это сделал, он создал связь с этой dll в реестре, но после проверки реестра рабочего компьютера такая ассоциация не существует. Эта ассоциация также приводит к тому, что файлы .appref-ms теряют свои специальные значки приложений и отображают вместо этого значок: dfshim.dll icon

Кроме того, эта ассоциация действительно не запускала мое приложение успешно, не знаю).

Правильное решение - восстановить еще больше ключей реестра, которые позволяют каскадировать окна для обработки файлов .appref-ms больше, чем приложений, чем файлы, которые нужно открыть с помощью программ. Необходимые ключи находятся ниже (я, возможно, overzealously включал пару, которые не являются строго необходимыми, но, по крайней мере, некоторые из них):

Windows Registry Editor Version 5.00 

[HKEY_CLASSES_ROOT\.appref-ms] 
@="Application.Reference" 

[HKEY_CLASSES_ROOT\.application] 
"Content Type"="application/x-ms-application" 
@="Application.Manifest" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Application.Reference\shell] 
@="open" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Application.Reference\shell\open] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Application.Reference\shell\open\command] 
@="\"C:\\Windows\\System32\\rundll32.exe\" \"C:\\Windows\\System32\\dfshim.dll\",ShOpenVerbShortcut %1|%2" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Application.Manifest\shell] 
@="open" 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Application.Manifest\shell\open] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\Application.Manifest\shell\open\command] 
@="\"C:\\Windows\\System32\\rundll32.exe\" \"C:\\Windows\\System32\\dfshim.dll\",ShOpenVerbApplication %1" 

Это, как представляется, применяются как .Application и .appref мс файлы типа , Первый ключ идентифицирует .appref-ms как класс «Application.Reference». Более поздний ключ в разделе «Classes \ Application.Reference» определяет, как эти типы запускаются. Это не просто «открытые с» ассоциациями, которые Windows пытается помочь вам создать (и которые будут созданы под HKCU вместо HKLM).