C# 更新CF应用程序、数据库和服务器代码的最佳方法

C# 更新CF应用程序、数据库和服务器代码的最佳方法,c#,windows-mobile,compact-framework,C#,Windows Mobile,Compact Framework,我构建了一个紧凑的框架应用程序,供交付驱动程序使用。该系统包括服务器上的WCF服务和SQL数据库,以及在移动设备上运行的SQL CE数据库和CF应用程序 现在的问题是,当我发布新版本时,如何轻松地更新所有这些?问题是: 它可以部署到数百个PDA 当第一次安装在PDA上时,必须填充SQL CE数据库。这可能需要一段时间。我不想每次升级应用程序时都这样做,所以我必须运行脚本来更新db模式,而不是仅仅替换整个文件并重新填充它 WCF服务代码需要更新 需要更新SQL数据库架构 我可以找到所有这些问题

我构建了一个紧凑的框架应用程序,供交付驱动程序使用。该系统包括服务器上的WCF服务和SQL数据库,以及在移动设备上运行的SQL CE数据库和CF应用程序

现在的问题是,当我发布新版本时,如何轻松地更新所有这些?问题是:

  • 它可以部署到数百个PDA
  • 当第一次安装在PDA上时,必须填充SQL CE数据库。这可能需要一段时间。我不想每次升级应用程序时都这样做,所以我必须运行脚本来更新db模式,而不是仅仅替换整个文件并重新填充它
  • WCF服务代码需要更新
  • 需要更新SQL数据库架构
我可以找到所有这些问题的解决方案,但似乎需要做很多工作。我想在我开始这一切之前获得一些提示可能会有所帮助

非常感谢

马克

我做过一些要求差不多的项目

它可以部署到数百个PDA

我建议在应用程序中使用更新程序。它通过Web服务检查新版本的可用性。如果有更新,请下载。然后运行另一个进程来执行更新(这个进程我只用于运行wceload.exe,然后重新启动设备)

当第一次安装在PDA上时,必须填充SQL CE数据库。这可能需要一段时间。我不想每次升级应用程序时都这样做,所以我必须运行脚本来更新db模式,而不是仅仅替换整个文件并重新填充它

不要将数据库作为应用程序的文件,创建脚本并检查数据库是否存在(如果不创建数据库)

WCF服务代码需要更新

我有一个独立的更新Web服务,所以合同不会改变。它接收当前版本、身份验证并返回更新是否可用以及要下载的文件的url

您将需要两个不同的地址来更新并保持另一部分工作。只需在新版本中执行重定向

需要更新SQL数据库架构

我希望您指的是服务器后端,因此我建议使用视图来搜索信息

如果您是指SQLCE数据库,则可以提供修补脚本,或者直接擦除数据库并重新创建数据库