VS2008, проект установщика Windows Mobile - PullRequest
3 голосов
/ 22 февраля 2009

Я использую Visual Studio 2008 Professional Edition. Я написал приложение для Windows Mobile и хотел бы создать установщик для этого приложения. Как это сделать?

Ответы [ 6 ]

13 голосов
/ 22 февраля 2009

Вам нужно будет упаковать ваше приложение в CAB-файл.

Сделать это довольно просто - вы просто создаете новый «CAB-проект Smart Device» (New Projet-> Другие типы проектов-> Настройка и развертывание).

Для начала - укажите, что вы хотите, чтобы выходные данные из exe-проекта вашего приложения помещались в каталог приложений вместе с любыми другими зависимыми библиотеками.

Вы также можете создать значок для своего приложения, щелкнув правой кнопкой мыши Файловая система на целевом компьютере, выбрав Добавить специальную папку-> Папка меню Пуск, затем снова щелкнув правой кнопкой мыши в Папке меню Пуск и выбрав Создать новый ярлык. Теперь наведите этот ярлык на исполняемый файл для вашего приложения.

В зависимости от требований вашего проекта, может быть также желательно создать настольный установщик (msi-файл), который ваши пользователи смогут запускать непосредственно на своем ПК с Windows, который инструктирует ActiveSync для автоматической установки вашего cab-файла, когда устройство Windows Mobile затем подключаем. В основном это делается путем вызова ActiveSync (CeAppMgr.exe) из командной строки и передачи ему INI-файла, ссылающегося на ваш CAB-файл.

Если вам нужно сделать что-то более сложное во время установки, также можно написать «настраиваемое действие», когда cab-файл обращается к другой dll (написанной вами), чтобы выполнить любые дополнительные шаги, которые должны произойти. во время установки.

Полное руководство по всему вышесказанному доступно здесь

2 голосов
/ 05 марта 2009

Инструмент, подобный Mobile Packager (www.MobilePackager.com), также можно использовать для создания установочных пакетов для Windows Mobile. Это позволяет создавать очень удобные установщики для установки через рабочий стол или при установке устройства.

Mobile Packager On Device Installation
(источник: mobilepackager.com )

Проверьте это

1 голос
/ 22 февраля 2009

Мой собственный опыт заключается в том, что создание установочных файлов, запускаемых под Windows, слишком затратно по времени (если только вы не говорите о создании проектов установки, которые выводят CAB, что требует дополнительной процедуры установки для .NET framework и может быть запущено только внутри вашей машины WM).

«Официальная» процедура включает генерацию CAB-файла, дополнительную DLL-библиотеку для автоматического запуска CAB-файла и дополнительный проект установки для установки этой DLL-библиотеки.

Обратитесь сюда, если вы идете таким образом: http://msdn.microsoft.com/en-us/library/bb158529.aspx

После нескольких дней борьбы я решил приобрести коммерческие продукты для автоматизации создания установочного файла. Тот, который я купил, называется «PocketPC Installer Professional» (Google, так как я не связан с этим коммерческим продуктом). Сгенерированная установка не похожа на обычные настройки программного обеспечения Windows, но, по крайней мере, работает и требует меньше усилий.

1 голос
/ 22 февраля 2009

http://msdn.microsoft.com/en-us/library/bb158729.aspx

Здесь вы можете найти более одного решения вашей проблемы. Кроме того, существуют программы для создания CAB-файлов напрямую и за пределами среды VS2008, но все, что я пробовал, были противными и дорогими.

0 голосов
/ 19 февраля 2010

Вот очень простой пример сценария в InnoSetup (с препроцессором) для создания установщика на рабочем столе для устройства Windows Mobile. Вы должны уже создать CAB-файл и записать INI-файл для правильной работы.

#define AppName "Your Software"
#define AppPublisher "Your Name Here"
#define ExeName "Your Software.exe"
#define UnixName "YourSoftware"
#define Short "YS"
#define Version "1.0"

[Setup]
AppName={#AppName}
AppVerName={#AppName} {#Version}
AppPublisher={#AppPublisher}
DefaultDirName={pf}\{#AppName}
DefaultGroupName={#AppName}
AllowNoIcons=yes
LicenseFile=license.rtf
OutputDir=//
OutputBaseFilename={#Short}_{#Version}_Setup
SetupIconFile=Icons\{#UnixName}.ico
Compression=lzma
SolidCompression=yes

[Languages]
Name: english; MessagesFile: compiler:Default.isl

[Tasks]
Name: desktopicon; Description: {cm:CreateDesktopIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked
Name: quicklaunchicon; Description: {cm:CreateQuickLaunchIcon}; GroupDescription: {cm:AdditionalIcons}; Flags: unchecked

[Registry]
Root: HKLM; Subkey: Software\{#Short}; ValueType: string; ValueName: Version; ValueData: {#Version}; Flags: uninsdeletekey

[Files]
Source: license.rtf; DestDir: {app}; Flags: ignoreversion
Source: {#UnixName}_{#Version}_Setup.CAB; DestDir: {app}; Flags: ignoreversion
Source: {#UnixName}_{#Version}_Setup.ini; DestDir: {app}; Flags: ignoreversion

[Icons]
Name: {group}\{#AppName}; Filename: {app}\{#ExeName}
Name: {group}\{cm:UninstallProgram,{#AppName}}; Filename: {uninstallexe}
Name: {userdesktop}\{#AppName}; Filename: {app}\{#ExeName}; Tasks: desktopicon
Name: {userappdata}\Microsoft\Internet Explorer\Quick Launch\{#AppName}; Filename: {app}\{#ExeName}; Tasks: quicklaunchicon

[Run]
Filename: "{pf64}\Microsoft ActiveSync\CEAPPMGR.EXE"; Parameters: ""{app}\{#UnixName}_{#Version}_Setup.ini""; Check: Is64BitInstallMode; WorkingDir: {app}
Filename: "{pf32}\Microsoft ActiveSync\CEAPPMGR.EXE"; Parameters: ""{app}\{#UnixName}_{#Version}_Setup.ini""; Check: not Is64BitInstallMode; WorkingDir: {app}
0 голосов
/ 22 февраля 2009

Спасибо за ответ. Я нашел этот урок: Установщик .


Лучшие из лучших: База знаний спутниковых форм

...