Я имел этот вопрос на машине клиента. Похоже, что операционная система не знает правильной связи для расширения файла, но на самом деле .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 теряют свои специальные значки приложений и отображают вместо этого значок:
Кроме того, эта ассоциация действительно не запускала мое приложение успешно, не знаю).
Правильное решение - восстановить еще больше ключей реестра, которые позволяют каскадировать окна для обработки файлов .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).