Установщик нескольких кабин для Windows Mobile с ядром CE в Lazarus - PullRequest
0 голосов
/ 27 января 2012

Потратив более часа на выяснение, существует ли эквивалентное решение проблемы установщика Multiple CAB для Windows Mobile в кросс-платформенном компиляторе lazarus Я устал?Я имею в виду код, который представляет примерно ту же функциональность, что и:

http://www.codeproject.com/Articles/65319/Automatically-Install-Multiple-CAB-Files-to-a-Wind

, но, насколько я могу сказать, это невозможно ни внутренним объявлением inf, ни:

http://wiki.lazarus.freepascal.org/WinCE_Programming_Tips#Installation_of_an_app_build_with_Lazarus_on_a_WinCE_device

Знаете ли вы какое-либо решение для этого?

1 Ответ

1 голос
/ 27 января 2012

Вы путаете два понятия с одним.Первая ссылка описывает, как использовать архитектуру развертывания ActiveSync для последовательного развертывания нескольких CAB-файлов с ПК .Один CAB-файл передается на устройство и извлекается, затем следующий передается вниз и извлекается.Это можно сделать, подключив расширяемость настольного MSI-файла и установщика Windows.

Это должно хорошо работать для любого набора CAB - Lazarus или нет.Для этой системы CAB-файл является CAB-файлом, его содержимое не имеет отношения.

Вторая ссылка - это описание INF-файла (среди прочих).Это input файл для CABWIZ.exe, который является настольным инструментом, который просто генерирует CAB-файлы, которые можно использовать на устройстве WinMo / WinCE.даже если вы генерируете CAB, который содержит другую CAB с CABWIZ, устройство (wceload.exe) не поддерживает извлечение CAb внутри CAB.

Это фундаментальное ограничение, которое вы не можете избежать.Что еще хуже, в более новых версиях WinMo не может быть запущено два экземпляра wceload, поэтому вы не можете запустить (через DLL-файл пользовательского установщика) второй экземпляр WCELOAD для извлечения внутренней CAB.

YouЛучшее решение - не пытаться.Просто извлеките все для своего приложения на ПК - приложение, ссылки, ресурсы - все.Затем создайте INF, чтобы упаковать его all в один CAB (не CAB внутри CAB), а затем разверните этот CAB.

...