7

(Перейдите к вопросу, прокрутив до самого конца, но в этом случае не голосуйте вслепую, чтобы закрыть ...)

Да, я знаю, что эта тема неоднократно повторялась здесь, здесь и здесь, но я обещаю, что это не дубликат. Ничто из этого не помогает ассоциировать программное обеспечение с расширениями файлов в большем масштабе. Фактически я обнаружил, что - по крайней мере, в Windows 10 (1803) - вы можете изменить ассоциации более удобно, но ни трюк FileTypesMan (я пробовал версию 1.83), ни инструменты assoc и ftype в тандеме не работали.

Все эти методы потерпели неудачу в том, что они создали - после двойного щелчка по файлу рассматриваемого типа / расширения - диалоговое окно в стиле RT, которое предлагало мне "Продолжать использовать это приложение", с "Фото" по умолчанию и затем предлагая список потенциальных кандидатов программного обеспечения для обработки файлов этого типа ниже.

Я хотел бы, чтобы программное обеспечение по моему выбору открывало эти файлы без ifs и ноутов (и дополнительных диалогов).


Пример: я хотел, чтобы SumatraPDF открывал ряд типов файлов электронных книг наряду с PDF (по умолчанию Edge) и IrfanView для открытия изображений. Когда приложения были установлены, я получил много уведомлений от Windows, что ассоциации файлов были сброшены. Ну, так много для того, чтобы контролировать то, что происходит в моей системе.

Поэтому я запустил IrfanView в качестве администратора и установил ассоциации файлов. Увы, столбец UserChoice в FileTypesMan продолжал показывать AppX43hnxtbyyps62jhe9sqpdzxn1790zetc , что по крайней мере в моей системе соответствует приложению Photos (store), поставляемому с Windows. Для этого примера я буду обсуждать файлы .bmp .

При попытке исправить столбец UserChoice с помощью FileTypesMan, я столкнулся с сообщением об ошибке, в котором говорится, что доступ запрещен. Хм хорошо ...

Поэтому Process Monitor показал мне, на какой ключ повлияла ошибка отказа в доступе. Конечно же, он указал на попытку записи значений в HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp\UserChoice . Поэтому я проверил разрешения для этого ключа и не увидел ничего подозрительного. Но при ближайшем рассмотрении в диалоговом окне "Дополнительные параметры безопасности" для ключа UserChoice я увидел это:

Расширенные настройки безопасности

С тех пор, как я работал системным администратором в университете, Deny ACE был редкостью. Теперь, зная о правилах приоритета ACE внутри ACL, я сразу понял, что проблема в этом Deny ACE. Он доминировал в ACL для моей учетной записи.

Инструмент, такой как FileTypesMan, должен будет активно удалить этот ACE, а затем вернуть его после любых манипуляций. Очевидно это не делает этого (возможно дефект, о котором я должен сообщить?). Нет другого способа, о котором я знаю, за возможным исключением получения и включения права на резервное копирование и / или восстановление (так называемое право пользователя), которое сводится к обходу ACL и ACE (иначе говоря, обмана с помощью администратора;)).

Во всяком случае, мне не повезло с этой стороны.


Увы, я нашел обходной путь, который работал для IrfanView. Однако тот же обходной путь не работал для SumatraPDF и включал утомительное нажатие мыши (и поэтому я задаю этот вопрос).

Обходной путь был следующим. Откройте приложение "Настройки Windows" , выберите "Приложения", а затем выберите пункт "Приложения по умолчанию" в левой части. Прокрутите вниз на главной панели и в нижней части выберите "Установить значения по умолчанию для приложения".

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

Оттуда найдите приложение - в моем случае IrfanView - которым вы хотите управлять и нажмите кнопку "Управление" (после выбора программы по вашему выбору).

IrfanView в списке приложений

Затем открывается новый список, предоставляющий относительно простой обзор расширений файлов, которые, очевидно, поддерживаются программой (я предполагаю, что HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp\OpenWithProgids или некоторые другие параметры реестра воспроизводятся роль здесь) и позволяет вам изменить текущие настройки.

Выберите новую программу для расширения файла

Так что все в порядке, верно? Ну нету. В то время как IrfanView составлял этот список для "Установка значений по умолчанию в приложении", SumatraPDF нигде не было найдено.

Хотя тот факт, что SumatraPDF отсутствует в списке, вполне может быть ошибкой SumatraPDF, это все же не освобождает Windows от отмены настроек, которые я сознательно установил и полностью намеревался выполнить.


Так что, хотя это приложение "Настройки Windows" явно обладает волшебным соусом, позволяющим обойти Deny ACE, оно все равно не дает мне простого способа связать какие-либо расширения файлов в пакете с программным обеспечением по моему выбору.

Вопрос

Итак, учитывая ситуацию, описанную выше: Как я могу связать произвольные расширения файлов с произвольно установленным программным обеспечением по своему выбору в большем масштабе (т.е. в значительной степени в пакетном режиме) и без утомительных щелчков мышью и без риска для Windows 10 вмешиваться и возвращаться сознательно сделал выбор?

3 ответа3

3

Хотя вначале я скептически относился к проблеме, связанной с постером, я потрясен, обнаружив эту монументальную ошибку Microsoft.

Все случаи, которые я исследовал, где проблема не возникала, были установлены до Windows 10 версии 1809. Когда я скачал 1809 версий Windows 10 Enterprise (Business) и Windows 10 Pro (Consumer) и произвел чистую установку на виртуальных машинах, у них был этот ACL!

Этот ACL является новым дополнением и не существовал в предыдущих версиях. По-видимому, он сохраняется только во время чистой установки, а не во время обновления до 1809 с предыдущей версии. Я не знаю, что за мозговой штурм вызвал это, но Microsoft, видимо, решила навязать миру свое приложение Photos.

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

Если вы ищете решение в виде файла .reg котором удаляется запись Set Value , я думаю, вам нужно будет удалить всю ветку для .bmp и заново создать ее, чтобы избавиться от нее. В противном случае для изменения разрешений потребуется скрипт или программа установки.

Что-то вроде :

Windows Registry Editor Version 5.00

[-HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp]

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp]
...
2

Вы можете составить список расширений файлов и соответствующих приложений, которыми будет запускать расширение, например, в Excel, экспортировать его в файл .csv и использовать скрипт PowerShell по ссылке ниже:https://gallery.technet.microsoft. ком /scriptcenter / Как к адъюнкт-файл-3898f323

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

Вы должны быть осторожны при работе с расширением .exe, так как изменение его поведения может привести к общим проблемам с Windows. Изменение всех расширений в цикле for должно занять не более нескольких минут.

-2

Я просто ищу на своем жестком диске интересующее меня расширение файла ... скажем * .jpeg. Затем я щелкаю правой кнопкой мыши только по одному из файлов, и на вкладке "Общие" открывается "открывается", затем нажимается "изменить". ». В диалоговом окне, если вы не видите свою программу, прокрутите ее до конца и нажмите "Другие приложения". Теперь вы можете выбрать приложение, чтобы открыть этот тип расширения файла. Вы увидите, что он изменяет все файлы в выбранном вами приложении! Очень просто. Надеюсь, ты понял, Дейв

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .