Получение логотипа «Certified for Windows 7»
В один ясный солнечный день компанией, в которой я работаю, было принято решение о проведении работ по получению логотипа «Certified for Windows 7» для основного продукта. Надо сказать, что для компаний-парнёров Microsoft это не только абстрактное подтверждение совместимости с этой платформой, но и вполне реальные баллы по партнёрской программе. Так что причин на получение этого сертификата может быть несколько. Но основная цель топика — осветить реальные нюансы прохождения процедуры.
Сертификация начинается со страницы описания программы «Windows 7 Logo», где можно скачать документ с требованиями к ПО для успешного прохождения сертификации и тулкит для проведения тестов «Windows 7 Client Software Logo Toolkit» (WSLK). Итак,
Тестированию подлежала клиентская часть клиент-серверного приложения, работающего на платформе .NET, поэтому объем работ, проведенный для соблюдения всех требований может существенно отличаться от native-приложений.
После изучения документа выяснился план необходимых работ, а именно:
Процесс заказа сертификата для цифровой подписи файлов не нуждается в специфических телодвижениях, тем более что тема уже освещалась хабраюзером crea7or в топике «Code Signing в Windows, просто и недорого» (правда, в данном случае сертификат покупался напрямую в VeriSign). Поэтому остановлюсь только на процессе получения самого сертификата.
Самый важный момент, который необходимо не упустить — загрузка и установка сертификата должна проходить на том же ПК, на котором проводился заказ и оплата сертификата. Самое поразительное, что я наблюдал в этом процессе — это отсутствие нормальной поддержки Internet Explorer 8 для загрузки сертификата. Да, оно работает, но неоднозначные ошибки Javascript и ActiveX при попытке установить сертификат меня смущали пару дней. Официально в FAQ компании написано, что загрузка должна происходить с браузера Internet Explorer 7, он, как оказалось, все решилось и без него. Замечу, что саппорт по электронке отвечает вяло и с большой задержкой, а вот online-чат с техническим специалистом компании по данному вопросу оказался решением проблемы. В итоге, после процедуры установки сертификата, он появляется в сертификатах браузера (Internet Options -> Content -> Certificates), откуда его можно экспортировать для дальнейшего применения:

В сумме ожидания перевода денег на счёт и переписку с тех. саппортом ушло около 4-5 дней.
Одним из нововведений в Windows Vista, поддержка которого также является обязательным условием прохождения сертификации на совместимость, является Restart Manager. А добавить необходимо две вещи:
Данный код регистрирует перезапуск приложения при вынужденном его рестарте с теми же параметрами, с которыми оно было запущено + параметр "/restart", который можно использовать в дальнейшем как флаг.
По второму пункту: при получении данного сообщения программа должна немедленно начать подготовку к завершению, с этим тоже особых проблем не должно быть (код для WinForms приложения).
Также для обеспечения общей совместимости программы с платформой Windows 7 был добавлен специальный манифест со следующим содержимым:
Более подробная информация о параметрах supportedOS и dpiAware доступна по ссылкам.
Инсталлятор продукта написан на WiX, поэтому здесь доработка была всего одна — запись директории, куда была установлена программа в реестр информации установки и удаления программ. Решается это одним CustomAction:
Фактически, остается подписать бинарные файлы программы, создать инсталлятор, подписать его тоже и всё готово. Начиная с этого момента это будут стандарные действия при выпуске версии вашего продукта. И они легко автоматизируются. Для создания цифровой подписи файлов была использоватна утилита SignTool, которая входит в состав Windows SDK for Windows 7 и Visual Studio 2008. Для подписания файла достаточно выполнить команду
Тестирование программы согласно документу должно проводиться на платформе Windows 7 x64. Для тестирования была установлена редакция Ultimate. Поскольку тестирование проводилось на рабочей станции под управлением Windows Vista x32, то единственным решением для создания виртуального пространства с архитектурой x64 стал VMware Player. Сразу после установки нужно создать вторую учетную запись — это будет необходимо для тестирования поддержки мультисессионности в программе. Для тестирования была создана учетная запись обычного пользователя без администраторских прав. На виртуальной системе был развёрнут вышеописанный тулкит для тестирования. VMware Tools не устанавливались для чистоты эксперимента. Кстати, замечу, поведение VMware Player было иногда слегка неадекватное и приводило виртуализированную систему, а иногда и реальную к жутким тормозом. Правда, ненадолго. Но терпения надо набраться. Я приурочил подобные фокусы к задачи виртуализации совершенно другой архитектуры, а возможно и из-за отсутствия установленных VMware Tools.
Процесс тестирования, собственно, не представляет из себя ничего сложного. Вызывается тулкит с четкими инструкциями.
За время тестирования вам предложат в определённом порядке установить программу, запустить утилиту из состава тулкита для проверки работы с мультисессиями, запустить программу, и удалить её.

После этого сформируется XML-отчёт о результатах прохождения теста. Замечу, что Warnings (выделены в отчёте жёлтым цветом) означают что программа всё же прошла тест, но с замечаниями. Хотя не критичные замечания лучше исправить. В нашем случае такое замечание было одно — не было цифровых подписей в паре библиотек сторонних компаний. Испольняемый файл приложения должен быть подписан обязательно. Чесно говоря, меня несколько смутил тот факт, что я не увидел в результируючщем XML файле не каких-либо чексумм, ни цифровых подписей результатов для предотвращения представления заведомо ложных данных. А структура файла довольно проста. Но оставим это на совести ребят из Winqual.
Следующим этапом будет создание учётной записи на портале Winqual. При создании учётной записи вас попросят подписать сертификатом вашей компании файл winqual.exe, который попросят скачать и залить после переподписи. При успешном подписании файла дальнейшие шаги тривиальны.
Выбираем в левой панели меню Windows Logo Programs -> Software -> Self Tested -> Windows 7 и попадаем на страницу управления заявками на сертификацию. Нажимаем зелёную кнопку «Create New» и попадаем в визард. Для этого визарда должны быть подготовлены логотип продукта (должен быть доступен по прямой ссылке на сайте продукта), краткое описание на английском языке, сслыки на сайт компании и страницу продукта. Также вам предстоит выбрать, к какой категории ПО относится ваш продукт.
Перед созданием заявки вам необходимо будет подписать в электронном виде пару лицензионных соглашений. Подпись производится указанием даты и имени и фамилии. Буквально через несколько секунд эти соглашения приобретают статус подписанных с обех сторон (вашей компании и компании Microsoft).
Посе успешного создания заявки происходит автоматическая проверка отчета. В нашем случае, это произошло за несколько секунд. Затем предлагается подписать ещё одно лицензионное соглашения, связанное с получением сертификата, и на заявке становится активная ссылка «Artwork Download» на архив с графкой и инструкциями по применения логотипа, а статус заявки становится «Signed» и приобретает зелёный цвет.
К вопросу о стоимости сертификации: сертификация пока бесплатная. На текущий момент подобная сертификация для Windows Vista стоит порядка $1000, поэтому все желающие пройти сертификацию без денежных затрат должны поторопиться — как долго сертификация будет бесплатная не известно. Валидность сертификата — 2 года.
P.S. Если все пройдет успешно, в ближайшие пару недель будет готов подобный отчёт о процедуре получении сертификата «Works with Windows Server 2008 R2».
P.P.S. Очень интересно было бы увидеть «отчёты» о получении логотипов «Citrix Ready» и «VMware Ready», если у кого-то есть уже опыт проведения данных процедур.
UPD. Получение логотипа «Works with Windows Server 2008 R2»
Сертификация начинается со страницы описания программы «Windows 7 Logo», где можно скачать документ с требованиями к ПО для успешного прохождения сертификации и тулкит для проведения тестов «Windows 7 Client Software Logo Toolkit» (WSLK). Итак,
1. Изучение требований к прохождению сертификации, оценка предстоящих работ.
Тестированию подлежала клиентская часть клиент-серверного приложения, работающего на платформе .NET, поэтому объем работ, проведенный для соблюдения всех требований может существенно отличаться от native-приложений.
После изучения документа выяснился план необходимых работ, а именно:
- Покупка сертификата VeriSign для цифровой подписи файлов
- Поддержка RestartManager API в программе
- Небольшие правки в инсталляторе
2. Покупка сертификата VeriSign.
Процесс заказа сертификата для цифровой подписи файлов не нуждается в специфических телодвижениях, тем более что тема уже освещалась хабраюзером crea7or в топике «Code Signing в Windows, просто и недорого» (правда, в данном случае сертификат покупался напрямую в VeriSign). Поэтому остановлюсь только на процессе получения самого сертификата.
Самый важный момент, который необходимо не упустить — загрузка и установка сертификата должна проходить на том же ПК, на котором проводился заказ и оплата сертификата. Самое поразительное, что я наблюдал в этом процессе — это отсутствие нормальной поддержки Internet Explorer 8 для загрузки сертификата. Да, оно работает, но неоднозначные ошибки Javascript и ActiveX при попытке установить сертификат меня смущали пару дней. Официально в FAQ компании написано, что загрузка должна происходить с браузера Internet Explorer 7, он, как оказалось, все решилось и без него. Замечу, что саппорт по электронке отвечает вяло и с большой задержкой, а вот online-чат с техническим специалистом компании по данному вопросу оказался решением проблемы. В итоге, после процедуры установки сертификата, он появляется в сертификатах браузера (Internet Options -> Content -> Certificates), откуда его можно экспортировать для дальнейшего применения:

В сумме ожидания перевода денег на счёт и переписку с тех. саппортом ушло около 4-5 дней.
3. Изменения в коде программы.
Одним из нововведений в Windows Vista, поддержка которого также является обязательным условием прохождения сертификации на совместимость, является Restart Manager. А добавить необходимо две вещи:
- Регистрация команды перезапуска приложения при вынужденном завершения процесса системой
- Обработка сообщения WM_QUERYENDSESSION в главном окне программы с параметром ENDSESSION_CLOSEAPP
if (CoreHelpers.RunningOnVista) |
Данный код регистрирует перезапуск приложения при вынужденном его рестарте с теми же параметрами, с которыми оно было запущено + параметр "/restart", который можно использовать в дальнейшем как флаг.
По второму пункту: при получении данного сообщения программа должна немедленно начать подготовку к завершению, с этим тоже особых проблем не должно быть (код для WinForms приложения).
protected override void WndProc(ref Message m) |
Также для обеспечения общей совместимости программы с платформой Windows 7 был добавлен специальный манифест со следующим содержимым:
<?xml version="1.0" encoding="utf-8" standalone="yes"?> |
Более подробная информация о параметрах supportedOS и dpiAware доступна по ссылкам.
4. Изменения в инсталляторе.
Инсталлятор продукта написан на WiX, поэтому здесь доработка была всего одна — запись директории, куда была установлена программа в реестр информации установки и удаления программ. Решается это одним CustomAction:
<CustomAction Id="SetInstallLocation" Property="ARPINSTALLLOCATION" Value="[APPLICATIONFOLDER]"/> |
5. Подготовка инсталляционного пакета к тестированию.
Фактически, остается подписать бинарные файлы программы, создать инсталлятор, подписать его тоже и всё готово. Начиная с этого момента это будут стандарные действия при выпуске версии вашего продукта. И они легко автоматизируются. Для создания цифровой подписи файлов была использоватна утилита SignTool, которая входит в состав Windows SDK for Windows 7 и Visual Studio 2008. Для подписания файла достаточно выполнить команду
signtool sign /f certificate.pfx /p PASSWORD /t http://timestamp.verisign.com/scripts/timstamp.dll FileToSign.exe
6. Создание тестового пространства.
Тестирование программы согласно документу должно проводиться на платформе Windows 7 x64. Для тестирования была установлена редакция Ultimate. Поскольку тестирование проводилось на рабочей станции под управлением Windows Vista x32, то единственным решением для создания виртуального пространства с архитектурой x64 стал VMware Player. Сразу после установки нужно создать вторую учетную запись — это будет необходимо для тестирования поддержки мультисессионности в программе. Для тестирования была создана учетная запись обычного пользователя без администраторских прав. На виртуальной системе был развёрнут вышеописанный тулкит для тестирования. VMware Tools не устанавливались для чистоты эксперимента. Кстати, замечу, поведение VMware Player было иногда слегка неадекватное и приводило виртуализированную систему, а иногда и реальную к жутким тормозом. Правда, ненадолго. Но терпения надо набраться. Я приурочил подобные фокусы к задачи виртуализации совершенно другой архитектуры, а возможно и из-за отсутствия установленных VMware Tools.
7. Тестирование.
Процесс тестирования, собственно, не представляет из себя ничего сложного. Вызывается тулкит с четкими инструкциями.
За время тестирования вам предложат в определённом порядке установить программу, запустить утилиту из состава тулкита для проверки работы с мультисессиями, запустить программу, и удалить её.

После этого сформируется XML-отчёт о результатах прохождения теста. Замечу, что Warnings (выделены в отчёте жёлтым цветом) означают что программа всё же прошла тест, но с замечаниями. Хотя не критичные замечания лучше исправить. В нашем случае такое замечание было одно — не было цифровых подписей в паре библиотек сторонних компаний. Испольняемый файл приложения должен быть подписан обязательно. Чесно говоря, меня несколько смутил тот факт, что я не увидел в результируючщем XML файле не каких-либо чексумм, ни цифровых подписей результатов для предотвращения представления заведомо ложных данных. А структура файла довольно проста. Но оставим это на совести ребят из Winqual.
8. Создание учётной записи на Winqual.
Следующим этапом будет создание учётной записи на портале Winqual. При создании учётной записи вас попросят подписать сертификатом вашей компании файл winqual.exe, который попросят скачать и залить после переподписи. При успешном подписании файла дальнейшие шаги тривиальны.
9. Создание заяки на сертификацию.
Выбираем в левой панели меню Windows Logo Programs -> Software -> Self Tested -> Windows 7 и попадаем на страницу управления заявками на сертификацию. Нажимаем зелёную кнопку «Create New» и попадаем в визард. Для этого визарда должны быть подготовлены логотип продукта (должен быть доступен по прямой ссылке на сайте продукта), краткое описание на английском языке, сслыки на сайт компании и страницу продукта. Также вам предстоит выбрать, к какой категории ПО относится ваш продукт.
Перед созданием заявки вам необходимо будет подписать в электронном виде пару лицензионных соглашений. Подпись производится указанием даты и имени и фамилии. Буквально через несколько секунд эти соглашения приобретают статус подписанных с обех сторон (вашей компании и компании Microsoft).
Посе успешного создания заявки происходит автоматическая проверка отчета. В нашем случае, это произошло за несколько секунд. Затем предлагается подписать ещё одно лицензионное соглашения, связанное с получением сертификата, и на заявке становится активная ссылка «Artwork Download» на архив с графкой и инструкциями по применения логотипа, а статус заявки становится «Signed» и приобретает зелёный цвет.
Сертификация пройдена
К вопросу о стоимости сертификации: сертификация пока бесплатная. На текущий момент подобная сертификация для Windows Vista стоит порядка $1000, поэтому все желающие пройти сертификацию без денежных затрат должны поторопиться — как долго сертификация будет бесплатная не известно. Валидность сертификата — 2 года.
P.P.S. Очень интересно было бы увидеть «отчёты» о получении логотипов «Citrix Ready» и «VMware Ready», если у кого-то есть уже опыт проведения данных процедур.
UPD. Получение логотипа «Works with Windows Server 2008 R2»



комментарии (32)