Гаджеты для Windows 7
Данный пост не описывает как создавать гаджеты для рабочего стола Windows, но дает ссылки.
Данный пост описывает один из способов распространения самодельных гаджетов пользователям.
До этого момента, даже не предполагал, что создавать гаджеты для рабочего стола Windows так просто. Идея написать этот пост пришла мне в голову из-за того, что разобравшись за час в том, как сделать свой виджет, я "уткнулся" в проблему создания некоего файла установки для него. Здесь я опишу, как я её решил.
Итак, обо всем по порядку.
Для создания гаджета рабочего стола Windows 7 необходимо всего лишь быть знакомым с созданием статических веб-страниц. А если Вы знаете даже JavaScript, то для вас это предоставит большие возможности для мыслей и действий. Материалов по созданию гаджетов достаточно, правда они на английском языке. Ну, тому, для кого это проблема, лучше наверное сначала подучить английский язык, т.к. без него всё равно сейчас никуда.
Вкратце, гаджет - это веб-страница, помещенная в определенную папку Windows. Удивлены? Я тоже. Как и в любой веб-странице, связка HTML/CSS описывает интерфейс, JavaScript - поведение. Кроме того, обязательно вкладывается специально сформированный файл XML, описывающий этот гаджет: в нем имя гаджета, разработчика, описание, ссылки, основные настройки. За подробностями о создании гаджетов пройдите по ссылкам:
1. Пошаговое руководство по созданию гаджетов
2. Рекомендации
3. Хелп по вопросам, которые у Вас возникнут во время генерации супер-идеи по созданию гаджета, захватывающего мир
Далее, создав свой гаджет, необходимо положить его в специфическую папку, откуда она и "подхватится" менеджером гаджетов Windows. В Windows 7 это папка "C:\Users\[Пользователь]\AppData\Local\Microsoft\Windows Sidebar\Gadgets\" Если всё сделано правильно, запустив менеджер гаджетов ("правая кнопка на рабочем столе Windows 7" - "Гаджеты"), Вы должны увидеть иконку с именем своего гаджета.
Отлично. Поигрались с ним. Как же теперь за-submit-ить (ну, или за-deploy-ть), свое приложение-гаджет своим друзьям? Стандартное для Windows решение: получение файла Имя.gadget . Для этого архивируем папочку с гаджетом, например, WinRar'ом (7zip, Zip, и т.д.), после чего, переименовываем его расширение в "gadget". Итак, у Вас получился файл типа "Имя.gadget". Запустив этот файл двойным щелчком, Вы увидите, что он даже начинает исполняться менеджером Гаджетов Windows: появляется диалог установки.
Отсюда началась уже чисто моя персональная история. К сожалению, установить гаджет мне не удалось, т.к. для этого необходимо, чтобы гаджет был "подписан" центром сертификации. То бишь, Ваш гаджет должен иметь сертификат безопасности. Для процесса подписи гаджета используется утилита signtool из пакета Windows SDK, который качается бесплатно с сайта Microsoft (процесс подписи). Сам сертификат необходимо купить у одного из Центров Сертификации. Умельцы на форуме говорят, что достаточно иметь самоподписной сертифкат, который даже не нужно покупать. Действительно, такой сертификат легко делается на Вашем домашенем компьютере, но в моем случае это также не сработало.
Итак, стандартные способы для меня не работали. Покупать сертификат ради бесплатного гаджета тоже не хотелось. Поэтому я создал свой ClickOnce инсталлятор, который устанавливает гаджеты в нужные папки. Я НЕ ЗНАЮ, насколько легитимный этот способ. Но он работает. К тому же, по-моему, файл установки гораздо лучше непонятного "Имя.gadget". Опять же, создать инсталлятор очень просто. Для этого я создал проект Setup с помощью Microsoft Visual Studio. В нем открыл File System Editor, с помощью которого положил в папку Application Folder папку со всеми файлами гаджета. После чего возник тонкий момент. Для папки Application Folder необходимо указать путь установки в свойстве Location Folder. По умолчанию, это Program Files, но нам нужна специфичная папка "\Users\[Имя юзера]\AppData\Local\Microsoft\Windows Sidebar\Gadgets\" Порывшись в интернете, нашел описания переменных среды окружения Windows 7, в которых нашел и нужную мне переменную: LocalAppDataFolder. Но здесь будьте осторожны, имена переменных чувствительны к регистру, а на многих сайтах их описывают в верхнем регистре, поэтому инсталлятор Ваш путь будет интерпретировать неправильно. Итак, для гаджетов Windows 7, используйте путь "[LocalAppDataFolder]\Microsoft\Windows Sidebar\Gadgets\"
Дальше все просто, строим проект, запускаем Setup.exe или Setup.msi, проходим все шаги установки. После "финиша" запускаем менеджер гаджетов и видим свой гаджет, который теперь можно перетащить на рабочий стол и работать, без всяких ограничений. Никаких подписей и оплат.
Такой вот он, мой опыт создания виджетов.
А вот и то, что у меня получилось:
1. Гаджет для простой вставки текста, например, который нужно временно запомнить: задача, заметка, ссылка...
2. Гаджет в виде моей визитной карточки =).
P.S. Раньше я выкладывал всё на своём сайте, но спроса особого нет, поэтому не вижу смысла в продолжении поддерживать свой сайт. Займусь чем-нибудь поинтереснее. Если кому-то программа всё таки интересна, пишите - вышлю установщик.
Комментарии
Отправить комментарий