C# 如何制作一个简单的自动更新客户端(windows服务)?

C# 如何制作一个简单的自动更新客户端(windows服务)?,c#,auto-update,C#,Auto Update,如何制作一个简单的自动更新客户端(windows服务)? 注意:我使用的是.NET 2.0客户端和.NET 4.0 IIS web服务器 我想我会有一个主startup.exe(步骤1和1.5)和一个单独的类(DLL),在其余工作的更新过程后调用,以便在更新过程中覆盖“worker”DLL 这是制作自动更新客户端的最佳方法吗? 以下所有步骤均在每个计时器间隔和windows服务/程序启动时运行 关闭然后打开web服务连接 1.5如果事务中的web服务版本较新,则自动更新客户端(下载压缩二进制文件

如何制作一个简单的自动更新客户端(windows服务)? 注意:我使用的是.NET 2.0客户端和.NET 4.0 IIS web服务器

我想我会有一个主startup.exe(步骤1和1.5)和一个单独的类(DLL),在其余工作的更新过程后调用,以便在更新过程中覆盖“worker”DLL

这是制作自动更新客户端的最佳方法吗? 以下所有步骤均在每个计时器间隔和windows服务/程序启动时运行

  • 关闭然后打开web服务连接 1.5如果事务中的web服务版本较新,则自动更新客户端(下载压缩二进制文件以更新客户端程序文件夹-通常只是“worker”dll文件。)
  • 登录到web方法以获取SecurityToken,用于将来的web方法调用
  • 上载本地消息日志(最好在所有进程之前和之后)
  • 获取客户端设置
  • 执行主要工作流程(工人级)
  • 上传本地消息日志
  • 注销web方法
  • 关闭web服务连接
  • 其他说明:

    a。只有当安装有允许客户端接收更新的web服务器设置,并且客户端的应用程序版本需要更新(比较版本)时,客户端才会升级

    b。一切都通过SSL

    c。除了每个web方法需要一个安全令牌(安全令牌在60分钟或更短时间后过期)之外,我还将保护整个web服务

    d。客户机配置文件是强加密的(登录到整个web服务和特定安装的凭据)

    e。我可能应该下载应用程序更新二进制文件的MD5总和,以确保安装正确的文件。NET是否在Windows和Mac的Mono框架上以标准方式实现MD5


    f。此自定义程序在web上不免费提供,但仅适用于某些客户端。

    使用ClickOnce是否有问题?它内置在.NET Framework中,可以从Visual Studio进行配置。

    为什么您认为这需要一个Windows服务?@Cody。我的客户端程序恰好是一个Windows服务,这是唯一的原因。我还将在Windows窗体上使用它进行测试。我不知道它是在VS2010中构建的。在我的情况下使用它容易吗?还是更麻烦?我不知道ClickOnce是VS2010内置的。在我的情况下使用方便吗?只需查看20分钟,ClickOnce就会出现问题。。。我宁愿配置我的数据库,也不愿配置IIS。2除非配置IIS,否则IIS可能会阻止下载我的某些文件。3.希望避免签字。每次更新清单时都必须签名。4 ClickOnce安装仅适用于IE.5映射驱动器问题。但对我来说,二进制文件将被压缩,不使用网络浏览器。另外,我的50%的客户端都在Mac上,所以它会更新Mac软件包吗(使用MonoObj)?System Center 2012 Configuration Manager如何?ClickOnce不适用于windows服务,因为服务不是针对每个用户的