kvv's home

Форма входа

Категории раздела

Лекции [14]
Разное [4]
Статьи на тему WM, не попавшие в лекции по разным причинам.

Поиск

Каталог статей

Главная » Статьи » Программирование под Windows Mobile » Лекции

Часть 8. Создание дистрибутивов
Дистрибутивы

Программы для Windows Mobile принято распространять в виде дистрибутивов – архивов в виде единого cab файла. Для этого есть какминимум четыре причины – дистрибутив необходим для корректной установки сложных програм, которые состоят более чем из одного файла , регистрации компонетов программы, создания систем защиты для коммерческих программ, удобства деинсталляции и обновления версии программы. Хотя, мелкие утилиты можно свободно переписывать и устанавливать без всяких дистрибутивов. В среде программистов иногда отсутствие необходимости инсталляции даже считается плюсом. Но тем не менее, пользователью всегда гораздо проще один раз запустить cab файл, чем переписывать в кучу мест файлы, что-то править в реестре и т.д.


Каб

Что представляет собой cab файл? Cab – это архив, (кстати, его можно просмаривать WinRAR -ом), в котором содержится набор файлов дистрибутива и файл сценария. В файле сценария описывается в какие каталоги копировать файлы, какие записи сделать в реестре, где создавать ярлыки. Пример типичного файла сценария:

[Version]

Signature = "$Windows NT$" ; required as-is

Provider = "Antares"

CESignature = "$Windows CE$" ; required as-is

[CEStrings]

AppName = "AskMeNow"

InstallDir = %CE1%\%AppName% ; Program Files\AskMeNow

[SourceDisksNames]

1 = , "Common Files",,Common

[SourceDisksFiles]

Main.aml = 1

Main_can.aml = 1

Askmenow_ppc.exe = 1


[DefaultInstall]

CopyFiles = CopyToProgramFiles

AddReg = RegData

CEShortcuts = Shortcuts

[DestinationDirs]

CopyToProgramFiles = 0, %InstallDir%

Shortcuts = 0, %CE11% ; \Windows\Start Menu\Programs\


[CopyToProgramFiles]

"Askmenow_ppc.exe", askmenow_ppc.exe

"main.aml", main.aml

"main_can.aml", main_can.aml

[RegData]

HKCU,Software\%AppName%,MajorVersion,0x00010001,1

HKCU,Software\%AppName%,MinorVersion,0x00010001,0

HKCU,Software\%AppName%,Registration,0x00010001,0

[Shortcuts]

%AppName%,0,Askmenow_ppc.exe


Понятно, что вручную создавать такие файлы неинтересно, но у нас есть готовый инструмент для создания дистрибутивов, встроенный в VS2005/ VS2008


Создание дистрибутива в Visual Studio


Для создания дистрибутива к текущему рабочему проекту добавим новый проект, с помощью пункта меню Add new project. В появившемся окне выбора проектов, нужно выбрать тип проекта “Setup and Deployment”, и шаблон проекта “Smart Device CAB Project”



Далее, в дереве проектов появится новый проект. При выборе его в верхней панели будут доступны две иконки, File system и Registry. Первая открывает вкладку структуры файловой системы, в которой можно создавать свои каталоги и добавлять в них файлы. В процессе инсталляции файлы будут копироваться в соответствии с этими данными.



В приведенном выше примере, в каталоге Application Data создан дополнительный каталог AskMeNow и в него добавлены два файла: main.aml и main_can.aml

Файлы добавляются с помощью контекстного меню, при щелчке правой кнопкой мыши на каталоге. Exe или dll файл основного проекта можно добавить , выбрав пункт Add> Project Output и выбрать проект с вашим exe.

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



Если посмотреть на вкладку Properties проекта дистрибутива, то заметим там следующие важные свойства проекта:



CE Setup Dll - дополнительная dll для установки проекта (о ней позже)

Compress - признак сжатии данных в дистрибутиве. Если поставить True, то данные будут сжиматься (примерно на уровне средней компрессии zip), что уменьшает размер дистрибутива. Однако WM2003 на понимает сжатые cab файлы, поэтому при сборке дистрибутивов под эту OS компрессию следует отключать.

Manufacturer - имя автора программы. Ну, с ним все понятно.

NoUninstall - если это флаг включен, то система при установке не будет сохранять информацию для деинсталляции и удаление такой программы автоматически не будет доступно. В 99% случаев это не нужно, поэтому его обычно оставляют в False

OSVersionMax/OSVersionMin - эта пара параметров задает максимальный и итнииальный номера версий ядра WindowsMobile, на которых будет запускаться данная программа. Значения по умолчанию, (4.2 соответствует WM2003, 5.99 - WM 6.1 ) перекрывают большинство существующих в настоящий момент девайсов. Если наша программа только для WM5 -WM6, то ставим OSVersionMin 5.0 и тогда пользователь с WM2003 при попытке инсталляции получит сообщение о том, что данная программа не подходит к его девайсу.

ProductName – имя программы, с ним тоже все понятно.


Когда все параметры заполнены, можно нажимать Build и по окончании сборки проекта получим готовый cab файл для нашей программы.

Категория: Лекции | Добавил: kvv (11.12.2008)
Просмотров: 7572 | Комментарии: 1 | Теги: Лекции | Рейтинг: 5.0/1
Всего комментариев: 1
1 dyeangtast  
0
In truth, on a fossil a express's pizazz in at hand any fortune to be creditable of partnership programs, and stable I can role exposed disappoint excuse that this continues. But I pick up onto not seen such a well-meaning program like InstallC (InstallC.net). Slang mayhap you do not cognizant of him because he is passably remodelled, but I suffer with had multiform times to be qualified of a some hundred dollars on it and I am extraordinarily happy. At inception it seemed to me that this strength be the unchanging as any other program but it is not. Search after of this you can attain much more. In ubiquitous, making the files is a certain extent a predominating valour of earnings, at the start to each dull-witted people, but I attorney it also, and the elderly. Living effectiveness can valid to some awfully slight swap in this begun on the brotherhood, salaries and pensions. It's acutely manufacture and does not overcrowd on the side of much time. Certainly this … la mode program InstallC.net is bigger than others, because they guard upwards to avenge oneself rightful to the episode that more an scan to it, and there is as complex as some be apt to be. With a designing standards I can encomium it to everyone. Earnings also depend on the surroundings from which the send in is downloaded. Then you can palm a lot. Elegant if a ok uphold tangle yon $ 30. Language mayhap the dollar does not intense bring effects, but converting the dollar on the augustness smiles. I reckon the lust after partnership programs. Certainly at the unaltered crevice be there, the more so at times is a unpunctually, more influential, more profitable and of no vacillate providing larger amounts. Unfortunately, at this ignore program is rigorous not later than lone to users of Furbish at installc.net

Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]

Друзья сайта

  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Статистика

    Облако тэгов