Мир Автомобильных навигаторов

Мир Автомобильных навигаторов (http://4pna.com/index.php)
-   Навигатор на WinCE (http://4pna.com/forumdisplay.php?f=20)
-   -   WinCE FAQ основные сведения по реестру на WinCE (http://4pna.com/showthread.php?t=354)

asterrX 16.05.2009 13:06

FAQ основные сведения по реестру на WinCE
 
Вложений: 2
FAQ основные сведения по реестру на WinCE.


Внимание ! Редактирование реестра - опасная операция. Перед тем, как что-то менять в реестре, постарайтесь разыскать прошивку на свое устройство, снять с него дамп при помощи программ отсюда или найти человека с точно таким же устройством - это сильно повысит шансы на восстановление устройства, если что-то пойдет не так. Чем менее распростанено ваше устройство, тем более актуален для вас этот абзац.
  1. Общие понятия и терминология
  2. Редактировние реестра (цели, инструменты, механизмы)
  3. Чего следует избегать, внося изменения в «святая святых» Windows ?
  4. Тяжелые и необратимые последствия пренебрежительного отношения к реестру.


[[Ссылки могут видеть только зарегистрированные пользователи. ]]>
В двух словах, реестр Windows - иерархически построенная база данных параметров и настроек системы. В нем содержится информация и настройки для аппаратного и программного обеспечения, профилей пользователей, предустановки. Здесь также фиксируются список установленного ПО.
Как правило, на девайсах с WinCE состоит из 4-х разделов:

HKEY_CLASSES_ROOT
В основном, содержит информацию о зарегистрированных типах файлов и объектах. В большинстве случаев для нас не представляет никакого интереса.

HKEY_CURRENT_USER

Данный раздел содержит настройки текущего активного пользователя, вошедшего в систему (в нашем случае – единственного, т.е. нас с Вами). Здесь хранятся папки пользователя, цвета экрана и параметры панели управления, настройки подсветки и громкости, темы рабочего стола и языковые параметры – все, что мы можем поменять с помощью программ настроек интерфейса, например. Вместо полного имени раздела иногда используется аббревиатура HKCU.

HKEY_LOCAL_MACHINE
Раздел содержит все параметры конфигурации, относящиеся к данному девайсу (информация об аппаратной части ПК, о драйверах устройств, сведения о загрузке Windows). Вместо полного имени раздела иногда используется аббревиатура HKLM.

HKEY_USERS
Данный раздел должен содержать все активные загруженные профили пользователей девайса. Почти на всех устройствах PNA он, как правило, пустой и тоже не представляет интереса. Вместо полного имени раздела иногда используется аббревиатура HKU.

Куст реестра — это подмножество разделов, подразделов и параметров реестра, которому сопоставлен набор вспомогательных файлов, содержащих резервные копии этих данных. Среди прочих, используется термин Hive. В некоторых работах его переводят на русский как «улей».
Файлы кустов имеют расширение .hv (boot.hv, default.hv, system.hv, user.hv). Например, system.hv содержит информацию из HKEY_LOCAL_MACHINE\System.

Во время запуска операционной системы происходит до тысячи обращений к Реестру, а во время работы на девайсе в течение одного сеанса работы – до 10 тысяч!
Отдельные компоненты Реестра хранятся в оперативной памяти (ОЗУ) в течение всего сеанса работы.

Запись (считывание) информации в Реестр (из Реестра) происходит постоянно: например, если мы устанавливаем какую-нибудь программу, вся информация, необходимая для запуска и работы этой программы, записывается в Реестр. Если мы устанавливаем новое устройство, в Реестре будет отмечено, где находится его драйвер и т.д. Если же мы запускаем какую-либо программу или устройство, то из Реестра считывается вся необходимая для запуска программы (устройства) информация.

ВАЖНО: От корректности данных Реестра зависит эффективность работы как программного обеспечения (операционной системы и прикладных программ), так и аппаратной части девайса.




[[Ссылки могут видеть только зарегистрированные пользователи. ]]>
Нами всегда движет стремление к новому и «лучшему», и мало кто откажется от «навороченного» тюнинга своего зверька, будь то – рабочий стол в стиле «а ля Сальвадор Дали» или банальная замена встроенного софта на более «продвинутый».
Руководствуясь всем этим, мы порой забываем, что значение Реестра для Windows трудно переоценить – это сердце операционной системы.
Появление всевозможных «глюков» в работе ОС говорит о том, что какие-то настройки Реестра стали некорректными. При серьезном повреждении Реестра операционную систему загрузить невозможно.

Тем не менее, существуют различные способы и механизмы его редактирования:
1. С помощью программ настройки интерфейса, которые поставляются, как правило, с самим девайсом в составе ОЕМ оболочки. Это всем знакомые настройки громкости, подсветки, энергосбережения, USB и пр. Этот способ я бы назвал самым безопасным, т.к. он происходит для нас абсолютно прозрачно и без явного вмешательства в Реестр с нашей стороны.
Назову, лишь, общие места нахождения таких параметров в Реестре.

HKEY_CURRENT_USER\ControlPanel\Desktop, ключ wallpaper = \Windows\WindowsCE.bmp
Лого картинка, видимая на рабочем столе.

HKEY_CURRENT_USER\ControlPanel\Volume
Набор ключей, меняя значения которых, мы устанавливаем значения громкости динамика и звуковое подтверждение тапов по тачскрину.

HKEY_CURRENT_USER\MUI, ключ CurLang
Языковой параметр системы

HKEY_CURRENT_USER\Software\Shell , HKEY_LOCAL_MACHINE\ControlPanel\YFDefault
Набор ключей, меняя значения которых, мы устанавливаем параметры стандартной ОЕМ оболочки системы.

HKEY_CURRENT_USER\ControlPanel\BackLight
Набор ключей, меняя значения которых, мы устанавливаем значения подсветки и энергосбережения девайса.

HKEY_LOCAL_MACHINE\Drivers\USB\FunctionDrivers
Меняя значение Serial_Class на Mass_Storage_Class можно превратить девайс в кардридер.

2. С помощью многочисленных редакторов реестра, которые позволяют делать это прямо на девайсе (например, RegEdit), и редакторы с удаленным доступом, при котором Вы запускаете редактирование прямо на ПК (или на «ББ» - Большом Брате). Редактирование возможно лишь при установленной связи между ПК и девайсом посредством Microsoft ActiveSync (Mobile Center на Windows Vista). Скачать его можно на сайте Майкрософта. В этом случае могу порекомендовать неплохую и простую в использовании программу Registry Work Shop.
Краткая инструкция:

После запуска программы и установлении связи с девайсом в главном окне тапнуть по иконке MobileDevice:
[[Ссылки могут видеть только зарегистрированные пользователи. ]]>
В результате у Вас появится новая вкладка Mobile Device (см. рисунок). Теперь реестр полностью в Вашем распоряжении. Как видите – все очень просто.
В меню File можно сохранять отдельные ветки реестра, а также делать бэкап посредством выбора действия Export (что я очень рекомендую сделать как можно раньше).
Там же можно выбрать действие Import, которое загрузит сохраненную копию реестра или отдельной ветки в Ваш девайс.

Какие ключи и их значения могут представлять интерес для редактирования – решать Вам. Я, лишь, упомяну наиболее часто используемые:

HKEY_CURRENT_USER\ControlPanel\KeyMap
На некоторых девайсах представляет интерес значение ключа KeyGotoCE (если таковой присутствует). Это «секретная» комбинация выхода на рабочий стол Windows при загрузке девайса (без старта встроенной оболочки-шелла).

HKEY_LOCAL_MACHINE\System\Explorer\Shell Folders
Здесь находится описание мест дислокации «системных» папок, в т.ч.:
\My Documents
\Program Files
\Windows\StartUp
\Windows\Desktop
\Application Data и др.

Поменяв, например, значение \Windows\Desktop на \SDMMC\Windows\Desktop, мы позволим сохранять настройки рабочего стола (внешний вид, иконки и пр.) на карте памяти, чтобы эти настройки при следующем запуске WinCE не слетели.
Также многие установленные программы пишут свои настройки в папки \My Documents или \Application Data. Аналогично, поменяв исходные пути, мы можем добиться сохранения этих настроек.

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l
Здесь можно увидеть информацию о RomVersion и PlatformName, которая может пригодиться в будущем для восстановления или апдейта девайса.

HKEY_LOCAL_MACHINE\init
[[Ссылки могут видеть только зарегистрированные пользователи. ]]>
Очень важная ветка – при редактировании соблюдать высочайшую осторожность !!! Здесь обозначены сервисы, стартующие при инициализации (старте) ситсемы, отсюда и название.
Следует запомнить навсегда, что процессы device.exe, qwes.exe, services.exe являются системными и не подлежат редактировнию (переустановке порядка запуска, удалению и т.п.).
SERVICES.EXE - Данный процесс является диспетчером управления службами и отвечает за запуск, остановку и взаимодействие с системными процессами.
GWES.EXE - компонент операционной системы Windows CE, графическая оболочка, управляющая окнами и выводом на экран.
DEVICE.EXE – диспетчер всех устройств в системе. Обеспечивает правильную работу встроенного оборудования на программно-аппаратном уровне. Регулирует взаимодействие процессов в памяти и работу драйверов оборудования.

Мы можем изменять только значение ключа Launch50 – YFLoader.exe это запускающий файл встроенной (заводской) оболочки устройства, которую Вы наблюдаете по умолчанию на новом аппарате после включения устройства. На разных девайсах, естественно, может быть разное имя (GpsStart.exe, Launcher.exe и т.п.). Если сюда поставить имя нужной программы, то именно она и будет стартовать при включении. Чаще всего сюда прописывают Explorer.exe, чтобы попасть сразу на рабочий стол.
В этом разделе можно добавлять свои ключи для запуска необходимых программ:
Launch90 = MyProg.exe, например.
Нельзя добавлять номера Launch до 20 и в промежутке от 20 до 60 включительно.

Внимание ! Если вы хотите добавить сюда свои программы для запуска - подумайте еще раз. Если добавленная вами программа не сможет запуститься или зависнет - вы получите нерабочее устройство. Если к нему не удастся подключиться через АктивСинк - вам поможет только перепрошивка. Особенно опасно вносить изменения в HKEY_LOCAL_MACHINE\init на устройстве, работающем в режиме кардридера - подключить к нему АктивСинк точно не получится.

HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\ SDMemory
В ключе Follder прописано название Вашей SD карты так, как ее будет видеть и называть система (например, SDMMC).

HKEY_LOCAL_MACHINE\nls
Языковые настройки системы. Здесь, как правило, меняют значения ключа DefaultLCID, чтобы добиться нормального отображения кириллицы в некоторых приложениях. Прежде чем его поменять – убедитесь, что на Вашем устройстве это уже кто-то делал, и результат был положительным !

Вполне возможно, что на Вашем устройстве несколько другая структура реестра и обозначение ключей, но общий смысл не меняется.
После того, как Вы отредактировали реестр, нужно, чтобы эти параметры вступили в силу (как правило, при следующем запуске).
Я уже говорил, что многие кусты находятся в ОЗУ устройства, и чтобы изменения записались в текущий реестр и вступили в силу, нужно знать следующее:
1) Во внутренней прошивке девайса находится, так называемый, дефолтный реестр. Он находится в виде кустов default.hv и boot.hv в системной папке \Windows. Этот девственно чистый реестр и загружается при старте.
2) Все изменения в текущем реестре, производимые установленными программами или самим пользователем лежат на специально смонтированном скрытом разделе (как правило, RegFat) в файлах user.hv, system.hv. Это именно эти кусты «накладываются» на чистый реестр, и в итоге получается то, что мы видим, когда система полностью загружена.
Так вот, чтобы все исправления, которые мы делаем сами в онлайне, попали в эти кусты надо учитывать, что это происходит, только если есть вызов системного события RegFlushKey (обновление реестра). Не все редакторы сами вызывают это событие, поэтому, чтобы быть точно уверенным, что изменения вступят в силу, надо «усыпить» девайс посредством нажатия кнопки Sleep или выполнив: Start->Suspend в Эксплорере. Если Вы напортачили, но не успели сохранить реестр, то можете просто сделать Reset, тогда все изменения пропадут. Это касается, опять же, только тех редакторов, которые не обрабатывают RegFlushKey.



Последние два пункта в большей степени относится к девайсам, не имеющих аппаратного ХР (хардресета). Существует также следующий тип реестра. Он сохраняет изменения только до первого ХР, содержимое такого реестра хранится в виде специально запакованного архива с названием default.fdf, в папке Windows.
Если Вам повезло и у Вас именно такой реестр, то для возвращения девайса к жизни, необходимо просто сделать ХР.


[[Ссылки могут видеть только зарегистрированные пользователи. ]]>
1. HKEY_LOCAL_MACHINE\init – изменение порядка запуска или состава прописанных там приложений чревато умерщвлением зверька до стадии перепрошивки.
2. HKEY_LOCAL_MACHINE\MUI – изменения параметра на многих устройствах заканчивались тоже необходимостью перепрошивки.
3. HKEY_LOCAL_MACHINE\Drivers – здесь собрана информация об устройствах (портах, GPS-приемнике, LCD и т.д), которая используется системой для нормального функционирования. Причем подветка HKEY_LOCAL_MACHINE\Drivers\Active содержит информацию об активных на данных момент устройствах. В разных вариантах бэкапов эта ветка может отличаться от предыдущей копии, т.к. в ней всегда текущие Handles (указатели), присваиваемые системой при новой загрузке.
4. HKEY_LOCAL_MACHINE\System\CurrentControlSet\Contro l\Power\State – изменение значений может привести к тому, что у Вас просто девайс перестанет выключаться или уходить в СЛИП по нажатию соответствующих кнопок.
5. HKEY_LOCAL_MACHINE\System\StorageManager – здесь расписаны профайлы всех устройств памяти в системе (NAND Flash, SD Card и т.п.), порядок их монтирования в соответствующие разделы с присвоением необходимых имен (ResidentFlash, ResidentFlash2, RegFat, BinFS и т.д.). Единственное, что можно поменять при необходимости – это значения ключа Follder в HKEY_LOCAL_MACHINE\System\StorageManager\Profiles\ SDMemory (об этом рассказывалось выше).
6. HKEY_LOCAL_MACHINE\HARDWARE и особенно значение ключа CalibrationData в HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\TOUCH. Иначе Вы не сможете пройти этап калибровки тачскрина при старте системы.

Список «тонких» мест можно продолжить (вообще, сам реестр – достаточно «тонкое» место), но выше указаны наиболее распространенные места, напортачив в которых без дальнейшей перепрошивки не обойтись. Так что – всегда соблюдайте высочайшую осторожность!




[[Ссылки могут видеть только зарегистрированные пользователи. ]]>
Все-таки, Вы сделали по-своему, и при включении девайса перед вами веселая картинка – лого-заставка Вашего устройства. Выхода два:
1) Вам повезло, если девайс увиделся через АктивСинк, и Вы можете загрузить в него бэкап -сохраненную работоспособную копию реестра. И опять же, хорошо, если при этом еще работает кнопка Sleep.
2) Искать прошивку. Прошивка может быть оригинальной (с сайта производителя, например) или сделанной на основе образа (дампа) памяти с точно такого же работоспособного девайса.

Если устройство все же еще грузится, но работает заметно «как-то не так», то могу посоветовать следующее: во-первых, попробовать восстановить его с последней рабочей копии реестра, а, во-вторых, есть 100 % способ его возвращения в заводское состояние, который заключается в следующем:
выше рассказывалось, что все изменения хранятся на специальном разделе RegFat. Если зайти в Control Panel - > Storage Manager, можно увидеть сведения о всех существующих разделах: Part00, Part01, Part02…(их может быть разное количество на разных устройствах). Надо в свойствах (Properties) раздела выбрать тот, который имеет самый маленький размер (как правило, около 1,5 – 2 Мб). Убедиться в том, что вы выбрали нужный раздел, можно, нажав на кнопку "Properties" и посмотрев на тип раздела. У раздела с реестром вы увидете "Type 0x11"
Далее, надо размонтировать этот раздел (DisMount), а потом отформатировать (Format) и перезагрузиться. Система загрузится только на основе boot.hv (default.hv), а наложить сверху существующие изменения не сможет, т.к. их просто уже нету (файлы user.hv и system.hv мы стерли путем форматирования).
Правда, в этом случае мы потеряем все настройки и сведения об установленных программах, но, возможно, это лучше, чем когда система работает не стабильно.
Если по каким то причинам такой способ применить не удается можно на свой страх и риск воспользоваться иными способами, описанными в приложенных архивах

Второй способ
В реестре правим параметр HCLM/drivers/usb/functiondrivers/mass_storage_class/flashdrv:partitions меняем значение 02 на 03. Далее подключаем к ББ в режиме кард-ридер. Найдется 2 диска (residentflash и SD). Заходим в residentflash (весить может от 3 метров до 4 гигов и имеет папки documents and settings, hivereg(если hivereg нет то скорее всего метод вам не поможет). Oн имеет файловую систему exFAT на XP SP3 и далее видится без проблем - обновляйтесь) там стираем все файлы-отключаемся от ББ-выключаем девайс-включаем и видим девственно-чистое устройство.


Надеюсь, что все вышесказанное поможет Вам настроить свой девайс без неприятностей, повлекших за собой коматозное состояние зверька. Если нет уверенности в чем-то, то лучше не делать ничего сомнительного, чтобы Ваш девайс продолжал работать надежно и стабильно, как это заложено в него изначально Производителем.



Желаем успешного тюнинга со счастливым концом !

Данная информация выкладывается на условиях «как есть», без предоставления каких-либо гарантий и прав. Используя данную информацию, Вы соглашаетесь с тем, что авторы не несут ответственности за использование Вами данной информации и Вы принимаете на себя весь риск, связанный с использованием данной информации.

(c) lestrem



Комментарий модератора
LinXP:
Внимание: программы предоставленные ниже, неоднократно "убивали" навигатор!!!

PETRO 06.09.2009 18:47

Pioneer 4321
 
А Как Закачать Win -Se?

DaNi1986 04.12.2009 20:21

Nexx nns-3501
HKEY_LOCAL_MACHINE\Init
Launch50 случайно вписал не explorer.exe а explore.exe.
Когда заметил уже нажимал кнопку ресет.
Что можно сделать?

torro 04.12.2009 21:13

DaNi1986,
Наилучшее, что мне хочется посоветовать в таких случаях - выбрось навигатор в мусорное ведро и забудь проблему. Как говорит главный балабол этого сайта Капитошка - ты писатель (в отличии от нормальных людей, которые читатели). Но коль скоро таких как ты на просторах наших когда то единых много, то это мы неоднократно рассказывали. Наиболее полно здесь [[Ссылки могут видеть только зарегистрированные пользователи. ]]>

DaNi1986 05.12.2009 00:04

Спасибо что послали. Уже все сделал. Синхронизировался с компом поправил реестр.
Полежал пару часиков с кнопкой батери офф

torro 05.12.2009 16:28

DaNi1986,
Рад за вас.

MARTiNLive 21.12.2009 11:41

Меня интересует вопрос на счет параметров Depend*!

У меня изначально так...но эксплорер все равно сворачивается и запускается оболочка (которая впрочем была по имени лаунчер.ехе и сидела на 109 лаунче)

"Launch50"="explorer.exe"
"Depend50"=hex:\
14,00,1e,00

Есть ли какая нить инфа по значениям этих параметров?

torro 21.12.2009 12:43

MARTiNLive,
по поводу параметров я информации не встречал. По оболочке надо смотреть еще в самой винде - что записано в StartUp. Это стандартная ситуация.

Garrison 22.12.2009 15:43

Не лезте в редактор если руки кривые!
 
Доброго дня! Помогите советом! Попал в руки девайс Neoline v5 rio хочу сказать что машинка отличнейшая есть стандартый ярлык для выхода на рабойчий стол wince6.0 переключение режимов работы На "Активсунк" и режим флеш накопителя. Собственно проблема такая: предыдущий владелец не разобравшись что по чем полез в реестр с помощю проги regedit загруженной непосредственно на microcd девайса и потер значение HKEY_LOCAL_MACHINE\Drivers\BuiltIn\USBOTG\OTGPortM ode=0 естественно "юсб" отвалился наглухо и все бы ничего но прога эта позволяет только удалять значения реестра а кнопки "импорт" и добавление нового значения просто неактивны! Как теперь быть как вернуть в реестр сие значение? (скачанные на влешку через карт ридер другие проги для ред. реестра попросу не запускаються) Есть правда мыслишка сделать с помощью этой проги бекап и редактировать его потом на компе с последуюей реставрацией реестра но прога делает бекап файлом с расширением RBK а единственная утилита в природе способная с этим работать была на win 95 и только с ней и работала ну очень сложный способ и не факт что прокатит... :(

torro 22.12.2009 17:44

Garrison,
При невозможности редактирования реестра я использую метод из вкладки "тяжелые случаи" шапки. В этом случае удается восстановить реестр до дефаулта.

Garrison 22.12.2009 18:21

Это токнечно верно только вот никак :( В том смысле что прошивки такой нет, рабочей копии реестра естественно тоже и самое главное что контрольная панель при нажатии на нее ничего не открывает я так думаю потому что винда урезана ну просто насмерть. Получаеться что разделы я никакие не вижу и руками до реестра добраться ну никак не получаеться. Я чесно надеялся что вы сможете подсказать мне причину почему не редактируеться реестр... Вся тонкость в том что новые папки в реестре а так же значения REG_SZ и REG_BINARU вносяться и сохраняються просто отлично. Но удалено то значение REG_DVORD а при добавлении это значения просто жмешь ок а оно тупо не появляеться в ветке реестра. Должна же быть причина этому какая то.... Я понимаю если бы вообще не редактировался или не сохранялся. А тут.... Да и потом в будущем я все равно планировал некоторые обгрейды этого девайса с изменением реестра, и такой касяк с "приколоченными" значениями очень бы оставлять не хотелось. :pardon:

torro 22.12.2009 19:57

Garrison,
Я тоже надеялся. Но ты мои надежды не оправдал. Как?
А если понял, то давай по сути. неоднократно сталкиваюсь с тем, что многие действия пользователя в операционной системе оцениваются системой по своему и действия системы на них неадекватны. И не только на навигаторах, а вообще.
Для примера. У меня вылетает навител. Стираю его, все папки с его упоминанием. Возвращаю реестр в дефолт. Ставлю навител в новое место. Ранее в такой ситуации ветка навитела в реестре появлялась после первого запуска. Сейчас после 10 дней она так и не появилась. Реестр прекрасно редактируется и изменения сохраняются. В чем проблема? Задавал вопрос на многих форумах. Ответов 0.
относительно урезанной винды. Читал много подобного, но потом оказывалось, что в большинстве случаев виноват пользователь (или слаб). Если же винда действительно урезана, на форумах выложены недостающие файлы.

stuff 30.12.2009 17:56

Где в реестре выставляется значение, что бы навигатор был доступен для ActiveSync?

Kirienko 06.01.2010 18:41

Благополучно уложил Tenex 50s импортом реестра. Спасибо ребятам, собравшим инфу по оболочкам китайцев. Мой был 8. Из подобного оказался Lexand 565. На их сайте скачал прошивку, установил по инструкции и, о... чудо заработало.

torro 13.01.2010 15:57

DANIS
смотри тему Замена лого.


Текущее время: 01:17. Часовой пояс GMT +3.

Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot

Время генерации страницы 0.03282 секунды с 10 запросами