Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Новый участник


Сообщения: 4
Благодарности: 1

Профиль | Отправить PM | Цитировать


Всё в итоге получилось. Vadikan, спасибо за подсказку.

В SetupComplete.cmd прописал установку всех необходимых программ, а в конце прописал команду
Код: Выделить весь код
Dism.exe /Online /Import-DefaultAppAssociations:<путь\файл с ассоциациями.xml>
Команду нужно прописывать после установки списка программ, чьи расширения нужно ассоциировать, т.к. судя по всему Windows проверяет фактическое наличие установленной программы, указанной в файле рядом с расширением.

В итоге установка Windows отработала SetupComplete.cmd, создала пользователя основываясь на данных, внесённых в AutoUnattend.xml и автоматически в него зашла - все необходимые форматы открываются согласно импортированным ассоциациям.

Кстати, есть небольшой нюанс. В зависимости от разрядности установленной программы, идентификатор расширения может отличаться. Вот например у Media Player Classic BE
Код: Выделить весь код
<Association Identifier=".avi" ProgId="mpc-be.avi" ApplicationName="MPC-BE" />
<Association Identifier=".avi" ProgId="mpc-be64.avi" ApplicationName="MPC-BE x64" />
Соответственно, если программа установится 64-битная, а в файле с ассоциациями у вас будет прописана привязка к 32-битной программе, то расширение не будет ассоциировано. Пробовал прописать оба варианта в xml-файл, но система привязывает тот, что ниже по списку в файле.

Получилось обойти при помощи одного из способов определения разрядности установленной системы, описанных в этой теме. В SetupComplete.cmd прописываем скрипт опеределения разрядности системы, а на основании полученных данных запускаем команду импорта файла с ассоциациями для x86 либо x64.

Последний раз редактировалось Ska16, 27-10-2015 в 18:24.


Отправлено: 05:17, 27-10-2015 | #6