![]() |
Проблема автоматической ассоциации программ по умолчанию
Добрый день. Обращаюсь за советом по поводу автоматической установки Windows 8.1. Добился, чтобы установка проходила от начала до конца без непосредственного участия (при помощи Autounattend.xml), сделал, чтобы пакет необходимых программ, их настроек и настроек самой системы также устанавливались в тихом режиме (с помощью bat-файла). Единственное, что не смог побороть - автоматическую ассоциацию расширений с установленными программами.
Начиная с Windows 8 данный процесс требует участия пользователя, предлагая ему в ручную выставить галочки во время установки конкретной программы, что отличается от WinVista/Win7, где установщик без проблем присваивает программе необходимые расширения самостоятельно. Из того, что удалось разузнать в данном направлении, нашлась лишь групповая политика "Задать файл конфигурации сопоставлений по умолчанию", работа которой описывается к примеру здесь. Если вкратце, то сначала вручную выставляются все ассоциации, затем они экспортируются в xml-файл и после при помощи групповой политики в реестре задаётся путь до этого файла, согласно которому при каждом входе в учётную запись прописываются необходимые ассоциации. К сожалению, судя по описанию и проведённым тестам данная политика применяется лишь к компьютерам, находящимся в домене, т.е для обычных домашних машин она не годится. Вполне возможно, я что-то упускаю из-за нехватки знаний и эту политику всё же можно заставить работать на компьютерах, не находящихся в сети, но на данный момент других вариантов решить задачу в голову не приходит. Подскажите, может кто-то сталкивался с данным вопросом и что можно сделать? |
Ska16, когда я писал свою статью 3 года назад, все работало и без домена. Вы политикой пытаетесь применить? Перечитайте мои инструкции, пробуйте из консоли и не упускайте из виду
Цитата:
|
Цитата:
Цитата:
Код:
<RunSynchronousCommand wcm:action="add"> |
Vadikan, попробовал сделать вышеописанным методом - в рамках прохода specialize с флешки копируется xml-файл с ассоциациями по адресу C:\Windows\System32, следом прописывается ключ реестра DefaultAssociationsConfiguration с путём до этого файла, что собственно и делает политика "Задать файл конфигурации сопоставлений по умолчанию".
По появлению рабочего стола проверяю - файл скопировался, ключ в реестре присутствует. Пробую установить одну из сторонних программ, которой предполагается открывать прописанные в файле расширения (XnView, Media Player Classic BE в данном случае). После их установки при попытке открыть *.jpg либо *.avi файл, система открывает окно с предложением выбрать программу, которой я хотел бы открывать данный тип файла. Т.е не сработало. Пробовал перезагружаться, пробовал повторно прописывать ключ реестра и следом перезагружаться, результат всё тот же. Ещё попробовал перенести операции в раздел FirstLogonCommands, что также не дало положительного результата. Очень бы хотелось услышать ваши комментарии. |
Ska16,
Зачем вам политика, если она для доменных ПК, а у вас домена нет? В моей статье же ясно написано: 1. Настройте ассоциации на эталонном ПК 2. Экспортируйте XML 3. Выполняйте команду DISM с этим XML на целевом ПК Сначала проверьте на уже загрузившейся системе: выполните шаг 3 > добавьте пользователя. Если работает, используйте SetupComplete.cmd. |
Всё в итоге получилось. Vadikan, спасибо за подсказку.
В SetupComplete.cmd прописал установку всех необходимых программ, а в конце прописал команду Код:
Dism.exe /Online /Import-DefaultAppAssociations:<путь\файл с ассоциациями.xml> В итоге установка Windows отработала SetupComplete.cmd, создала пользователя основываясь на данных, внесённых в AutoUnattend.xml и автоматически в него зашла - все необходимые форматы открываются согласно импортированным ассоциациям. Кстати, есть небольшой нюанс. В зависимости от разрядности установленной программы, идентификатор расширения может отличаться. Вот например у Media Player Classic BE Код:
<Association Identifier=".avi" ProgId="mpc-be.avi" ApplicationName="MPC-BE" /> Получилось обойти при помощи одного из способов определения разрядности установленной системы, описанных в этой теме. В SetupComplete.cmd прописываем скрипт опеределения разрядности системы, а на основании полученных данных запускаем команду импорта файла с ассоциациями для x86 либо x64. |
Время: 12:23. |
Время: 12:23.
© OSzone.net 2001-