#java #c #windows #windows-mobile
#java — язык #c #Windows #windows-mobile #java #c
Вопрос:
У меня есть Java-приложение, которое работает на устройстве Windows Mobile. При запуске приложение связывается с нашим сервером, чтобы узнать, нуждаются ли какие-либо файлы в обновлении, и загружает их, если да. Если какой-либо из файлов является DLL, его необходимо сохранить во временном каталоге, и устройство перезагружается, поскольку они могут использоваться в данный момент. При запуске приложения оно считывает XML-файл, в котором перечислены все временные файлы и куда их нужно поместить, и копирует их на место.
Появилось новое требование, которое включает также обновление файлов JVM как часть этого процесса. Поскольку код, который выполняет копирование, выполняется на JVM, нет никакого способа сделать это, поскольку файлы всегда будут использоваться. Итак, мы рассматриваем возможность написания чего-либо в машинном коде для выполнения этого процесса копирования.
Прежде чем мы начнем, мне просто интересно, знает ли кто-нибудь об уже существующем приложении или методе, который делает это (кто-то предложил запись в реестре, которая сообщает устройству копировать файлы при запуске, например). В основном требование состоит в том, чтобы прочитать какой-то конфигурационный файл, который детализирует местоположение исходного файла, а затем пункт назначения выполняет копирование. Есть какие-нибудь идеи, прежде чем я изобрету велосипед, написав приложение самостоятельно?
Ответ №1:
Если ваши целевые телефоны являются портативными сканерами штрих-кодов (Symbol, Intermec и т.д.), У них уже есть платформа для этого. У меня нет всех подробностей, но я знаю из предыдущих проектов, что у них есть «защищенная» ячейка памяти, которая позволяет приложению существенно перенастраивать / копировать себя с жестких загрузок и подобных проблем. Возможно, стоит посмотреть, сработает ли что-нибудь из этого на ваших существующих целях.
Сканеры используют либо Windows CE, либо Windows Mobile.
Комментарии:
1. Целевыми устройствами являются стандартные КПК под управлением Windows Mobile. (Например, HTC HD2, HTC P6500)
Ответ №2:
В отсутствие другого ответа я написал простое приложение для этого и поместил его в каталог автозагрузки. Было довольно просто, просто не хотелось изобретать велосипед.
Ответ №3:
Вы также можете переименовать свой запущенный исполняемый файл самим запущенным приложением. После этого вы можете скопировать файл в каталог и просто перезапустить свое приложение.