【发布时间】:2011-07-24 11:48:48
【问题描述】:
我正在为我的 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?
问候
【问题讨论】:
标签: c# .net windows-mobile compact-framework cab