Так все-таки: как сделать OEM First Run Application (AKA OEM Welcome Center)

По этому поводу (см. заголовок) много и подробно написано на просторах Интернет. Детальнейшие рекомендации имеются на Technet и MSDN. Все, казалось бы, предельно ясно – следуй инструкциям и добьешься успеха.

Тем не менее, до сих пор, время от времени, выплывают в переписке, да и по отзывам коллег, поступают в соответствующие инстанции жалобы от OEM инженеров, что “не работает этот функционал”. Или нет ничего в меню “Пуск”, или JumpList для “OEM First Run Application” отстутствует и прочая и прочая …

На специализированных курсах подготовки OEM инженеров я рассказывал в подробностях как это делается. А тут вот смог выкроить минутку и решил написать и проиллюстрировать с некоторыми комментариями, чтобы закрыть этот вопрос, надеюсь надолго, методом отсылки к первоисточнику (Smile, т.е. на блог).

Краткая предыстория. В Windows 7, в отличие от Windows Vista, как таковой Welcome Center отсутствует. Это было сделано по многим причинам, не буду их перечислять  (впрочем для Windows 7 Embedded возможность Welcome Center и настройки его через oobe.xml сохранили, но это повод для другого повествования). Вместо него в Меню Пуск был предложен пункт “Getting Started” с соответствующим JumpList, который конфигурируется всегда и предоставляется всем пользователям вошедшим в систему по умолчанию. Однако для особо настойчивых сборщиков была оставлена возможность сконфигурировать свои пять вхождений в меню Пуск, прикрепить три приложения на панели задач и выставить два приложения в системном лотке, чтобы обратить на них внимание пользователя, т.е. ненавязчиво заинтересовать дополнительным ПО размещенным на компьютере.  Это ПО, например в виде пробных версий, может поставляться независимыми разработчиками и вопрос его предустановки – это вопрос возможности дополнительного заработка для сборщика систем. Пренебречь вниманием пользователя в этом случае было бы не очень умно.

Одно из пяти вхождений в меню Пуск, в списке последних использованых приложений, можно обогатить своим JumpList с 10 дополнительными пунктами в нем и, тем самым, фактически, сделать еще один свой, OEM-ный аналог стандартному пункту “Getting Started”, но, естественно, со своим наполнением.

Делается это очень и очень просто – через файл ответов. Это может быть либо установочный файл ответов, либо специальный файл ответов для sysprep, если настройки выполняются в послеустановочный период обслуживания образа ОС.

Для этого в файле ответов предусмотрены специальные опции для компонента Microsoft-Windows-Shell-Setup: OEMWelcomeCenter, OEMWelcomeCenterLinks и StartPanelLinks. Я в своем рассказе затрону еще одну опцию, которая связана с “припиновкой” приложений на панель задач, поэтому еще учтем опцию TaskbarLinks.

Итак, выбираем сценарий послеустановочного обслуживания образа.

Шаг 1. Устанавливаем необходимый набор приложений, ко всем приложениям (т.е. к *.exe файлам) создаем ярлыки (если инсталлятор не генерировал их автоматически).

Шаг 2. Переходим в каталог %allusersprofile%MicrosoftWindowsStart MenuPrograms (т.е. C:ProgramDataMicrosoftWindowsStart MenuPrograms) и создаем в нем отдельную папку, например OEM.

Шаг 3. Собираем в эту папку ярлыки всех приложений, которые хотелось бы разместить в меню Пуск и на панели задач (см. п. 1).

В моем примере это выглядит примерно так:

image

Шаг 4. Настраиваем ярлыки, если необходимо. Например, подменяем стандартные иконки более информативными. На скриншоте выше два крайних ярлыка – это ярлыки на *.rtf файлы с документацией, у которых подменены стандартные иконки. Такие ярлыки тоже работают, но только в JumpList для OEM First Run Application, а в моем случае это некоторое приложение OEM Menu (см. скриншот выше).

Шаг 5. В Windows SIM создаем файл ответов. В нем задействуем конфигурационный проход oobeSystem и заполняем вышеуказанные подразделы настроек для Windows-Shell-Setup:

image

A. В разделе OEMWelcomeCenter указываем полный путь к *.lnk файлу для OEM First Run Application – приложения “OEM Menu” в моем примере:

image

Настоятельно рекомендую использовать нотацию с использованием переменных окружения ОС (%allusersprofile% = C:ProgramData). Ярлык должен находится в месте, доступном для всех пользователей в системе, поэтому
%allusersprofile%MicrosoftWindowsStart MenuPrograms – самое удобное место для этого.

Б. В разделе OEMWelcomeCenterLinks указываем полный путь к *.lnk файлам для тех элементов, которые хотелось бы увидеть в JumpList для для моего OEM Menu. Следует отметить, что эти вхождения никак не связаны с “родными” JumpList соответствующих приложений. Это искусственно формируемый список, см. скриншот:

image
Два крайних элемента в списке – вообще ярлыки (*.lnk) к *.rtf файлам Smile.

В. В разделе StartPanelLinks указываем полный путь к *.lnk файлам для тех элементов, которые хотелось бы увидеть в меню Пуск, причем первым элементом указываем то, что указали в п. А. – т.е. опять полный путь к к *.lnk файлу для “OEM First Run Application” – приложения “OEM Menu”.

image

Г. В разделе TaskBarLinks указываем полный путь к *.lnk файлам для тех элементов, которые хотелось бы “приклеить” на панель задач:

image

Эти настройки (п. Г) должны сопровождаться еще одной – в корне компонента Windows-Shell-Setup:

image

Опция DoNotCleanTaskBar, установленная в положение “True”, позволяет сохранить “приклеенные ярлыки” на панели задач. В противном случае, они будут убраны и получится, что все выполненные настройки будут сделаны зря.

Шаг 6. Сохраняем файл ответов в “секретном месте” целевой системы.

Шаг 7. Обобщаем образ с использованием созданного файла ответов, например:

C:windowssystem32sysprepsysprep /oobe /generalize /unattend:c:storagewc.xml /shutdown

Результат.

После перезагрузки, при входе в систему пользователь получит вот такую картину:

OEM_Firt_Run_Application

Забавно, но если в системе уже были учетные записи, и обслуживание образа для настройки меню Пуск выполнялось последовательно несколько раз (см. п. 7), то можно получить и такую картину:

OEM_Firt_Run_Application_x2

Так что, никаких сложностей, следуйте рекомендациям Microsoft и документации по Windows OPK – и успех гарантирован.

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

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.