Windows Mobile 6.5上的CAB自动更新
我正在为我的Windows Mobile 6.5 .NET CF 3.5应用程序开发自动更新功能。 我已经结束了以下解决方案。
除了一个例外,该过程很顺利 - / noui或/ silent选项强制wceload不显示任何窗口。 我的应用程序简单消失,并在后台安装新版本。 问题是驱动程序有时会尝试再次打开应用程序。 另一点是我希望我的应用程序在更新过程完成后自动启动。 所以我创建了一个单独的exe应用程序,它只是简单地调用wceload,如果它完成安装,它将运行更新的版本。 所有与onr异常一起工作 - 这个安装程序exe是我的CAB的一部分,因此它在它内部,当wceload安装CAB时,它会关闭安装程序(因为它是CAB安装程序的一部分)。 因此,安装过程中断。 我的问题是 - 是否有办法“告诉CAB”不要终止那些属于CAB的特定exe文件?
问候
这不是真的回应你的问题,但你可以做到以下几点:
[安装结束] =>它启动你的更新的应用程序[稍等] =>它自己关闭,更新的应用程序已准备好使用
CAB安装和WCELOAD在许多方面受到限制。 您正在使用某种UI来告诉用户事情正在进行中,并且您想要有条件地安装CAB的某些部分,而使用wceload就无法实现这一点。 你也许可以用一个自定义的安装DLL来破解这些,但是我认为“有条件的安装片”仍然会成为阻碍。
一种选择是不使用wceload,而是创建您自己的CAB提取工具。 然后你可以根据文件名等来完成你自己的用户界面和自定义逻辑。几年前,我将一个SDK和示例安装程序放在一起,这将允许这一点 - 承认它不是免费的,但最低成本选项只有5美元它非常接近。
较新的CAB实际上包含一个描述安装操作的XML文档(除了我编写的SDK编写的较旧的.000二进制文件描述符以外),所以也可以使用它进行所有提取并保存$ 5 。
不要使用驾驶室。 使用带有可执行文件和cab内部的tar.gz软件包。 使用SharpZipLib进行解压。 只需运行可执行文件即可完成这项工作。 使用 windows wceload工具来运行cab安装。
链接地址: http://www.djcxy.com/p/82671.html