(Перейдите к вопросу, прокрутив до самого конца, но в этом случае не голосуйте вслепую, чтобы закрыть ...)
Да, я знаю, что эта тема неоднократно повторялась здесь, здесь и здесь, но я обещаю, что это не дубликат. Ничто из этого не помогает ассоциировать программное обеспечение с расширениями файлов в большем масштабе. Фактически я обнаружил, что - по крайней мере, в 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 - которым вы хотите управлять и нажмите кнопку "Управление" (после выбора программы по вашему выбору).
Затем открывается новый список, предоставляющий относительно простой обзор расширений файлов, которые, очевидно, поддерживаются программой (я предполагаю, что HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.bmp\OpenWithProgids
или некоторые другие параметры реестра воспроизводятся роль здесь) и позволяет вам изменить текущие настройки.
Так что все в порядке, верно? Ну нету. В то время как IrfanView составлял этот список для "Установка значений по умолчанию в приложении", SumatraPDF нигде не было найдено.
Хотя тот факт, что SumatraPDF отсутствует в списке, вполне может быть ошибкой SumatraPDF, это все же не освобождает Windows от отмены настроек, которые я сознательно установил и полностью намеревался выполнить.
Так что, хотя это приложение "Настройки Windows" явно обладает волшебным соусом, позволяющим обойти Deny
ACE, оно все равно не дает мне простого способа связать какие-либо расширения файлов в пакете с программным обеспечением по моему выбору.
Вопрос
Итак, учитывая ситуацию, описанную выше: Как я могу связать произвольные расширения файлов с произвольно установленным программным обеспечением по своему выбору в большем масштабе (т.е. в значительной степени в пакетном режиме) и без утомительных щелчков мышью и без риска для Windows 10 вмешиваться и возвращаться сознательно сделал выбор?