При проверке сопоставления имен файлов произошла неизвестная ошибка

Обновлено: 02.07.2024

Я установил файловые ассоциации моих приложений ClickOnce, однако они не регистрируются, когда я запускаю/обновляю свою программу (например, файлы .bvr, которые я пытаюсь связать, не имеют значка, и я не могу' t дважды щелкните их, чтобы запустить мое приложение).

Дополнительная информация:

Сначала я попытался открыть "Свойства" -> "Опубликовать" -> "Параметры" -> "Ассоциации файлов" и установить свои ассоциации оттуда. После этой неудачной попытки я попытался установить его непосредственно в app.manifest:

Я прочитал так много статей об этом, что начинаю разочаровываться. Немного информации:

  1. Я установил приложение с полным доверием (в разделе "Безопасность" -> "Включить параметры безопасности ClickOnce" -> "Это приложение с полным доверием").
  2. Я использую .NET 4.0 и Visual Studio 2010
  3. Включить автономный режим

Я также обрабатываю данные, проходящие через AppDomain, но сомневаюсь, что это действительно что-то изменит.

Мне интересно, может быть, ассоциации файлов устанавливаются только при установке.

В любом случае, я был бы очень признателен за понимание этой проблемы. Мне бы очень хотелось, чтобы в моем проекте были ассоциации файлов.

Заранее всем спасибо.

PS: протестировано на Windows XP и Windows 7.

Редактировать: я также опубликовал это в Microsoft, кстати.

Если кто-то хочет опубликовать ответ и там. Я действительно не могу понять это. :D

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

6 ответов 6

Если тип файла, который вы пытаетесь зарегистрировать, ранее был зарегистрирован в другой программе (например, в блокноте) или даже открыт в блокноте, то единственный найденный мной способ заставить его работать — это удалить из реестра тип файла в 2 местоположения, а затем перезагрузите компьютер. После этого опубликуйте обновление для своего приложения, и если это такая проблема, вы в хорошей форме.

Опубликуйте обновление своего приложения.

Я просто удалил расширение файла в указанных выше разделах реестра, удалил программу, переустановил программу, и все заработало. В моей ситуации, скорее всего, с расширением файла была связана другая программа.

Вы уверены, что следующий элемент не появился в параметрах файла Открыть с помощью — Библиотека поддержки развертывания приложений Clickonce со значком вопросительного знака? Попробуйте установить его по умолчанию.

У меня была та же проблема, что и у вас, но я заметил, что эта странная опция появляется после установки моего приложения. После стольких попыток и поиска в Google я попробовал простую вещь - согласился сделать эту библиотеку поддержки развертывания приложений Clickonce по умолчанию для желаемого типа файла. И та да! Значок файла превратился в значок моего приложения, и он запустил мое приложение. Я предполагаю, что нужный мне тип файла уже был связан с Блокнотом, поэтому ClickOnce отказался переопределить этот параметр.

Единственный способ заставить это работать после развертывания ClickOnce — добавить/обновить несколько записей реестра в коде. См. ниже.

Прошло 8 лет, и даже в последней версии Visual Studio 2019 с Windows 10 параметры сопоставления файлов в развертываниях ClickOnce по-прежнему не работают. Я подозреваю, что это проблема версии Windows, поскольку Microsoft, похоже, меняет способ хранения ассоциаций файлов в реестре с каждой новой версией Windows. Но в любом случае Visual Studio и ClickOnce должны работать в текущей версии Windows. И это не так.

После чистой установки моего приложения ClickOnce я обнаружил одну запись в реестре для моего расширения файла:

И он добавил эту запись реестра для ProgID:

Но он не добавил ссылку из расширения файла в ProgID.

Эти две записи ничего не делают в Windows 10. В них не отображается значок, не открывается приложение ClickOnce при открытии файла с таким расширением и не отображается какой-либо параметр ClickOnce в списках «Открыть с помощью» (в качестве комментатора предложенный). Обратите внимание, что указанная выше запись реестра была создана развертыванием, но не содержит ссылки на приложение ClickOnce или идентификатор ProgID, настроенный в свойствах ClickOnce. Фактически, единственное приложение, указанное в записи реестра с расширением файла, — это «OpenWith.exe».

Решение

Потратив 2 дня на изучение этой проблемы и объединение различных идей, приведенное ниже решение — единственное, которое я нашел работающим. Просто выполняйте SetAssociation() каждый раз при запуске вашего приложения (или, по крайней мере, сразу после установки/обновления), и это решит проблему сопоставления файлов во всех версиях Windows.

Затем выполните это при запуске программы. Первый элемент в Environment.GetCommandLineArgs() содержит полный путь к вашему exe:

Единственная проблема, которую я обнаружил при таком подходе, заключается в том, что ваша файловая ассоциация выполняет ваш файл .exe, автоматические обновления ClickOnce не будут работать, поскольку информация об обновлении хранится в ярлыке меню «Пуск», а не в установленных файлах приложения.

Многие из моих расширений файлов не указывают на нужные мне программы. Например, я создаю файлы сценариев, которые используются AutoCAD. Файл сценария имеет расширение .scr, поэтому для его создания я использую программу текстового редактора, например Блокнот. Когда я обновился до Windows 10, расширение .scr было настроено на открытие с помощью редактора сценариев AutoCAD. Я попытался изменить программу по умолчанию, щелкнув правой кнопкой мыши «Открыть с помощью». Однако опция «Открыть с помощью» была недоступна для этого типа файлов. Затем я попробовал: щелкните правой кнопкой мыши «Пуск»> «Панель управления»> «Программы»> «Программы по умолчанию»> «Связать тип файла или протокол с программой». Я нажал на расширение .scr, нажал «Изменить программу», и оно не изменилось. Единственный способ заставить ассоциацию файлов не быть «редактором сценариев AutoCAD» - щелкнуть правой кнопкой мыши «Пуск»> «Выполнить»> «regedit» и удалить все вхождения ключа .scr. После этого я смог щелкнуть файл правой кнопкой мыши и использовать «Открыть», чтобы связать файл с Блокнотом. Это сработало, однако, я думаю, что пропустил шаг. Параметр «Открыть с помощью» недоступен, когда я щелкаю файл правой кнопкой мыши, как и для других файлов. Я хотел бы знать, какой шаг я пропустил, чтобы получить «Открыть с помощью параметров правой кнопки мыши».

Кроме того, во многих расширениях файлов указано "Неизвестное приложение", поэтому я подозреваю, что эта проблема затрагивает более 350 расширений файлов. Есть ли у Microsoft решение для устранения всех этих проблем с «Неизвестным приложением»?

Эта тема заблокирована. Вы можете подписаться на вопрос или проголосовать за него как полезный, но вы не можете отвечать в этой теме.

Сообщить о нарушении

Домогательство – это любое поведение, направленное на то, чтобы побеспокоить или расстроить человека или группу людей. К угрозам относятся любые угрозы самоубийства, насилия или причинения вреда другому человеку. Любой контент на тему для взрослых или неуместный для веб-сайта сообщества. Любое изображение, ссылка или обсуждение наготы. Любое поведение, которое является оскорбительным, грубым, вульгарным, оскверняет или демонстрирует неуважение. Любое поведение, которое может нарушать лицензионные соглашения с конечными пользователями, включая предоставление ключей продукта или ссылок на пиратское программное обеспечение. Незапрашиваемая массовая рассылка или массовая реклама. Любые ссылки на вирусы, шпионское ПО, вредоносное ПО или фишинговые сайты или их пропаганда. Любой другой неприемлемый контент или поведение, как это определено Условиями использования или Кодексом поведения. Любое изображение, ссылка или обсуждение, связанные с детской порнографией, детской наготой или другим жестоким обращением с детьми или их эксплуатацией.

Ассоциация типов файлов — это отношение между набором файлов одного типа и приложением, при котором файл определенного типа будет открываться в этом конкретном приложении. Как и все файлы изображений (с такими расширениями, как .jpg, .jpg, .jpg и т. д.), по умолчанию открываются с помощью приложения «Фотографии» в Windows 10.

Теперь ошибка сопоставления типов файлов возникает, когда сопоставление файлов повреждается в Windows 11 и Windows 10, что приводит к открытию типа файла в неправильном приложении. Например, вы хотите открыть файл с расширением .pdf, но он открывается в браузере HTML (например, Google Chrome или Microsoft Edge), а не в процессоре PDF (например, Adobe Acrobat Reader). Этот тип ошибки может возникать из-за ошибочных ключей реестра или поврежденной ассоциации файлов. Оставим причины в стороне и займемся исправлениями.

Оглавление

Fix-1 Сбросить все файлы до значений Microsoft по умолчанию

Случай 1 — для Windows 10

Сброс всех типов файлов до значений по умолчанию Microsoft может решить эту проблему, поскольку все типы файлов будут автоматически связаны с их типом приложения по умолчанию. Выполните следующие действия, чтобы сбросить все файлы до значений по умолчанию для Windows-

<р>1. Нажмите клавишу Windows, введите «Настройки» и нажмите Enter.

<р>2. Затем нажмите «Приложения» в окне настроек Windows.

Приложения

<р>3. Теперь на левой панели нажмите «Приложения по умолчанию».

<р>4. Затем на правой панели выберите «Сброс» в разделе «Восстановить рекомендуемые Microsoft значения по умолчанию».

Приложения по умолчанию

Перезагрузите компьютер.

Проверьте, сохраняется ли ошибка Сопоставление типов файлов. Если ошибка все еще происходит.

Вариант 2 — для Windows 11

1 — поиск приложений по умолчанию в поиске Windows.

2. Теперь нажмите Приложения по умолчанию.

Минимальная ширина приложений по умолчанию

3 – Прокрутите вниз и нажмите

Сброс приложений по умолчанию мин.

Fix-2 Удалить определенный ключ реестра для определенного типа файла

Удаление определенного раздела реестра для определенного типа файлов может решить проблему с ошибкой Ассоциация типов файлов . Выполните следующие действия, чтобы удалить разделы реестра:

<р>1. Сначала нажмите одновременно клавишу Windows+R, введите «regedit» и нажмите Enter.

Regedit

<р>2. Вы пойдете по этому пути-

Registry0

<р>4. Теперь нажмите правой кнопкой мыши на определенный тип файла (расширение), с которым у вас возникла проблема, и нажмите «Удалить». (Для примера взят формат .aac ).

Удалить реестр

<р>5. После этого вам необходимо перезагрузить компьютер.

Проверьте, можете ли вы изменить тип ассоциации файлов или нет. Если ошибка все еще существует, перейдите к следующему исправлению.

Fix-3 Сброс типа ассоциации файлов из командной строки

Вы можете восстановить тип ассоциации файлов, выполнив какую-либо команду в окне Командная строка. Теперь, чтобы сделать это, выполните следующие действия:

<р>1. Нажмите клавишу Windows и начните вводить «cmd».

<р>2. Когда вы увидите, что в результатах поиска с повышенными правами появилось сообщение «Командная строка», щелкните его правой кнопкой мыши и выберите «Запуск от имени администратора».

Cmd Search

<р>2. Скопируйте и вставьте эту команду в интерфейс Командной строки и нажмите Enter.

Cmd1

Подождите некоторое время, так как сканирование DISM может занять некоторое время.

При этом настройки ассоциации файлов будут экспортированы в виде файла с именем «DefaultAppAssociations.xml».

На следующих шагах мы будем импортировать файл, т. е. восстанавливать настройки по умолчанию-

<р>3. Скопируйте и вставьте эту команду в командную строку и нажмите Enter.

Cmd2

<р>4. Перезагрузите компьютер.
Проверьте, осталась ли ошибка. Если ошибка не устранена, приступайте к следующему исправлению.

ПРИМЕЧАНИЕ.
Если вы хотите отменить внесенные вами изменения, просто введите это в командную строку и нажмите Enter.

Fix-4 Установить тип сопоставления файлов вручную

Вы всегда можете установить тип ассоциации файлов вручную и решить проблему с «Ошибка типа ассоциации файлов». Чтобы установить тип ассоциации файлов вручную, выполните следующие простые шаги:

<р>1. Сначала перейдите в папку с файлом, где вы столкнулись с проблемой (например, здесь взят файл .txt).

<р>2. Теперь щелкните правой кнопкой мыши файл и выберите «Открыть с помощью».

Открыть с помощью

<р>3. Теперь нажмите «Выбрать другое приложение».

Выбрать другое приложение

<р>4. Теперь выберите приложение по умолчанию, с которым вы хотите связать свои файлы. Установите флажок «Всегда использовать это приложение для открытия файлов .txt». Затем нажмите «ОК».

Открывать всегда с помощью

Это обеспечит тип сопоставления файлов с выбранным приложением по умолчанию.

Исправить 5 — исправить тип ассоциации файлов с помощью командной строки

Если вы столкнулись с ошибкой File Association Not Found, вы можете решить эту проблему с помощью командной строки.

<р>1. Поиск cmd в поиске на панели задач Windows 10.

<р>2. Щелкните правой кнопкой мыши запуск от имени администратора.

Cmd Admin

<р>3. Теперь, чтобы изменить ассоциацию типа файла, просто введите assoc .extension_name=file_type

например, если нам нужно связать тип файла .scr с блокнотом с помощью командной строки, мы выполним:

Чтобы вернуться к тому, что было, мы выполним:

Примечание. Чтобы просмотреть список ассоциаций типов файлов в вашей системе, просто введите assoc | больше в командной строке и нажмите Enter.

Приложения по умолчанию

Исправить 6 — исправить тип ассоциации файлов с помощью командной строки с помощью ftype

<р>1. Поиск cmd в поиске на панели задач Windows 10.

<р>2. Щелкните правой кнопкой мыши запуск от имени администратора.

Cmd Admin

<р>3. Нет, введите assoc file_type_you_are_facing_problem_with и нажмите клавишу ввода.

например, предположим, что вы столкнулись с проблемой в Chrome .

итак, выполните следующую команду.

теперь запишите вывод, так как он будет использоваться в следующей команде.

Assoc Output

<р>4. Теперь введите приведенную ниже команду.

Например, в этом случае, чтобы узнать полный путь к chrome, выполните поиск chrome в окне поиска Windows 10, а затем щелкните правой кнопкой мыши и выберите местоположение открытого файла.

Открыть местоположение файла

<р>5. После этого щелкните правой кнопкой мыши exe-файл, расположенный в папке, и выберите свойства.

<р>6. Скопируйте цель. Это полный путь приложения.

Итак, в этом случае мы выполним команду:-

Самбит — инженер-механик по квалификации, который любит писать о Windows 10 и решениях самых странных проблем.

Несмотря на то, что файл XLSX в примере (изображения прилагаются) идентифицируется как таковой, при попытке открыть файл появляется окно запуска приложения, которое предназначено для файлов с типом содержимого «файл». Это началось около 3 месяцев назад, после обновления Firefox. Не знаю к какой версии к сожалению. Это влияет на всех пользователей, поэтому это не связано с профилем. Я попытался обновить Firefox и перезапустить с отключенными надстройками, выбрав Инструменты > Справка > Информация об устранении неполадок, но это не помогло.

Несмотря на то, что файл XLSX в примере (изображения прилагаются) идентифицируется как таковой, при попытке открыть файл появляется окно запуска приложения, которое предназначено для файлов с типом содержимого «файл». Это началось около 3 месяцев назад, после обновления Firefox. Не знаю к какой версии к сожалению. Это влияет на всех пользователей, поэтому это не связано с профилем. Я попытался обновить Firefox и перезапустить с отключенными надстройками, выбрав Инструменты > Справка > Информация об устранении неполадок, но это не помогло.




Выбранное решение

Оказывается, это была ошибка версии Firefox, которую я использовал. После обновления до 68.4.2 проблема будет решена.

"Исправлены различные проблемы с открытием файлов с пробелами в пути"

Спасибо, RobertJ, за вашу помощь

Все ответы (10)

Правильно ли настроен обработчик приложений?

Эта статья должна помочь в этом: изменение того, что делает Firefox, когда вы нажимаете или загружаете файл _________________________________________________________________________

Если ничто в статье не помогло вам решить проблему, вы можете сбросить обработчик приложений.

Введите (или вставьте) about:support в адресную строку и нажмите Enter в разделе Application Basics рядом с Profile Folder нажмите кнопку Open Folder Close Firefox.

В папке профиля переименуйте handlers.json в что-то вроде handlersOLD.json. Если вы видите файл с именем mimeTypes.rdf, переименуйте его в mimeTypesOLD.rdf

Закройте окно папки и запустите Firefox. Ваш обработчик приложений будет сброшен на значение по умолчанию. Вы можете указать, как обрабатывать файлы XLSX, а также как обрабатывать другие типы файлов по мере их появления.

Читайте также: