Windows Mobile 6.5上的CAB自动更新

我正在为我的Windows Mobile 6.5 .NET CF 3.5应用程序开发自动更新功能。 我已经结束了以下解决方案。

  • 我使用SOAP WebService来检查是否有新版本的应用程序可用。
  • 如果有更新的版本,我可以在SOAP响应中获取URL,并下载它。 新版本只是一个CAB完整安装文件。
  • 只要下载了版本,我就在下载的CAB上使用/ silent和/ noui参数调用wceload。 我想要无人值守的安装,因为此应用程序的用户是汽车驾驶员,他们在操作移动设备方面技能不够。
  • 除了一个例外,该过程很顺利 - / 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

    上一篇: CAB auto update on Windows Mobile 6.5

    下一篇: Maven dependency for ejb and war