我有一个.net cf 3.5
Windows Mobile应用程序,我的客户端想要具有自动更新功能.
这是我到目前为止:
>使用智能设备CAB项目创建一个CAB(这个还不错,或者我应该在这里做些什么)
2.获取应用程序版本号
Assembly.GetExecutingAssembly().GetName().Version.ToString();
>调用WCF Web服务以进行版本号查找.
>下载新版本的cab文件.
> ???
>在CAB文件上执行WCELoad.exe
>利润
您的解决方案通常是正确的,但有一些问题.
>你无法更新自己.您必须关闭并让一些更新的应用程序更新您以防止文件共享问题.这通常通过您启动的专用“更新程序”应用程序来处理.它可能是应用程序图标的目标,因此每次启动都会更新,或者可以通过“检查更新”类型的菜单项启动.无论如何,你必须启动它并确保实际的应用程序没有运行.
>在发生损坏,中断安装的情况下,提供某种形式的备份通常是个好主意
> CAB更新将需要批发更新所有内容.这可能不是你想要的最终(你可能只想更新单个文件,程序集或其他),所以从拉下单个文件的逻辑开始将使你的方式更具可扩展性.
Alex Feinman的MSDN article on creating self-updating applications是一个古老但仍然非常有效的资源.