Инсталляционные пакеты symban os 9.x
====================================
0. Что нужно для всего этого
~~~~~~~~~~~~~~~~~~~~~~~~~
0. Прямые руки
1. Знание таких вещей, как командная строка и bat-файл.
2. Умение пользоваться интернетом
Начните чтение со скачивания архива:
http://server2.dimonvideo.ru/uploads/public/users/jbak/sisx.zip
Там есть всё необходимое, кроме python'а, однако там что-то может устареть, потому для всех закачек даются подробные ссылки.
1. Распаковка SisX.
~~~~~~~~~~~~~~~
Распаковывать sisx умеет программа SISInfo, доступна для закачки здесь:
http://www.niksula.cs.hut.fi/~jpsukane/sisinfo.html, также есть в архиве.
Требует для работы установленного python'а, который можно скачать на http://www.python.org и установить.
SisInfo работает с коммандной строки, командная строка имеет такой синтаксис: sisinfo.py [настройки] Настройки:
-f FILENAME, --file=FILENAME Имя файла SisX
-i, --info Вывод на экран информации о файле SisX
-s, --structure Вывод структуры файла SisX.
-e PATH, --extract=PATH Распаковка SIS файла в путь, указанный в PATH
-c, --certificate Показать информацию о сертификате
Например:
C:/sisinfo.py -f C:/reboot.sis -i -c -e C:/reboot
Выведет в консоль список файлов, информацию о сертификате и распакует содержимое в C:/reboot
Последняя опция - с (инфа о сертификате) требует установленной библиотеки ASN1 Эту библиотеку нужно скачать (http://pyasn1.sourceforge.net/) и установить, запуском с командной строки setup.py install
В архиве прилагается версия 1-0.0.5a
Для использования в Far предлагается в список ассоциаций добавить например такую: edit:Тогда по нажатии Enter - в редакторе откроется файл с инфой, а sisx распакуется в папку рядом с sisx-файлом и будет иметь то же имя, что и сис-файл
Кроме этого, есть ещё Gui-программа unsis, можно например поискать это слово в обменнике на dimonvideo.ru. Управление там просто - кнопки Open и Extract. Как эту штуку заставить показывать инфу о сертификате я не понял, да и не сильно стремился, проще уж к Far'у прицепить.
2. Упаковка SisX.
~~~~~~~~~~~~~~
Создаётся sisx-файл с помощью утилиты makesis, которая есть в SDK v.3.x, я положил её в архив:
http://server2.dimonvideo.ru/uploads/public/users/jbak/tools.zip
Опять же, стартует с коммандной строки
MakeSIS [-h] [-v] [-s] [-d папка] [-p пароль] файл.pkg [файл.sis]
-h Показывает справку о формате pkg-файла
-v При упаковке показывает расширенную информацию
-d Задаёт папку для поиска упаковываемых файлов
-p Задаёт пароль для расшифровки приватного ключа
-s Создаёт файл для деинсталляции программы на смарте.
Первое, что пугает - файл pkg. Действительно, после распаковки такого файла нет.
Единственное, что можно сделать - написать такой файл самому.
Опция -i дала например такой вывод:
!:/sys/bin/Reboot.exe [PowerMgmt SwEvent ReadUserData UserEnvironment]
!:/resource/apps/Reboot.rsc
!:/private/10003a3f/import/apps/Reboot_reg.rsc
!:/resource/apps/Reboot.mif
!:/private/E44EFAD5/backup_registration.xml
Немного воображения и чтения документации по pkg - и получаем в результате что-то такое:
================================================================================================
; Языки программы
&EN
; Имя программы, UID, версия
#{"Reboot"},(0xE44EFAD5),1,0,0
; Производитель
%{"Vendor-EN"}
;Unique Vendor name
:"Vendor"
"reboot/sys/bin/Reboot.exe" - "!:/sys/bin/Reboot.exe"
"reboot/resource/apps/Reboot.rsc" - "!:/resource/apps/Reboot.rsc"
"reboot/private/10003a3f/import/apps/Reboot_reg.rsc" -
"!:/private/10003a3f/import/apps/Reboot_reg.rsc"
"reboot/resource/apps/Reboot.mif" - "!:/resource/apps/Reboot.mif"
"reboot/private/E44EFAD5/backup_registration.xml" -
"!:/private/E44EFAD5/backup_registration.xml"
================================================================================================
Обратите внимание, что пути к исходным файлам начинаются с reboot/ - это означает, что файл pkg
располагается рядом с папкой reboot, в которую был распакован наш sisx.
Также можно задать полный путь к файлам.
Сложновато, не спорю. Это уже не конпочки Open/Extract, как в предыдущем разделе.
После запуска makesis получаем готовый sis-файл.
Кое-какая документация по синтаксису pkg - в архиве (pkg-syntax.html)
В этом примере была строка:
!:/sys/bin/Reboot.exe [PowerMgmt SwEvent ReadUserData UserEnvironment]
это означает, что sisx должен быть подписан сертификатом. А потому читаем раздел 3.
3. Подпись sisx'а сертификатом
~~~~~~~~~~~~~~~~~~~~~~~~~~~
Самая мерзкая тема в Симбиан 9.х, в которой слилось всё сразу - жадность, элементарное неуважение к программистам и... Ладно, не буду ныть:) Итак, программе, неподписанной сертификатом, доступно примерно 60% функций ОС, для прочего нужен сертификат. Сертификат для платной программы стоит денег и на руки не выдаётся.
Для программистов, жаждущих заюзать полноценный набор функций и потом распространять свою программу бесплатно было создано подразделение Symbian Freeware, но пока ещё вроде никому не удалось оттуда что-то получить.
Последняя радость программера - devCert. Быстро и относительно без геморроя можно использовать свою программу со всем функционалом Symbian 9.x. В сертификате прописывается IMEI телефона, так что сертификат для каждого смарта свой. К счастью, хоть UID программы там не прописывается, так что можно создать себе сертификат один раз и подписывать им программы. Срок жизни devCert'а - полгода. По рецепту Santehnik'а - программы можно не переподписывать заново, достаточно каждые полгода перевести время на полгода назад и переустановить программу. Геморрой, опять же, и всё же это хоть какой-то выход для программистов, которые хотят использовать SDK на всю катушку.
И как всё это делается?
Шаг 0. Регистрируемся на symbiansigned.com
(https://www.symbiansigned.com/app/page/register)
Шаг 1.Качаем с сайта symbainsigned.com программу DevCertRequest, ставим и запускаем.
(Также можно скачать:http://dimonvideo.ru/files/file_9650.html)
Шаг 2.Вот шаги в этой программе:
1. Вводим имя создаваемого файла .csr, его может не быть на винте
2. ACS Pub ID Available - ставим No (он тоже денег стоит), вводим имя key-файла и пароль.
3. Заполняем информацию о себе
4. Вводим свой IMEI. Дальше кнопкой Add перетягиваем все Capabilities в правый список.
5. Жмём Finish.
Шаг 3.Заходим на symbiansigned.com под своей учётной записью (вкладка My Symbian Signed), Дальше - Developer Certificates - Request, в поле вводим путь к файлу csr. и отправляем. Если всё хорошо - попадаем на страницу, где сертификат доступен для скачивания и просмотра. Качаем, сохраняем с расширением cer.
Шаг 4.Теперь у нас есть сертификат, и им можно подписать любой sisx.
Файл csr больше не нужен, а вот файлы key и cer кладём где-то рядом.
Шаг 5.Подпишем какую-то полезную прогу - например, по адресу http://www.pushl.com/taskspy/ возьмём TaskSpy для 9-ки.
signsis имеет такую командную строку:
signsis.exe -sv <Путь к sisx> <Выходной sisx> <Файл cer> <Файл key> <Пароль> Ну, для удобства можно создать bat-файл devcert.bat такого содержания:
C:/signsis.exe -sv %1 dev%1 C:/mydevcert.cer C:/mydevcert.key МойПароль (разумеется, со своими путями), кинуть его куда-то в system32. Тогда и в Far и в Total достаточно запустить командную строку devcert.bat <имя sisx>, чтобы получить рядом с неподписанным sisx другой, подписанный devCert'ом и рабочий
Ну и наконец, для тех, кто ещё не понял, это нужно для того, чтобы пользоваться бесплатными прогами, требующими расширенных возможностей системы. Никаких других проблем это не решает.
Яндекс.Метрика
Вы не авторизованы!
Авторизация
Обновить
Глав

Добавить в избранное (только для авторизированных)