lazarus 中带有 CE 内核的 Windows Mobile 的多个 cab 安装程序
花了一个多小时来弄清楚 lazarus 跨平台编译器中的 Windows Mobile 是否存在多个 CAB 安装程序问题的等效解决方案我已经厌倦了?我的意思是代表大致相同功能的代码:
http://www.codeproject.com/Articles/65319/Automatically-Install-Multiple-CAB-Files-to-a-Wind
但据我所知是无法通过内部 inf 声明实现,也不能通过:
您知道有什么解决方案吗?
Spending more than an hour on figuring out if an equivalent solution to the problem of Multiple CAB installer exists for Windows Mobile in the lazarus cross-platfor compiler I have become tired? I mean the code that represents roughly the same functionality as:
http://www.codeproject.com/Articles/65319/Automatically-Install-Multiple-CAB-Files-to-a-Wind
but as far as I can say it is not possible by interior inf declaration, nor by:
Do you know any solution to that?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您将两个概念混淆了。第一个链接描述了如何使用 ActiveSync 的部署架构从 PC 串行部署多个 CAB 文件。将一个 CAB 文件下推到设备并提取,然后下一个文件下推并提取。这是通过挂钩桌面 MSI 文件和 Windows 安装程序的可扩展性来完成的。
这对于任何一组 CAB 都应该工作得很好——无论是否是 Lazarus。对于本系统来说,CAB 文件就是 CAB 文件,内容不相关。
第二个链接是 INF 文件(以及其他文件)的描述。这是 CABWIZ.exe 的输入文件,CABWIZ.exe 是一个桌面工具,可以简单地生成可在 WinMo/WinCE 设备上使用的 CAB 文件。即使您使用 CABWIZ 生成包含另一个 CAB 的 CAB,设备端 (wceload.exe) 也不支持在 CAB 中提取 CAb。
这是您无法避免的基本限制。更糟糕的是,较新版本的 WinMo 无法运行两个 wceload 实例,因此您无法启动(通过自定义安装程序 DLL)第二个 WCELOAD 实例来提取内部 CAB。
最好的解决办法就是不要尝试。只需在 PC 上提取应用程序的所有内容 - 应用程序、参考资料、资源 - 一切内容。然后创建一个 INF 将其全部打包到一个 CAB 中(不是 CAB 内的 CAB),然后部署该 CAB。
You are confusing two concepts with one. The first link describes how to use ActiveSync's deployment architecture to deploy multiple CAB files from the PC serially. One CAB file is pushed down to the device and extracted, then the next is pushed down and extracted. This is done by hooking into the extensibility for a desktop MSI file and Windows installer.
This should work fine for any set of CABs - Lazarus or not. To this system a CAB file is a CAB file, the contents are not relevant.
The second link is a description of an INF file (among other thigs). This is an input file for CABWIZ.exe, which is a desktop tool that simply generates CAB files that can be used on a WinMo/WinCE device. even if you generate a CAB that contains another CAB with CABWIZ, the device side of things (wceload.exe) does not support extracting a CAb within a CAB.
It's a fundamental limitation that you can't avoid. To make things worse, newer versions of WinMo can't have two instances of wceload running, so you can't launch (via a custom installer DLL) a second instance of WCELOAD to extract an internal CAB.
You best solution is to not try. Just extract everything for your app on your PC - app, references, resources - everything. Then create an INF to package it all into one CAB (not a CAB inside a CAB) and then deploy that CAB.