Версия для печати темы
Нажмите сюда для просмотра этой темы в обычном формате
Форумы PDA2U.RU _ Создание прошивок _ Редактирование прошивки xDevice Monza
Автор: ansh 24.3.2009, 15:34
Всем привет!
Извините если не в этом форум..
У меня навигатор xDevice Monza WinCE 5.0
Такая проблема:
‘Navitel’ is not a valid Windows CE application.
И такая ошибка с многими версиями которые я находил в инете.
На эмуляторе запускается
Наверно на навигаторе windaCE урезанная
Вот что интересно.
Мне попался от друга навигатор Acer v200 (WinCE 5.0). Попросил посмотреть можно ли альтернативную оболочку запустить.
И обнаружил, что навител 3.2.5.1089 загружается. Вот теперь думаю как все таки на xDevice Monza запустить навител 3.2.5.1089.
Кто знает в чем причина?
Может папку Windows на Acer v200 скопировать и вставить в папку Windows на xDevice Monza.
Кто знает какой программой можно редактировать файлы прошивки *.IMG
Хочу заменить файлы папки Windows от Acer v200
Автор: Old Kind MadMike 24.3.2009, 15:39
Автор: ansh 24.3.2009, 15:51
А если просто добавить файлы из Acer v200.
Хотя бы попробовать
Какой программой можно img файл подредактировать?
Автор: ElectricFlash 24.3.2009, 15:55
Автор: ansh 24.3.2009, 16:07
Я там все просмотрел но проги для редактирования img файлов не нашел
Автор: ElectricFlash 24.3.2009, 16:27
Автор: ansh 24.3.2009, 16:37
Она не открывает а пишет
Error reading file D:temp111.img
Автор: Old Kind MadMike 24.3.2009, 17:10
Автор: ansh 24.3.2009, 17:43
Конечно знаю.
Если не хотел то не писал.
Автор: Old Kind MadMike 24.3.2009, 19:07
Боюсь, редактирование прошивки тебе может не помочь решить твою проблему.
Вот что я нашел:
Когда запускается программа, появляется диалог с предупреждением, что это «некорректное приложение» («. is not a valid Windows CE application») и программа не запускается. Почему?
Дело в том, что в PDA на базе Windows CE используются процессоры трех разных типов. И программа, разработанная для одного процессора не будет работать под другим. Например, версия для процессора MIPS (Casio Cassiopeia E-105/115/125 и др.) или Hitachi SH3 (HP Jornada 545/548/680/690 и др.) не будет работать на моделях с процессором StrongArm (Compaq iPaq, HP Jornada 720 и др.).
Автор: Angel_Hranitel 24.3.2009, 19:16
а разве дамп от rw6815 открывается этой программой? ведь если его переименовать в *.img, то можно и прошить. если у него дамп, то я не думаю что он откроется WinImage 8.0b надо искать кухоньку и вперед
Автор: AGC 24.3.2009, 22:19
Э. э, подожди, по-моему, это совсем не центральный процессор Sirf 3 сейчас самый распространенный чипсет приемника GPS. Центральные процессоры, конечно, разные бывают, может там и стоит что экзотическое, но. Дело тут еще и в том, что непонятно, что такое «Microsoft Windows® CE .Net 5.0 Core version» в спецификации, да и вообще, это некое китайское чудо, которое еще и продается БОГ ЗНАЕТ КЕМ (см. оформление и содержание сайта http://www.xdevice.ru/gps-monza.htm). Да и опять же, на сайте написано, что и Навител должен работать, я бы у них и спросил сначала
А про центральный процессор ребята вообще лаконично написали, только частоту — без используемой архитектуры, модели и производителя
Автор: ansh 25.3.2009, 9:50
Боюсь, редактирование прошивки тебе может не помочь решить твою проблему.
Вот что я нашел:
У тебя какой-то экзотический проц SiRF Atlas-III, dual-core. Надо искать под него скомпилированный Navitel.
Скорее всего Вы правы.
Acer v200 — процессор Samsung S3C2442XL частотой 300 МГц
А у xDevice Monza — проц SiRF Atlas-III, dual-core
Это новый SiRF c двумя процессорами http://www.sirf.com/products/multifunction2.html
Скомпелированные под Monza есть 3.2.5.1240 и 3.2.4.598 только ломалки на них нет.
Значит получается что проц. Samsung это «круто»
а я наоборот, выбирал новый SiRF c двумя процессорами.
Источник
Навигатор TEXET TN-507 как наладонник с Windows CE 6.0
Драйвера avermedia tv 507
Случилась такая проблема: поставил виндовс 7 билд 7127, но на неё не стали дрова для твтюнера. Мож.
GPS навигатор на планшет windows 8.1 с модулем GPS (DIGMA EVE 8.0)
Здравствуйте. Всех с наступившим годом и рождеством! Прошу помощи, есть планшет с GPS (DIGMA EVE.
Nivona 507 — наполни систему
Мастера-форумчане, может кто сталкивался с такой машинкой Nivona 507, при включении сразу.
Avertv studio 507 и Старенький ТВ
Всем доброго времени суток! Имеется avertv studio 507 и Старенький ТВ с входами под тюльпан! Есть.
В каком виде эти программы?
Есть три варианта установки программ в Windows СЕ (Mobile).
1. Устройство подключается к компьютеру (ББ — «большому брату»). На ББ ставится программа Active Sync. В Windows 7 она уже встроена. На компьютере запускается установщик в виде ехе-файла. Открывается Актив синк и переправляет установку на устройство. На устройстве вы следуете инструкциям на экране.
2. Установщик в виде cab-файла. Копируете на устройство и там запускаете. Следуете инструкциям на экране.
3. Готовая программа. На ББ не запускается (Сообщение: «. не является приложением win32»). Копируете на устройство в удобное место и там запускаете.
Вы, наверное, скачали установщики для первого варианта. Они напрямую в мобильноц винде не запустятся, надо через Active Sync.
p.s. прошу прощения за опечтаки, пишу со срамфона.
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь.
Как вытащить переменные из объекта навигатор
Есть код, который определяет разрешение экрана посетителя. for(var prop in screen) < if.
Как установить Navitel на навигатор Explay SRT5?
Привет всем, карты начали сильно тупить, решено было все полностью форматнуть на навигаторе. Сейчас.
Texet ix mini
Здравствуйте подойдет ли крышка чехол от iphone 5c на телефон texet ix-mini?
Не работает wi-fi Texet TB-807A
Добрый день! При включение вай фая появляется надпись «Включение Wi-Fi», весит долго, и больше.
TeXet tm-9720 не включается
Здравствуйте,сегодня у сестры произошла проблема с планшетом texet tm-9720,он не включается. решил.
Источник
Сообщества › DRIVE2 Волгоград › Форум › Нужна помощь по WinCe 6.0
Есть ли у нас те кто шарит в win ce 6,0 собственно хочу реализовать инет на ГУ через блютуз. На ГУ есть выход на 3g модем. Сколько перечитал про такую реализацию модема не догоняю все равно что где и как править. Есть блютуз на scr чипе. Телефон который раздает wi-fi по блютуз. тоталкомандер(с доступом в реестр) Помогите чем могите))) может у кого друзья есть шарящие в этом
Тему завтра вечером удалю.
Подробностей бы побольше, что за ГУ, что за телефон
майфун вот этот www.aliexpress.com/snapshot/6061525182.html телефон ZTE V807 есть port_tool
===PortTool Log v. 1, 0, 0, 9 ===
PortTool execution path : SDMMCNavitelPortTool.exe
CPU : ARM rev.2
Path to navi :
USB : [Async/Flash card/CardReader]UUID in About : [yes/no]Internet : [yes/no]RAM : total: 110 Mb, avail: 81 Mb
UUID : 16 byte: D0 C7 0C 60 3A DE 13 41 — 54 38 58 30 42 44 5F 30 (D0C70C603ADE13415438583042445F30)
Screen : 800×480 16 bit
OS Version : 6
Battery percent : 0
wininet.dll : yes
OEM info : ‘BSP Version: AIVCE6EVB_Rel1.00.5.09’ 72 byte: 42 00 53 00 50 00 20 00 56 00 65 00 72 00 73 00 69 00 6F 00 6E 00 3A 00 20 00 41 00 49 00 56 00 43 00 45 00 36 00 45 00 56 00 42 00 5F 00 52 00 65 00 6C 00 31 00 2E 00 30 00 30 00 2E 00 35 00 2E 00 30 00 39 00 00 00
THUMB : yes
FlashCards
name : ResidentFlash
name : DSK1:
Disk size : 8.48 Mb 8888320 bytes
flashID : none
name : SDMMC
name : DSK2:
Disk size : 3772.50 Mb 3955752960 bytes
flashID : 30 31 37 44 39 44 36 33 00 00 . 30 33
Mapping : AVR Write: 984 KB/s
AVR Read: 238 KB/s
Mapping : Failed
Mapping time : 37 sec, 0 %
GPS:
COM Test : ClearCommError() failed
COM Test : ClearCommError() failed
COM Test : ClearCommError() failed
COM Test : ClearCommError() failed
COM Test : ClearCommError() failed
COM Test : ClearCommError() failed
Port : COM2:
Rate : 38400
String test : Ok
System date/time : (23:26:39, 2014-8-22)
==================
А причем сдесь блютус, телефон то по wi-fi инет раздает и соответственно на ГУ над wi-fi адаптер прикрутить
телефон и по блютуз раздает
А модель блютус адаптера какая? К ГУ он подключается?
блютуз www.dns-shop.ru/catalog/i…ald-bt-hi-speed-100m.html когда вставляю блютуз в усб выскакивает окно. чтото просит ввести. но у меня не получается вывести клаву которая в винде а с внешними JOTKBD.EXE на нее не реагирует. и не выходит на рабочий стол при запуске explorer.exe
Он просит указать имя драйвера для этого устройства, если щелкать по строке ввода, клава все равн не выскакивает?
нет.просто моргает палочка
Он просит указать имя драйвера для этого устройства, если щелкать по строке ввода, клава все равн не выскакивает?
а если закинуть драйвер в винду(имеется диск от блютуз) то куда его пихнуть?
Драйвер должен быть именно для WinCe 6.0, от обычной винды не канает
Я знаю. Вот сижу пытаюсь.пока дрова в папу винда кидаю
Вот прожку качни для того чтоб клаву вызывать u-disk.ru/files/get/z9g5mLiMA2/movewindow.exe запускаешь ее, потом вставляешь адаптер в порт
качнул клава роботат.но какой драйвер куда кинуть.и после перезагрузки они все исчезают пл
Источник
Содержание
- Версия для печати темы
- Нажмите сюда для просмотра этой темы в обычном формате
- Форумы PDA2U.RU _ Создание прошивок _ Редактирование прошивки xDevice Monza
- Автор: ansh 24.3.2009, 15:34
- Автор: Old Kind MadMike 24.3.2009, 15:39
- Автор: ansh 24.3.2009, 15:51
- Автор: ElectricFlash 24.3.2009, 15:55
- Автор: ansh 24.3.2009, 16:07
- Автор: ElectricFlash 24.3.2009, 16:27
- Автор: ansh 24.3.2009, 16:37
- Автор: Old Kind MadMike 24.3.2009, 17:10
- Автор: ansh 24.3.2009, 17:43
- Автор: Old Kind MadMike 24.3.2009, 19:07
- Автор: Angel_Hranitel 24.3.2009, 19:16
- Автор: AGC 24.3.2009, 22:19
- Автор: ansh 25.3.2009, 9:50
- Navitel is not a valid windows ce application
- Navitel is not a valid windows ce application
- Navitel is not a valid windows ce application
- Дистрибутивы
Версия для печати темы
Нажмите сюда для просмотра этой темы в обычном формате
Форумы PDA2U.RU _ Создание прошивок _ Редактирование прошивки xDevice Monza
Автор: ansh 24.3.2009, 15:34
Всем привет!
Извините если не в этом форум..
У меня навигатор xDevice Monza WinCE 5.0
Такая проблема:
‘Navitel’ is not a valid Windows CE application.
И такая ошибка с многими версиями которые я находил в инете.
На эмуляторе запускается
Наверно на навигаторе windaCE урезанная
Вот что интересно.
Мне попался от друга навигатор Acer v200 (WinCE 5.0). Попросил посмотреть можно ли альтернативную оболочку запустить.
И обнаружил, что навител 3.2.5.1089 загружается. Вот теперь думаю как все таки на xDevice Monza запустить навител 3.2.5.1089.
Кто знает в чем причина?
Может папку Windows на Acer v200 скопировать и вставить в папку Windows на xDevice Monza.
Кто знает какой программой можно редактировать файлы прошивки *.IMG
Хочу заменить файлы папки Windows от Acer v200
Автор: Old Kind MadMike 24.3.2009, 15:39
Автор: ansh 24.3.2009, 15:51
А если просто добавить файлы из Acer v200.
Хотя бы попробовать
Какой программой можно img файл подредактировать?
Автор: ElectricFlash 24.3.2009, 15:55
Автор: ansh 24.3.2009, 16:07
Я там все просмотрел но проги для редактирования img файлов не нашел
Автор: ElectricFlash 24.3.2009, 16:27
Автор: ansh 24.3.2009, 16:37
Она не открывает а пишет
Error reading file D:temp111.img
Автор: Old Kind MadMike 24.3.2009, 17:10
Автор: ansh 24.3.2009, 17:43
Конечно знаю.
Если не хотел то не писал.
Автор: Old Kind MadMike 24.3.2009, 19:07
Боюсь, редактирование прошивки тебе может не помочь решить твою проблему.
Вот что я нашел:
Когда запускается программа, появляется диалог с предупреждением, что это «некорректное приложение» («. is not a valid Windows CE application») и программа не запускается. Почему?
Дело в том, что в PDA на базе Windows CE используются процессоры трех разных типов. И программа, разработанная для одного процессора не будет работать под другим. Например, версия для процессора MIPS (Casio Cassiopeia E-105/115/125 и др.) или Hitachi SH3 (HP Jornada 545/548/680/690 и др.) не будет работать на моделях с процессором StrongArm (Compaq iPaq, HP Jornada 720 и др.).
Автор: Angel_Hranitel 24.3.2009, 19:16
Автор: AGC 24.3.2009, 22:19
Автор: ansh 25.3.2009, 9:50
Боюсь, редактирование прошивки тебе может не помочь решить твою проблему.
Вот что я нашел:
У тебя какой-то экзотический проц SiRF Atlas-III, dual-core. Надо искать под него скомпилированный Navitel.
Значит получается что проц. Samsung это «круто»
а я наоборот, выбирал новый SiRF c двумя процессорами.
Источник
Navitel is not a valid windows ce application
Навител Навигатор – система навигации, содержащая самые различные данные:
пробки, информация о камерах наблюдения ГИБДД (SPEEDCAM), трехмерные модели дорожных развязок и значимых строений архитектуры. Содержит огромную базу полезных объектов POI.
Пользователям доступны детализированные карты Украины и Белоруссии с поддержкой сервиса Навител, а также другие страны. Данные о пробках имеются на всех картах.
«Навител. Пробки» Бесплатный сервис. Все пользователи системы Навител Навигатор являются активными участниками определения дорожных заторов и свободных дорог. При включенном сервисе Пробки, данные о скорости передвижения автомобиля собираются и передаются в аналитический центр, где эти сведения обрабатываются и предоставляются пользователям программы в виде обозначенных на карте «пробок»*.
*Пробки.Навител отображаются только на картах, подготовленных ЗАО «ЦНТ».
Поиск — «найдётся ВСЁ»
Поиск по картам осуществляется по принципу «найдётся ВСЁ», с учётом различной специфики адресации (корпуса, строения, владения, двойная адресация и т.д.). Зная точный адрес, пользователи Навител Навигатор легко найдут его на карте города, а предсказательная система поиска (принцип T9) позволит ещё быстрее и удобнее набирать название улиц и городов на телефонной клавиатуре.
Маршруты
Одной из главных функций навигационной системы является построение маршрутов для движения по городу и вне города. В программе Навител Навигатор реализован гибкий алгоритм построения маршрутов, позволяющий пользователю строить маршруты с учетом собственных предпочтений.
«SPEEDCAM»
Не секрет, что на наиболее опасных участках дорог все чаще устанавливаются системы контроля скорости (SPEEDCAM). Для того, чтобы вовремя предупредить водителя о приближении к опасному участку, мы разработали систему заблаговременных оповещений. Благодаря этой технологии, водитель заранее получит информацию о приближении к опасному участку и сможет вовремя снизить скорость движения. База данных точек SPEEDCAM постоянно обновляется и дополняется. Над ней работают, как профессиональные картографы, так и сами пользователи. Информация об опасных местах (железнодорожные переезды, радары, «лежачие полицейские»)
«Навител.SMS»
Бесплатный сервис. Этот сервис позволяет отправлять SMS с координатами вашего местоположения. Получатель SMS может посмотреть место на карте с координатами, переданными в SMS, и проложить к нему маршрут.
«Навител.События»
Новый бесплатный интерактивный сервис, позволяющий пользователям отмечать и видеть на карте навигационного устройства отметки других пользователей о различных событиях следующих типов: ДТП, аварии, дорожные работы, камеры слежения за скоростью и другие предупреждения.
«Динамические POI»
С помощью сервиса динамических POI Вы сможете узнать актуальные цены на бензин на заправках, расписание сеансов в кинотеатрах, подробные данные о ресторанах и кафе, с указанием спецпредложений и телефонов для брони столиков и многое другое.
Доступны различные виды поиска по карте:
• Ближайших объектов в заданном радиусе.
• Населённых пунктов и объектов внутри населённых пунктов (по типу и названию).
• По адресу.
• ПО точкам интереса (POI)
• По путевым точкам.
• По последним найденным объектам.
• По перекресткам.
Источник
Navitel is not a valid windows ce application
Как настроить отключение устройства? :blush:
Получилось :yes2:
+ ущел :thank_you:
Еще не могу понять: :sveta:
Isudar ISD-V001N как загрузить фоновую картинку экрана? Удалось кому это сделать пробую что то никак. Как побороть? :blush:
Получилось :yes2:
+ ущел :thank_you:
Еще не могу понять: :sveta:
Isudar ISD-V001N как загрузить фоновую картинку экрана? Удалось кому это сделать пробую что то никак. Как побороть? :blush:
яркость никак не уменьшишь, только если перепаять светодиоды
Добавлено 30.01.2016, 23:24:
1.Если есть кнопка reset (перезагрузка) нажать ее.
2.Полностью обесточить магнитолу на время, включить, проверить.
3. Обратиться к продавцу, у кого брали( обычно дают гарантию).
По поводу андроида и вообще прошивок лучше тоже к продавану( хотя очень сомневаюсь, чтоб было все так просто с андроидом).
chameleon077, 1. Отключите CapsLock когда пишите.
2. На андроид не перешить.
3. Вам вообще шить не надо, т.к. проблема в тачскрине физическая, а не софтовая. Обычно решается заменой стекла. Изредка проблема в разъемах и пайках. Но опять же не прошивка.
сегодня продавец прислал родную прошивку, сравнил её с прошивкой от аналогичного ГУ, результат сравнения наблюдайте сами. прошивки идентичны. осталось найти файл визуального оформления. слева родная справа не родная. на фото изменения(взяты с сайта ) в интерфейсе
Добавлено 31.01.2016, 12:48:
Источник
Navitel is not a valid windows ce application
Навител Навигатор – система навигации, содержащая самые различные данные:
пробки, информация о камерах наблюдения ГИБДД (SPEEDCAM), трехмерные модели дорожных развязок и значимых строений архитектуры. Содержит огромную базу полезных объектов POI.
Пользователям доступны детализированные карты Украины и Белоруссии с поддержкой сервиса Навител, а также другие страны. Данные о пробках имеются на всех картах.
«Навител. Пробки» Бесплатный сервис. Все пользователи системы Навител Навигатор являются активными участниками определения дорожных заторов и свободных дорог. При включенном сервисе Пробки, данные о скорости передвижения автомобиля собираются и передаются в аналитический центр, где эти сведения обрабатываются и предоставляются пользователям программы в виде обозначенных на карте «пробок»*.
*Пробки.Навител отображаются только на картах, подготовленных ЗАО «ЦНТ».
Поиск — «найдётся ВСЁ»
Поиск по картам осуществляется по принципу «найдётся ВСЁ», с учётом различной специфики адресации (корпуса, строения, владения, двойная адресация и т.д.). Зная точный адрес, пользователи Навител Навигатор легко найдут его на карте города, а предсказательная система поиска (принцип T9) позволит ещё быстрее и удобнее набирать название улиц и городов на телефонной клавиатуре.
Маршруты
Одной из главных функций навигационной системы является построение маршрутов для движения по городу и вне города. В программе Навител Навигатор реализован гибкий алгоритм построения маршрутов, позволяющий пользователю строить маршруты с учетом собственных предпочтений.
«SPEEDCAM»
Не секрет, что на наиболее опасных участках дорог все чаще устанавливаются системы контроля скорости (SPEEDCAM). Для того, чтобы вовремя предупредить водителя о приближении к опасному участку, мы разработали систему заблаговременных оповещений. Благодаря этой технологии, водитель заранее получит информацию о приближении к опасному участку и сможет вовремя снизить скорость движения. База данных точек SPEEDCAM постоянно обновляется и дополняется. Над ней работают, как профессиональные картографы, так и сами пользователи. Информация об опасных местах (железнодорожные переезды, радары, «лежачие полицейские»)
«Навител.SMS»
Бесплатный сервис. Этот сервис позволяет отправлять SMS с координатами вашего местоположения. Получатель SMS может посмотреть место на карте с координатами, переданными в SMS, и проложить к нему маршрут.
«Навител.События»
Новый бесплатный интерактивный сервис, позволяющий пользователям отмечать и видеть на карте навигационного устройства отметки других пользователей о различных событиях следующих типов: ДТП, аварии, дорожные работы, камеры слежения за скоростью и другие предупреждения.
«Динамические POI»
С помощью сервиса динамических POI Вы сможете узнать актуальные цены на бензин на заправках, расписание сеансов в кинотеатрах, подробные данные о ресторанах и кафе, с указанием спецпредложений и телефонов для брони столиков и многое другое.
Доступны различные виды поиска по карте:
• Ближайших объектов в заданном радиусе.
• Населённых пунктов и объектов внутри населённых пунктов (по типу и названию).
• По адресу.
• ПО точкам интереса (POI)
• По путевым точкам.
• По последним найденным объектам.
• По перекресткам.
Источник
Дистрибутивы
При установке/обновлении программы следуйте инструкциям.
Navitel Navigator Update Center – программа для автоматической установки обновлений программы и карт (только для ПК под управлением Windows Vista или выше).
Ей следует пользоваться только для обновления работающей программы. Если программа не запускается на устройстве или была удалена — восстановите программу вручную по инструкции.
Для обновления необходимо загрузить программу Navitel Navigator Update Center на ПК и следовать шагам, описанным в инструкции по ее использованию.
Скачать Navitel Navigator Updater на ПК (Windows OS), EXE
Скачать Navitel Navigator Updater на ПК (macOS), PKG
Скачать инструкцию по использованию Navitel Navigator Updater, PDF
Сборки программы Навител Навигатор для Windows CE:
Не предназначены для навигаторов, выпущенных под собственной торговой маркой NAVITEL® с 2016 года. Для восстановления ПО на этих навигаторах следуйте инструкции.
Установка программы возможна только при помощи встроенного магазина приложений.
Версия для мобильных устройств на OC Android:
Скачать APK.
Источник
- Remove From My Forums
-
Question
-
Hi all,
I have Created a Windows CE 5.0 application(Visual Studio 2005, Visual C#,
SmartDevice ->Windows CE 5.0).Can any one help me that how to prepare a valid setup for Windows CE installer?
Thanks in advance,
Kumaran A
Answers
-
Are you trying to run MSI on device? That won’t work, MSI is for desktop only. If you need device side installation and don’t need desktop side installer, just use CAB file.
-
Dear Kumaran,
Just as your another questionin our forum, Ilya has answered it. On CE-based device, .CAB is the only installer package supported, while .msi is used on desktop installation.
You can create a valid setup .CAB file following the Creating device .cab files with visual studio section in this MSDN document: http://msdn2.microsoft.com/en-us/library/aa446504.aspx
Regards,
Zero Dai — MSFT
-
Dear Kumaran,
«Finally i have coppied the Setup.exe into the device(Windows CE 5.0).«, this is the root cause because setup.exe cannot run on Windows CE-based device. You need to copy .cab file into your device.
After copying .cab file into device, just clicking it will start up install progress. Thus, we don’t need ActiveSync/ Remote File Viewer.
Thanks!
Zero Dai — MSFT
│
English (en) │
русский (ru) │
TIPS / FAQ
The error message: SomeProject is not a valid Windows CE application
This is a generic error message from Windows CE which can be caused by one of the following reasons:
- The executable was compiled for a different Operating System, for example desktop Windows
- The executable was compiled for a different architecture then the device has
- One of the DLLs which the device requires could not be found. Usually this is either a database dll or aygshell.dll. See further in this FAQ about those
- The binary is too big and doesn’t fit the available RAM
Unfortunately Windows CE does not give specific error messages in this case, so one should simply test all hypotheses.
Application runs on Windows Device Emulator, but not on physical device
When running a compiled application on the Windows Device emulator, it works fine, but
running it on the physical device you get the error:
Cannot find ‘project1’ (or one of its components).
Possible causes are:
Missing aygshell.dll
This error is usually indicative of missing DLLs on the target device, especially if you have a very simple «Hello World» type of application. In many instances, it is related to the aygshell.dll file, which is not present on many industrial-type devices running a bare Windows CE version — normally devices running «Windows Mobile» versions of Windows CE will not have this problem.
This problem has been reported on Motorolla/Symbol MC9000 and MC1000 barcode scanners running both Windows CE 4.2 and 5.
To resolve, do a search for «aygshells.zip» in a search engine — there are some «Dummy» aygshell.dll files available that can be copied to the device to overcome this problem.
Here is a list of forum topics where people had trouble with aygshell.dll and found a solution:
- http://forum.lazarus.freepascal.org/index.php/topic,7161.0.html
- http://forum.lazarus.freepascal.org/index.php/topic,5524.0.html
And here a number of DLLs to substitute missing ones and make applications work:
- http://hpcmonex.net/izemize.htm
Wrong architecture
Maybe your device runs a x86 or mips processor instead of the more common ARM.
Missing functions due to Operating System version
Possibly your operating system is very old and doesn’t have some functions required by Lazarus.
Get Device ID
Get and ID of your device useful for protect your application.
This work only on Windows Mobile 5.0 and Windows CE 5.1
function GetDeviceUniqueID(AppData:LPCWSTR; cbApplictionData:Integer; dwDeviceIDVersion:Integer; var deviceIDOuput; var pcbDeviceIDOutput:DWORD):Integer; external 'coredll.dll' name 'GetDeviceUniqueID'; function GetDeviceID: string; var AppData: array[0..19] of WideChar; DeviceID : array[0..19] of Byte; Count: DWORD; s: string; Res, i:Integer; begin //not sure about Unicode AppData := Utf8Decode('MY_SIG');//any string you like Count := SizeOf(DeviceID); FillChar(DeviceID, Count, #0); Res := GetDeviceUniqueID(AppData, SizeOF(AppData), 1, DeviceID, Count); if Res = 0 then begin Result := ''; for i := 0 to Count -1 do begin if (i > 0) and ((i mod 2) = 0) then Result := Result + '-'; //add space make the string wrap in label Result := Result + IntToHex(DeviceID[i], 2); end; end else Result := '';//error accord // you can MD5 it with your string // Result := MD5Print(MD5Buffer(DeviceID, Count)); end;
Reference pages:
http://msdn2.microsoft.com/en-us/library/ms893522.aspx
http://peterfoot.net/RetrieveIMEIThroughTAPI.aspx
http://blogs.msdn.com/jehance/archive/2004/07/12/181067.aspx
Get Device Name
Easy to get it from registry
function GetDeviceName: string; var aReg:TRegistry; begin aReg := TRegistry.Create(KEY_READ); try aReg.RootKey := HKEY_LOCAL_MACHINE; aReg.OpenKey('Ident', False); if aReg.ValueExists('Name') then Result := aReg.ReadString('Name') else Result := 'GUEST'; finally aReg.Free; end; end;
Show/Hide SIP Panel
SIP: Software Input Panel button, it is a keyboard come with WinCE for touch screen devices.
const //some of consts already found in Windows SIPF_OFF = $00000000; SIPF_ON = $00000001; SIPF_DOCKED = $00000002; SIPF_LOCKED = $00000004; function SipShowIM(IPStatus:DWORD):Integer; stdcall; external 'coredll.dll' name 'SipShowIM'; begin SipShowIM(SIPF_ON) end;
Microsoft documentation for the SipShowIM routine: [1]
Wakeup Device/ Power On
If you like to make alarm application this function make your device power on, you need also make some sounds with it.
function SetSystemPowerState(psState: PWideChar; StateFlags: DWORD; Options : DWORD):DWORD; stdcall; external 'coredll.dll' name 'SetSystemPowerState'; SetSystemPowerState(nil, POWER_STATE_ON, POWER_FORCE); Application.BringToFront; ShowWindow(Handle, SW_SHOW);
LED / Vibrator
You can turn on/off then LED/vibrator in, your device, it worked for me but not as like as i want, may be it need some improvements.
const NLED_COUNT_INFO_ID = 0; NLED_SUPPORTS_INFO_ID = 1; NLED_SETTINGS_INFO_ID = 2; type TNLED_COUNT_INFO = record cLeds: DWORD; end; TNLED_SETTINGS_INFO = record LedNum: DWORD; // LED number, 0 is first LED OffOnBlink: Integer; // 0 = off, 1 = on, 2 = blink TotalCycleTime: DWORD; // total cycle time of a blink in microseconds OnTime: DWORD; // on time of a cycle in microseconds OffTime: DWORD; // off time of a cycle in microseconds MetaCycleOn: Integer; // number of on blink cycles MetaCycleOff: Integer; // number of off blink cycles end; function NLedGetDeviceInfo(nID:Integer; var pOutput): WordBool; stdcall; external 'coredll.dll' name 'NLedGetDeviceInfo'; function NLedSetDevice(nID: Integer; var pOutput): WordBool; stdcall; external 'coredll.dll' name 'NLedSetDevice';
Examples
function TForm1.MakeLEDOn; var Countnfo: TNLED_COUNT_INFO; Info:TNLED_SETTINGS_INFO; begin NLedGetDeviceInfo(NLED_COUNT_INFO_ID, Countnfo); //with Countnfo.cLeds you can check if your device support LEDs; Info.LedNum := 0; //<--- First LED Info.OffOnBlink := 1; Info.OffTime := 0; Info.MetaCycleOff:= 50; Info.MetaCycleOn:= 50; Info.TotalCycleTime := 100; NLedSetDevice(NLED_SETTINGS_INFO_ID, Info); end; procedure TForm1.MakeLedOff; var Info:TNLED_SETTINGS_INFO; begin Info.LedNum := 0; Info.OffOnBlink := 0; NLedSetDevice(NLED_SETTINGS_INFO_ID, Info); end;
Vibrator it is the last LED in your device, if you can write some music you can now make your phone dance.
function TForm1.MakeVibratorOn; var Countnfo: TNLED_COUNT_INFO; Info:TNLED_SETTINGS_INFO; begin NLedGetDeviceInfo(NLED_COUNT_INFO_ID, Countnfo); Info.LedNum := Countnfo.cLeds -1; Info.OffOnBlink := 1; NLedSetDevice(NLED_SETTINGS_INFO_ID, Info); end; function TForm1.MakeVibratorOff; var Countnfo: TNLED_COUNT_INFO; Info:TNLED_SETTINGS_INFO; begin NLedGetDeviceInfo(NLED_COUNT_INFO_ID, Countnfo); Info.LedNum := Countnfo.cLeds -1; Info.OffOnBlink := 0; NLedSetDevice(NLED_SETTINGS_INFO_ID, Info); end;
Getting Battery Status
For more information : MSDN GetSystemPowerStatusEx
//by Philip Heinisch type TBAT_INFO = record ACLineStatus:byte; //0=Offline, 1=Online, 2=Backup Power,3= Unknown status BatteryFlag:byte; //0=High, 1=Low, 2=Critical, 3=Charging, 4=No Battery, 5=Unknown BatteryLifePercent:byte; //0..100 Battery Life in Percent Reserved1:byte; //always 0 BatteryLifeTime: DWORD; //remaining time in seconds BatteryFullLifeTime: DWORD; //max usage time in seconds Reserved2:byte; //always 0 BackupBatteryFlag:byte; //0=High, 1=Low, 2=Critical, 3=Charging, 4=No Battery, 5=Unknown BackupBatteryLifePercent:byte; //0..100 Backup Battery Life in Percent Reserved3:byte; //always 0 BackupBatteryLifeTime: DWORD; //remaining time in seconds BackupBatteryFullLifeTime: DWORD; //max usage time in seconds end; function GetSystemPowerStatusEx(var pOutput;fUpdate:boolean ): WordBool; stdcall; external 'coredll.dll' name 'GetSystemPowerStatusEx'; //Usage Example: function getbat : byte; var batinfo: TBAT_INFO; begin if GetSystemPowerStatusEx(batinfo,True) then getbat:=batinfo.BatteryLifePercent else getbat:=255; //255=Function Call Failed end;
Prevent Phone from Entering in Standby Mode
Inside a timer event add the following line of code:
keybd_event(VK_F24, 0, KEYEVENTF_KEYUP or KEYEVENTF_SILENT, 0);
Installation of an app build with Lazarus on a WinCE device
The simplest way to install an app is to simply copy the executable and other files it needs, but a proper installer can be made with the instructions bellow:
1) one needs a inf file (maybe Lazarus could generate one on his own some time…). A good brief on how to create one can be found here: http://web.archive.org/web/20080205125046/http://www.sundialsoft.freeserve.co.uk/cabinfo.htm (original website is dead)
I used the following (only for ARM prozessors):
[Version] ; Required section Signature = "$Windows NT$" Provider = "bilettiX" CESignature = "$Windows CE$" [CEDevice.ARM] ProcessorType = 2577 ; processor value for ARM [DefaultInstall.ARM] CopyFiles = Files.ARM [Files.ARM] bilettixscan.exe,,,0 sqlite3.dll,,,0 [DefaultInstall] ; Required section CEShortcuts = Shortcuts.All AddReg = RegData [SourceDisksNames] ; Required section 1 = ,"common files",,C:Dokumente und EinstellungenxyzDev;A existing folder on your HD, where the common files to be copied are found (not processor specific) [SourceDisksNames.ARM] 2 = ,"ARM files",,arm;folder below the common files folder above for ARM specific files [SourceDisksFiles] ; Required section, application binary, files to copy bilettixscan.EXE = 2 sqlite3.DLL = 2 bilettix.db = 2 [DestinationDirs] ; Required section Shortcuts.All = 0,%CE11% DefaultDestDir = 0,%InstallDir% [CEStrings] ; Required section AppName = Ticket Validator InstallDir = %CE1%%AppName% [Shortcuts.All] %AppName%,0,bilettixscan.exe [RegData] HKLM,Softwarebilettix%AppName%,MajorVersion,0x00010001,1 HKLM,Softwarebilettix%AppName%,MinorVersion,0x00010001,0 HKLM,Softwarebilettix%AppName%,Installpath,0x00000000,%InstallDir%
2) now create a cab file out of your files using this inf file by using cabwiz.exe from the platform SDK of MS
3) generate a install.ini — my looks like this (icon-section is nor really needed…):
[CEAppManager] Version = 1.0 Component = Ticket Validator [Ticket Validator] Description = bilettiX Ticket Validator Uninstall = bilettiXscan DeviceFile = bilettiXscan.exe IconFile = bilettix.ico IconIndex = 0 CabFiles = bilettiXscan.ARM.CAB
4) download EzSetup for free from here: http://www.spbsoftwarehouse.com/products/ezsetup/index.html
5) generate the installer using the ini-file, a readme and a eula file you generated as txt files
6) done
be sure to have ActiveSync installed. double-click the installer and have fun
Debugging with a log file
Windows CE doesn’t ship with a command line, so people used to command-line log debugging may have trouble. In some versions of Windows CE it is possible to install a command-line, but another solution for this is using the logging routines from the LCLProc unit in Lazarus to write log information to a file in the same directory as the executable and then read it, as in the code bellow.
uses LCLProc; DbgAppendToFile(ExtractFilePath(ParamStr(0)) + '1.log', 'Some text');
The unit LCLProc also contains other cool routines for debugging, like GetStackTrace, which returns a string with the stack trace.
Current Directory and Placement of DLLs
Windows CE does not have the concept of current directory, so paths to files should always be complete and never relative to the executable path.
As one exception to this rule, DLLs can be placed in the same folder as the executable and they will be loaded from there. Another suitable location for DLLs is the Windows directory.
Going Full Screen
Making an application Fullscreen requires removing both the bottom menu bar and the top taskbar
Removing the top taskbar
This code should remove the taskbar by passing False to the parameter of this function:
Note that if you don’t provide a quit button it will be then impossible to close the application and that if the application crashes, the taskbar will not be restored automatically. Rebooting the device will restore it.
uses Windows, aygshell; procedure TForm1.RemoveTaskbar(AFullScreen: Boolean); const MENU_HEIGHT = 26; var rc: TRect; begin if AFullScreen then begin GetWindowRect(Handle, @rc); SHFullScreen(Handle, SHFS_HIDETASKBAR); MoveWindow(Handle, rc.left, rc.top-MENU_HEIGHT, rc.right, rc.bottom+MENU_HEIGHT, TRUE); end else begin GetWindowRect(Handle, @rc); SHFullScreen(Handle, SHFS_SHOWTASKBAR); MoveWindow(Handle, rc.left, rc.top+MENU_HEIGHT, rc.right, rc.bottom-MENU_HEIGHT, TRUE); end; end;
Removing the Virtual Keyboard
One can remove the keyboard with SHFS_HIDESIPBUTTON, like this:
uses Windows, aygshell; procedure TForm1.RemoveVirtualKeyboard(ARemove: Boolean); begin if ARemove then SHFullScreen(Handle, SHFS_HIDESIPBUTTON) else SHFullScreen(Handle, SHFS_SHOWSIPBUTTON); end;
Alternative way with SHFullScreen
This is a different solution for going Fullscreen. Make sure that you have included the windows unit to your program (uses windows;) In the INTERFACE section of your program paste the following code:
const //ShFullScreen SHFS_SHOWTASKBAR = $01; SHFS_HIDETASKBAR = $02; SHFS_SHOWSIPBUTTON = $04; SHFS_HIDESIPBUTTON = $08; SHFS_SHOWSTARTICON = $10; SHFS_HIDESTARTICON = $20; function SHFullScreen(hwndRequester: hWnd; dwState: DWord): WINBOOL; stdcall; external 'aygshell.dll' name 'SHFullScreen';
Then in your Forms, OnCreate or OnShow (better on the OnShow) event add the following code:
procedure TForm1.FormCreate(Sender: TObject); var Rect:TRect; hTaskBar:THandle; menuh:Integer; begin hTaskBar := FindWindow('HHTaskBar',''); GetWindowRect(hTaskBar,rect); menuh:=Rect.Bottom-Rect.Top; GetWindowRect(Form1.Handle,Rect); SHFullScreen(Form1.Handle,SHFS_HIDETASKBAR or SHFS_HIDESTARTICON or SHFS_HIDESIPBUTTON); movewindow(Form1.Handle,Rect.Left,Rect.Top-menuh,Rect.Right,Rect.Bottom+menuh,True); end;
Rotating the Screen
There is a Microsoft tutorial with code in C here about this: http://msdn.microsoft.com/en-us/library/ms812499.aspx
Bellow is code equivalent to that tutorial, but in Pascal.
Getting the Current Display Settings
To obtain the current display settings, pass the ENUM_CURRENT_SETTINGS constant in the iModeNum parameter to the EnumDisplaySettings API, as illustrated by the following Pascal code.
var dm: DEVMODE; begin FillChar(dm, #0, SizeOf(dm)); dm.dmSize := sizeof(dm); if 0 <> EnumDisplaySettings(0, ENUM_CURRENT_SETTINGS, @dm) then begin // inspect the DEVMODE structure to obtain details // about the display settings such as // - Orientation // - Width and Height // - Frequency // - etc. end;
Enumerating All Supported Display Settings
To enumerate all display settings supported by the current display device pass zero in the iModeNum parameter to the EnumDisplaySettings API and then continue calling it with incremented iModeNum values until the function returns zero, as shown in the following Pascal code.
var index: Integer = 0; dm: DEVMODE; begin FillChar(dm, #0, SizeOf(dm)); dm.dmSize := sizeof(dm); while 0 <> EnumDisplaySettings(NULL, index, @dm) do begin // inspect the DEVMODE structure to obtain details // about the display settings such as // - Orientation // - Width and Height // - Frequency // - etc. Inc(Index) end;
Changing Display Settings
To change the display settings pass in a pointer to a valid DEVMODE structure to the ChangeDisplaySettings API. The following Pascal code demonstrates how to rotate the screen orientation clockwise by 90 degrees. Note that this code will only work with devices that support the respective display settings. It is important to obey the return value of the ChangeDisplaySettings API as some operations may require the computer to be restarted in order for the graphics mode to work.
var dm: DEVMODE; dwTemp: Cardinal; lRet: Integer; begin FillChar(dm, #0, SizeOf(dm)); dm.dmSize := sizeof(dm); if (0 <> EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, @dm)) do begin // swap height and width dwTemp := dm.dmPelsHeight; dm.dmPelsHeight:= dm.dmPelsWidth; dm.dmPelsWidth := dwTemp; // determine new orientaion case (dm.dmDisplayOrientation) of DMDO_DEFAULT: dm.dmDisplayOrientation := DMDO_270; DMDO_270: dm.dmDisplayOrientation := DMDO_180; DMDO_180: dm.dmDisplayOrientation := DMDO_90; DMDO_90: dm.dmDisplayOrientation := DMDO_DEFAULT; else // unknown orientation value // add exception handling here end; lRet := ChangeDisplaySettings(@dm, 0); if (DISP_CHANGE_SUCCESSFUL <> lRet) then begin // add exception handling here end; end;
Pre-compiled Windows CE Libraries/Utils
Pre-compiled sqlite dll
You can find sqlite3.dll pre-compiled for Windows CE here.
And newer ones can be found here: http://www.parmaja.com/downloads/sqlite3/
OpenSSL for Windows CE
It is pretty hard to find a good binary OpenSSL library for Windows CE these days, so good versions which dont depend on any wierd, unusual library, are hosted here:
https://sourceforge.net/projects/p-tools/files/OpenSSL%20for%20Windows%20CE/
They were obtained from here: http://q3.snak.org/en/old.html and hosted on the link above in case this page goes offline
Other Interfaces
- Lazarus known issues (things that will never be fixed) — A list of interface compatibility issues
- Win32/64 Interface — The Windows API (formerly Win32 API) interface for Windows 95/98/Me/2000/XP/Vista/10, but not CE
- Windows CE Interface — For Pocket PC and Smartphones
- Carbon Interface — The Carbon 32 bit interface for macOS (deprecated; removed from macOS 10.15)
- Cocoa Interface — The Cocoa 64 bit interface for macOS
- Qt Interface — The Qt4 interface for Unixes, macOS, Windows, and Linux-based PDAs
- Qt5 Interface — The Qt5 interface for Unixes, macOS, Windows, and Linux-based PDAs
- GTK1 Interface — The gtk1 interface for Unixes, macOS (X11), Windows
- GTK2 Interface — The gtk2 interface for Unixes, macOS (X11), Windows
- GTK3 Interface — The gtk3 interface for Unixes, macOS (X11), Windows
- fpGUI Interface — Based on the fpGUI library, which is a cross-platform toolkit completely written in Object Pascal
- Custom Drawn Interface — A cross-platform LCL backend written completely in Object Pascal inside Lazarus. The Lazarus interface to Android.
Platform specific Tips
- Android Programming — For Android smartphones and tablets
- iPhone/iPod development — About using Objective Pascal to develop iOS applications
- FreeBSD Programming Tips — FreeBSD programming tips
- Linux Programming Tips — How to execute particular programming tasks in Linux
- macOS Programming Tips — Lazarus tips, useful tools, Unix commands, and more…
- WinCE Programming Tips — Using the telephone API, sending SMSes, and more…
- Windows Programming Tips — Desktop Windows programming tips
Interface Development Articles
- Carbon interface internals — If you want to help improving the Carbon interface
- Windows CE Development Notes — For Pocket PC and Smartphones
- Adding a new interface — How to add a new widget set interface
- LCL Defines — Choosing the right options to recompile LCL
- LCL Internals — Some info about the inner workings of the LCL
- Cocoa Internals — Some info about the inner workings of the Cocoa widgetset
See also
Here are some links that might be useful for creating Windows CE interfaces.
- Windows CE Development Notes
- WinCE port of KOL GUI library