Приложения .NET иногда не работают в Windows CE - PullRequest
0 голосов
/ 11 января 2010

Я пишу приложения для Windowe ME и CE в C # .NET 2.0. Иногда у меня проблемы, потому что приложения не работают на некоторых навигационных устройствах. На Windowe ME это не проблема, потому что .NET может быть устанавливается из кабины, но на большинстве устройств Windows CE это невозможно, потому что после мягкого сброса все изменения исчезают. Я узнал, что в самых сложных случаях Хорошее решение - поставить все dll-ы, принадлежащие .NET установка кабины в папку, где находится приложение работает и все работает хорошо. Однако есть некоторые устройства, например Navroad NR460 (Windows CE 5.0), на которых нет ни одного из .NET приложения работают (это смешно, потому что предыдущий и следующий версия этой навигации работает хорошо). Я не нашла на этом устройстве программа cgacutil.exe. Можно ли заставить устройство запускать любое приложение .NET без установить Windows снова? Что я должен попытаться сделать, чтобы проверить, работает ли .NET приложения возможны? Какие условия должны быть выполнены, чтобы запустить простейшее приложение написано даже в .NET 1.0

Ответы [ 2 ]

0 голосов
/ 24 февраля 2017

Недавно у меня было устройство Windows CE 5, которое не запускало мои приложения Standard SDK 500, скомпилированные с VS 2008. Основной причиной было то, что устройство работает с древней Windows CE 5.00, тогда как Visual Studio компилируется с номером Major / Minor Version 5.01 (так называемый номер версии подсистемы). После того, как я изменил параметр Командная строка компоновщика на подсистему: 5.00, то же самое приложение могло работать на этом устройстве. Но это все для приложений C / C ++.

Файлы Cab также могут быть ограничены для установки только для версий платформы между нижним и верхним пределом. Например, требуется как минимум версия 5.01 и максимум 5.99. Это не будет работать ни в Windows CE 5.00, ни в Windows CE 6.

Еще одна вещь, касающаяся сред выполнения, заключается в том, что они написаны для архитектуры процессора, в основном ARM / XScale. Но есть устройства с Windows CE 5, которые работают на x86 или других процессорах. Файлы Cab также могут быть ограничены для запуска только на определенных типах процессоров, поэтому вы не можете установить кабину для Arm на устройстве с процессором x86 или sh4.

0 голосов
/ 11 января 2010

Если cgacutil.exe отсутствует на устройстве, на нем не установлен .NET CF. Кабина Windows CE .NET CF 2.0 на моем компьютере находится здесь: C: \ Program Files \ Microsoft.NET \ SDK \ CompactFramework \ v2.0 \ WindowsCE \ wce500 \ armv4i \ NETCFv2.wce5.armv4i.cab

Чтобы прочитать версию .NET CF на вашем устройстве, вы можете использовать этот раздел реестра: [HKEY_LOCAL_MACHINE \ Software \ Microsoft.NETCompactFramework]

Я не уверен, существует ли он, если на вашем устройстве не установлен .NET CF. Официально, частная установка .NET CF не будет работать, но в некоторых случаях это удивительно работает .. Хотя я бы не стал полагаться на это.

...