IPB

Здравствуйте, гость ( Вход | Регистрация )

Форум перемещен на новый домен: forum.pda2u.ru - исправьте, пожалуйста, свои ссылки
 
 
Ответить в данную темуНачать новую тему
> AutoInstall после Хард-Ресета. Medush SetupSystem, Создаем мега-функциональный скрипт для настройки девайса после ХР
Medush
сообщение 31.3.2009, 14:08
Сообщение #1


Опытный реаниматор
****

Группа: Разработчики
Сообщений: 178
Регистрация: 27.11.2007
Из: Moscow
Пользователь №: 34
Спасибо сказали: 87 раз(а)

Девайс:O2 XDA FLAME


Все, кто хоть раз перепрошивал девайс, практически всегда сталкиваются с невозможностью автоустановки программ после Хард Ресета. Происходит это потому, что как правило набор предустановленных прог для автоинсталла из Storage жестко прописан в welcome системы.
Безусловно, есть универсальные установщики, но и они всего лишь копируют поведение стандартного алгоритма и сложны в настройке для среднестатистического пользователя.

Поэтому я озадачился написанием скрипта (работающего под MortScript) для АвтоИнсталла.
Главные задачи проекта:
- ФУНКЦИОНАЛЬНОСТЬ: Желательно предусматривающая все возможные "возжелания" юзера.
- ПРОСТОТА: Чтобы не нужно было ничего никуда прописывать, достаточно разложить по папкам то что хочешь и получить результат. Или легко настроить по желанию.
- ГИБКОСТЬ: если не устраивает ПРОСТОТА, дать возможность подстроить алгоритм под себя как частично, так и очень глубоко, практически полностью, но опять-таки с минимальными усилиями и знаниями.
- УДОБСТВО: мультиязычный USER-FRIENDLY интерфейс, выбор между "тихой" установкой или с выдачей сообщений. Отдельный скрипт с интерфейсом для интерактивной настройки SetupSystem без вникания в тонкости ручной правки ini - файла.

Предлагаю всем активно поучаствовать в обсуждении и разработке НАРОДНОГО алгоритма, сделающим наши с вами эксперименты с прошивками приятными и не требующими последующей долгой настройки девайса для приведения его к привычному "рабочему" виду. Чем активнее обсуждение, тем более удобный продукт получится!

Итак, мое видение функционала и, собственно, хода самого алгоритма Step by Step (все части (секции) алгоритма настраиваемы - Да, Нет, Спросить):

1. Поднятие из BackUp'a. Если файл бекапа - exe, то проверка даты создания и запуск наиболее свежего. Либо, если файлов несколько, то можно предоставить пользователю выбор. После Restore - предустановленный выбор: прерваться или продолжить выполнение (сразу или после ресета) - например если в бэкАпе только PIM и т.п.
2. АвтоУстановка программ. Проги могут быть упакованы в архив и (или) лежать кабами в папке \Скрипт\Programs. Допускается любая вложенность подпапок - раскладывайте ваши проги "по полочкам" как душе угодно. Если в папке лежит ConfigFiles.txt с описанием что ставить - тогда исполняем только его.
3. Копирование ярлыков. Как правило, у каждого из нас куча прог на карте, не требующие установки. А вот линки на них приходится кидать вручную. Исправляем ситуацию (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) В папке \Скрипт\Links раскладываем по нужным папочкам свои линки. Затем они с соблюдением структуры каталогов авто-переносятся в девайс относительно \Start Menu\ - что позволяет кидать ярлыки и в раздел \Settings. При наличии отрабатывается ConfigLinks.txt. Хочу также сделать возможность реорганизации начального расположения ярлыков после прошивки в \Start Menu\Programs в соответствии с личными предпочтениями каждого. Для обсуждения:нужен ли автоматический поиск установленных на карте программ и автоматическое же создание линков на них?
4. Копирование файлов. К примеру, можно автоматически скопировать любимые мелодии звонков, либо нужные конфигурационные\регистрационные и прочие файлы куда угодно. Файлы кладем в \Скрипт\Files создавая структуру каталогов относительно \My Device. Для O2 XDA Flame реализовал чтение реальных названий Storage и Storage Card из реестра. По остальным девайсам нужны ключи реестра, где хранится данная информация, пожалуйста присылайте. Это нужно для того чтобы копирование происходило именно туда куда нужно даже при неразлоченной \Storage.
5. Импорт нужных ключей в реестр. Файлы *.reg кладем в \Скрипт\Reg.
6. Тюнинг системы. Применение любимых настроек (как всегда - с предопределенным выбором Да/Нет/Спросить/ConfigTuning.txt). Данный раздел - для АКТИВНОГО обсуждения!!! Присылайте наиболее универсальные и полезные настройки системы (сразу пишем для какой оси)! Например, уменьшение ширины скроллбарови т.д. и т.п.
Здесь же хочу реализовать автоустановку предустановленных: TimeZone и региональных стандартов. Плюс автоматическую синхронизацию времени с Time-сервером.

Прошу высказывать свое мнение относительно функционала и алгоритма.

Итак, Medush SetupSystem. Находится в активной разработке. Текущая версия: 0.3.
Реализовано (по пунктам алгоритма) :
1. Диалог для поднятия из резервной копии - выбираете файл или вашу backUp-программу, выбор передается на выполнение.
2. В каталоге с программами (переименовал в \Cabs - так вроде понятнее (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) ) Создается и автоматически обновляется при установке файл SetupLocation.ini со списком ваших кабов. Можно создать принудительно, запустив \Scripts\CreateCabsList.mscr Открываете в любом текстовом редакторе и правите, удобнее на ББ. Все что указано в секции [Main Memory], ставится автоматом. Остальное ПОКА с выдачей системного диалога по выбору места установки.
3,4 Реализованы, пока без поддержки Config____.txt.
5. Реализованы импорт *.reg и *.xml
6. Пока не приступал.
Также пока не реализовал возобновление работы скрипта в случае случайного ресета девайса пользователем после установки одной из программ.

Распаковываете архив в любое место по выбору. Если в системе не установлен MortScript, запускаете файл MortScript.exe из соответствующей директории. Он пропишет ассоциации с файлами *.mscr
Далее можно выполнять сами скрипты:
Главный - AutoInstall.mscr В \Scripts\ вынесены все скрипты по обработке отдельных частей алгоритма, сделал их не зависимыми от главного скрипта, т.е. вы можете запускать их все по отдельности. Все скрипты читают установки из Autoinstall.ini - покопайтесь, там можно менять ход алгоритма.
Каждая секции алгоритма смотрят соответствующие ключи: Yes - выполняется, No - пропускается, Ask - спросить у пользователя.
Там же параметр ShowMessage - сейчас стоит Yes и выдаются все сообщения. Когда попробуете работу скрипта и поймете ход выполнения, смело ставте No и АвтоУстановка будет работать автоматически, запрашивая только критические моменты.

Доступны два языка: Русский и Английский. Любые другие - создаете новый каталог в \Scripts\Localization\, имя каталога=названию языка, внутрь кладете правленный под конкретный язык Language.ini. Все. Язык будет доступен автоматически в диалоге выбора языка (для этого включить в AutoInstall.ini параметр LanguageChoiceDialog=Yes

Тестируйте, пишите.

НОВАЯ ВЕРСИЯ!
- полноценный импорт reg и XML
- в \Cabs (бывшая \Programs) теперь генерится файл SetupLocation.ini
Все что в нем в секции [Main Memory] - ставится в полном автомате



Medush SetupSystem ver.0.3.
Прикрепленный файл  Autoinstall_v.0.3.zip ( 962.02 килобайт ) Кол-во скачиваний: 51


Спасибо сказали:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Medush
сообщение 31.3.2009, 14:21
Сообщение #2


Опытный реаниматор
****

Группа: Разработчики
Сообщений: 178
Регистрация: 27.11.2007
Из: Moscow
Пользователь №: 34
Спасибо сказали: 87 раз(а)

Девайс:O2 XDA FLAME


В результате тестирования выявил:
1. При использовании регионального языка скрипта в WWE прошивках сразу после ХР, вылезают кракозябры из-за несоответствия кодировок. Ситуация исправляется выставлением региональных настроек.
2. У нас на O2 XDA FLAME ну просто ОГРОМНЫЙ Storage (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) Посему логично желание устанавливать часто используемые и весомые по объему программы именно туда (как то Resco и т.п.). Но пока не открыть сторадж, он недоступен. Открытие Storage происходит с Софт-Ресетом. (кстати, копирование файлов туда доступно в любое время (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif) )
Посему вижу следующию корректировку алгоритма:
1. Pre-Config System: установка TimeZone, Regional Settings, открытие Storage и выставление при необходимости параметра AskFolderForInstall - выбор конкретной папки при установке программ. Кому еще что-то требуется, пишем!
2. ПРограммный Soft Reset
3. Автоматическое возобновление работы SetupSystem.
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
MayBe
сообщение 31.3.2009, 18:27
Сообщение #3


Участник
**

Группа: Members
Сообщений: 35
Регистрация: 30.3.2009
Из: Киев, Украина
Пользователь №: 15501
Спасибо сказали: 12 раз(а)

Девайс:HTC P3300


А чем предлагаемый функционал отличается от SASHIMI AutoInstaller RAW Edition кроме наличия русского языка?
(SASHIMI = Specialized Automation Script for HTC Installations, MortScript Initiated)
Ссылочки:
http://4pda.info/index.php?newsid=3440 (рус)
http://www.winmo-experts.com/viewforum.php?f=7 (авторская)

То же назначение, тот же MortScript, весьма развитый функционал...
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Medush
сообщение 31.3.2009, 21:12
Сообщение #4


Опытный реаниматор
****

Группа: Разработчики
Сообщений: 178
Регистрация: 27.11.2007
Из: Moscow
Пользователь №: 34
Спасибо сказали: 87 раз(а)

Девайс:O2 XDA FLAME


Цитата(MayBe @ 31.3.2009, 19:27) *
А чем предлагаемый функционал отличается от SASHIMI AutoInstaller RAW Edition кроме наличия русского языка?
(SASHIMI = Specialized Automation Script for HTC Installations, MortScript Initiated)
Ссылочки:
http://4pda.info/index.php?newsid=3440 (рус)
http://www.winmo-experts.com/viewforum.php?f=7 (авторская)

То же назначение, тот же MortScript, весьма развитый функционал...


Про SASHIMI ничего не знал. Познакомлюсь поближе.
Посмотрим что выйдет в итоге. Если сообща и активно будем обсуждать, то ... (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
AGC
сообщение 31.3.2009, 23:18
Сообщение #5


PDA2U.RU Team
****

Группа: Admin
Сообщений: 4884
Регистрация: 25.11.2007
Из: СПб
Пользователь №: 32
Спасибо сказали: 1657 раз(а)

Девайс:RW6815/P320/Diamond


Medush, в принципе, у меня уже давно (еще с первых версий WM6) стоит MortScript. Ну и написан на нем простенький скрипт, который автоматически кабы на инсталляцию запускает после хард-ресета, в т.ч. с карты памяти. Тот же скрипт меняет ряд служебных параметров (удаляет пару ярлыков и создает новые, меняет в реестре кое-что, копирует одну библиотеку, предлагает запуск настройки сети и окончательный софт-ресет после всех манипуляций). От версии к версии я его модифицирую при необходимости. Поэтому лично пока не испытываю острой необходимости в специальной надстройке над MortScript, благо там можно сделать все (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)

Но... Твоя идея полезная! В качестве предложения могу посоветовать сместить акцент в потребителе. Если такая система сможет быть сконфигурирована конечным пользователем, например, на карте памяти и будет отрабатывать после хард ресета автоматически, то многие скажут спасибо. То есть разработчик прошивок просто вставляет поиск и автоматический запуск этой системы с карты памяти (стандартное место + стандартное название начального скрипта), а пользователь должен иметь возможность ее самостоятельной конфигурации. Что-нибудь типа папки AutoInstall на карте памяти с одноименным скриптом.

Основная проблема сведется к еще к удобному конфигуратору...
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Medush
сообщение 31.3.2009, 23:58
Сообщение #6


Опытный реаниматор
****

Группа: Разработчики
Сообщений: 178
Регистрация: 27.11.2007
Из: Moscow
Пользователь №: 34
Спасибо сказали: 87 раз(а)

Девайс:O2 XDA FLAME


Цитата(AGC @ 1.4.2009, 0:18) *
[Но... Твоя идея полезная! В качестве предложения могу посоветовать сместить акцент в потребителе. Если такая система сможет быть сконфигурирована конечным пользователем, например, на карте памяти и будет отрабатывать после хард ресета автоматически, то многие скажут спасибо. То есть разработчик прошивок просто вставляет поиск и автоматический запуск этой системы с карты памяти (стандартное место + стандартное название начального скрипта), а пользователь должен иметь возможность ее самостоятельной конфигурации. Что-нибудь типа папки AutoInstall на карте памяти с одноименным скриптом.

Основная проблема сведется к еще к удобному конфигуратору...


Эта задача и стоит - максимально упростить использование.
В плане интеграции на запуск после ХР думаю можно написать простенький exe (читает из одноименного ini или txt путь к папке, проверяет/регистрирует MortScript, передает управление скрипту), и его подключить к большинству прошивок стандартным для большинства config'ом EXEC: Storage Card\AutoInstall.exe

Как думаешь, прокатит такой вариант?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
AGC
сообщение 1.4.2009, 0:35
Сообщение #7


PDA2U.RU Team
****

Группа: Admin
Сообщений: 4884
Регистрация: 25.11.2007
Из: СПб
Пользователь №: 32
Спасибо сказали: 1657 раз(а)

Девайс:RW6815/P320/Diamond


Цитата(Medush @ 1.4.2009, 0:58) *
Эта задача и стоит - максимально упростить использование.
В плане интеграции на запуск после ХР думаю можно написать простенький exe (читает из одноименного ini или txt путь к папке, проверяет/регистрирует MortScript, передает управление скрипту), и его подключить к большинству прошивок стандартным для большинства config'ом EXEC: Storage Card\AutoInstall.exe

Как думаешь, прокатит такой вариант?

А почему нет? Нормально. Впрочем, этим бы я особо не заморачивался, если ты конечно не хочешь окучивать именно фирменные прошивки или вообще все. Я бы ориентировался на самосборные, куда разработчики могли бы интегрировать эту систему. Хотя сам запуск можно сделать именно как ты предлагаешь, тогда и встраивание в прошивку не обязательно. Просто запустил exe с карты памяти и все.

Но, на мой взгляд, тут очень важен визуальный конфигуратор для пользователя. Т.е. разработчик бы встраивал автозапуск твоей системы + визуальный конфигуратор для пользователя в прошивку (можно и Мастер настройки в виде скрипта, но по мне так интересней именно визуальный конфигуратор - это был бы дополнительный колоссальный плюс). Настройки конфигуратора, естественно, сохраняются на карте памяти. Хотя, если запуск будет идти ручками с карты памяти, то и автоконфигуратор может быть запущен оттуда, тогда и встраивание не особо то и нужно.


Спасибо сказали:
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Medush
сообщение 2.4.2009, 9:50
Сообщение #8


Опытный реаниматор
****

Группа: Разработчики
Сообщений: 178
Регистрация: 27.11.2007
Из: Moscow
Пользователь №: 34
Спасибо сказали: 87 раз(а)

Девайс:O2 XDA FLAME


Друзья мои, для упрощения жизни пользователей хочу реализовать автоматическое открытие внутреннего стораджа (по желанию, есс-но).
Для этого начинаю собирать базу знаний по различным устройствам.
Требуются:
1. Ссылки на (или описание) алгоритмы открытия внутреннего стораджа
2. Название этого самого стораджа (у всех ли Storage или возможны варианты, особенно при использовании региональных языков?)
3. Ключ реестра, где хранится название стораджа. Как я понимаю, для всех девайсов они разные.


Еще вопрос: имя Storage Card всегда у всех прописано тут "HKLM\System\StorageManager\Profiles\SDMMC\" или также возможны подводные камни?
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
ol969
сообщение 2.4.2009, 10:07
Сообщение #9


Новичок
*

Группа: Members
Сообщений: 6
Регистрация: 17.2.2009
Из: Тюмень, ХМАО, Березово
Пользователь №: 12031
Спасибо сказали: 0 раз(а)

Девайс:HP RW6815


а еще можно кинуть папку Cabs на Storage после прошивки пойдет установка кабов вложенных в в эту папочку. осталось только собрать кабы или в кабы нужный софт
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Medush
сообщение 2.4.2009, 10:51
Сообщение #10


Опытный реаниматор
****

Группа: Разработчики
Сообщений: 178
Регистрация: 27.11.2007
Из: Moscow
Пользователь №: 34
Спасибо сказали: 87 раз(а)

Девайс:O2 XDA FLAME


Цитата(ol969 @ 2.4.2009, 11:07) *
а еще можно кинуть папку Cabs на Storage после прошивки пойдет установка кабов вложенных в в эту папочку. осталось только собрать кабы или в кабы нужный софт


Все Cab'ы кладутся в папку \путь к скрипту\Programs. Оттуда же и устанавливаются.
Переименовать папку что ли, чтоб понятнее было? (IMG:http://forum.pda2u.ru/style_emoticons/default/smile.gif)
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Medush
сообщение 5.4.2009, 9:32
Сообщение #11


Опытный реаниматор
****

Группа: Разработчики
Сообщений: 178
Регистрация: 27.11.2007
Из: Moscow
Пользователь №: 34
Спасибо сказали: 87 раз(а)

Девайс:O2 XDA FLAME


Выложил версию 0.3

Полноценный импорт *.reg и *.XML
Доработаны алгоритмы
Многое что поменяно.
Тестируйте
Перейти в начало страницы
Вставить ник
+Цитировать сообщение
Xakep
сообщение 10.2.2010, 14:24
Сообщение #12


Участник
**

Группа: Members
Сообщений: 14
Регистрация: 15.8.2009
Пользователь №: 26172
Спасибо сказали: 3 раз(а)

Девайс:Rover N6


Выловил быг в версий 0.3 . В скрипте CreateCabsList.mscr нужно строку...
if EditFlag=1
Run(ScriptsPath \ "\EXE\LiteNote\LiteNote.exe", iniSetupFile)
Заменить на...
if (EditFlag=1)
Run(ScriptsPath \ "\EXE\LiteNote\LiteNote.exe", iniSetupFile)
т.е. просто в условий проставить скобки.
Иначе при запуске CreateCabsList.mscr и наличий в папке Cabs файла SetupLocations.ini. Скраипт при попытке обнавить Ini файл вываливается с ошибкой. (IMG:style_emoticons/default/wink.gif)
Перейти в начало страницы
Вставить ник
+Цитировать сообщение

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Текстовая версия Сейчас: 28.3.2024, 17:35
return_links(); ?>