Программирование КПК и смартфонов на .NET Compact Framework - Александр Климов
Шрифт:
Интервал:
Закладка:
Распространение приложений
Даже если вы написали очень полезную программу, она не сможет обрести всемирную известность, пока вы держите ее на своем компьютере. Нужно все же распространить программу и, если она не бесплатная, то и немного заработать на отпуск. Программы для настольных компьютеров распространять довольно просто. Нужно лишь создать специальный проект для создания установочного пакета, который сгенерирует специальный файл установки Microsoft Installer (MSI). К сожалению, для мобильных устройств процесс создания установочных файлов немного отличается. В процессе распространения программы участвуют три составляющие: настольный компьютер, программа синхронизации Microsoft ActiveSync и программа wceload.exe для извлечения файлов из cab-файлов.
Для пользователя процесс установки программы не сильно отличается от привычной схемы. Сначала он скачивает программу или находит ее на компакт-диске. Затем запускает установочный msi-файл. Программа Microsoft Installer с помощью специального мастера установки помогает пользователю установить программу с нужными настройками. После этого программа считается установленной, и пользователь может запускать ее.
Создание cab-файла
Прежде чем установочный пакет попадет в руки пользователя, нужно хорошенько поработать над его созданием. Устройства под управлением Windows Mobile не могут напрямую работать с файлами .msi. Вместо этого используются кабинетные файлы с расширением .cab. Таким образом, задача программиста заключается в том, чтобы составить список команд для программы синхронизации ActiveSync, которые позволят скопировать cab-файлы на устройство с учетом необходимых установок. Для создания удобного установочного пакета с интуитивно понятным интерфейсом вам необходимо выполнить нехитрую последовательность действий.
1. Создать cab-файл для устройства.
2. Добавить в cab-файл дополнительные файлы, используемые программой, например изображения или файлы с данными
3. Добавить в cab-файл инструкции для записи в реестр.
4. Зарегистрировать cab-файл с помощью ActiveSync, чтобы пользователь мог установить приложение с настольного компьютера.
5. Написать код для различных дополнительных возможностей, которые будут использоваться установочным пакетом во время установки или деинсталляции.
6. Упаковать все необходимые файлы в один специальный файл установки с расширением .msi.
Вы, вероятно, знаете, что кабинетный файл является специальным файлом упаковки и компрессии, с помощью которого можно сжимать файлы, что приведет к уменьшению их размеров. Также в этом файле могут содержаться инструкции для внесения изменений в реестр системы. За обработку cab-файлов на устройстве отвечает утилита wceload.exe, входящая в состав Windows Mobile.
Создание проекта
Приступим к разработке проекта для создания установочного пакета. Прежде всего нужно запустить уже существующий проект, который планируется подготовить для распространения. В качестве примера будет использоваться проект SmallNotepad. Затем нужно выполнить команду меню File►Add►New Project. В открывшемся диалоговом окне надо перейти в раздел Other Project Types, выбрать тип Smart Device Cab Project и задать имя нового проекта DeployNotepadCab (рис. 7.7).
Рис. 7.7. Выбор нового проекта для распространения приложения
В окне свойств надо задать значения свойств Manufacturer и ProductName. Другие свойства позволяют задать минимальные и максимальные требования к операционным системам, в которых может быть запущена ваша программа.
Затем надо запустить редактор File System Editor, нажав соответствующую кнопку в окне свойств. Нужно выбрать пункт Application Folder и в контекстном меню выбрать пункт Add►Project Output (рис. 7.8).
Рис. 7.8. Выбор параметров проекта
В результате этого будет открыто диалоговое окно Add Project Output Group (рис. 7.9).
Рис. 7.9. Диалоговое окно Add Project Output Group
С помощью данного окна можно выбрать различные типы файлов, необходимые для программы, такие как файлы документации или, например, локализированные ресурсы. Нужно выбрать пункт Primary Output и нажать кнопке OK. В правой части окна следует щелкнуть правой кнопкой мыши на единственном пункте Primary output from SmallNotepad_CS и в контекстном меню выбрать пункт Create Shortcut to Primary output from SmallNotepad_CS (рис. 7.10). Это позволит включить пиктограмму в список файлов для распространения.
Рис. 7.10. Создание пиктограммы приложения
Созданный ярлык надо переместить мышью в папку Program Files Folder. Теперь можно приступать к созданию установочного файла.
В меню надо выполнить пункт Build►Build DeployNotepadCab. После этого среда разработки создаст специальный файл с расширением .CAB. При помощи файлового менеджера его нужно найти и запомнить его расположение.
Теперь надо установить созданный файл на эмуляторе. Для этого выполняется команда меню Tools►Device Emulator Manager. В диалоговом окне надо выбрать эмулятор. Например, Pocket PC 2003 SE Emulator. В этом же окне следует выполнить команду меню Actions►Connect. При этом выбранный эмулятор будет активирован.
В окне эмулятора надо выполнить команду меню File►Configure. После этого откроется окно настроек эмулятора, в котором следует перейти в раздел Shared Folder. В этом разделе надо выбрать папку, в которой находится созданный cab-файл (рис. 7.11). Эмулятор будет считать, что данная папка является карточкой памяти.
Рис. 7.11. Активация и настройка эмулятора
Если открыть в эмуляторе программу File Explorer (Start►Programs►File Explorer) и найти папку Storage Card, то в ней можно будет увидеть ранее созданные установочные файлы.
Нужно выбрать файл DeployNotepadCab и запустить его. В результате начнется процесс установки программы на устройство. При установке автоматически будет создан файл деинсталляции. Он поможет корректно удалить приложение. Для этого в окне эмулятора надо выполнить команду меню Start►Settings►System►Remove Program. В списке установленных программ надо найти ранее установленное приложение, выделить его и нажать кнопку Remove (рис. 7.12).
Рис. 7.12. Деинсталляция приложения
В результате этого действия будет запущен мастер удаления программы, который корректно удалит все файлы, относящиеся к приложению. На этом изучение примера создания установочного файла можно считать законченным.
Дополнительные материалы
На сайте MSDN есть очень подробная статья «Deploying .NET Compact Framework 2.0 Applications with .cab and .msi Files», в которой приведены дополнительные сведения о создании и распространении установочных файлов. Стоит ознакомиться с данным материалом, чтобы использовать все возможности установочных файлов.
Глава 8
Эмулятор и другие утилиты
Программы для отладки приложений
В этой главе речь пойдет об утилитах, необходимых для успешного программирования приложений для мобильных устройств. Пожалуй, самой главной из этих утилит является программный эмулятор Device Emulator. Кроме того, в состав Visual Studio 2005 входит несколько вспомогательных утилит, позволяющих выполнять различные операции на реальном устройстве или на эмуляторе.
Эмулятор
При создании приложений для КПК и смартфонов необходимо проверять работу написанной программы на устройстве, которое сильно отличается от настольного компьютера. Когда вы пишете стандартное Windows-приложение, вы можете сразу увидеть его работу, запустив соответствующий исполняемый файл. Написав программу для мобильных устройств, необходимо протестировать ее на соответствующем устройстве, так как ваш настольный компьютер здесь уже не поможет. Но даже если разработчик еще не приобрел карманный компьютер или смартфон под управлением Windows Mobile, то он все равно может тестировать свои приложения. В этом случае надо проверять их работоспособность на специальных эмуляторах.
Следует отметить, что в некоторых случаях эмулятор все-таки не сможет выполнить эту задачу. Например, он не поможет проверить работу кода, который использует возможности инфракрасной связи. И, тем не менее, эмулятор является очень мощным и удобным инструментом для отладки приложений.
Надо сказать, что качество и возможности эмулятора постоянно улучшаются и совершенствуются. Разработчики, которые программировали еще на eMbedded Visual Basic и Visual Studio 2003, без сомнения, обратят внимание на возросшую скорость работы эмулятора, его надежность и удобство. Эмулятор, поставляемый с Visual Studio 2005, имеет улучшенную поддержку общих папок, программы синхронизации ActiveSync и последовательных портов. Также эмулятор поддерживает альбомную и книжную ориентацию. Раньше об этом приходилось только мечтать. Особенно приятно отметить тот факт, что можно дополнительно скачать локализованные версии эмуляторов. Например, все примеры для Windows Mobile 5.0 тестировались исключительно на русской версии эмулятора.