我们正在用C#开发基于Windows的应用程序。我想为该软件提供自动更新。实际上,一旦用户运行程序,它应该能够通知用户它将从服务器获得最新版本。我们使用Visual Studio安装程序创建器创建了我们的设置。然后,软件可以捕获是否有任何更新版本。我们为所有用户提供支持,如果我们有任何更新,我们会更新他们的服务器。如果有任何更新,我们可以更新用户数据库中的条目。我现在的问题是,我应该在哪里为用户存储最新的更新。
我的初始方法是将更新的设置文件存储在其服务器的共享文件夹中。但是我们公司过去在这种方法上遇到了很多麻烦。所以,我不得不放弃这种方法。我现在想的是上传SQL Server中的可执行文件。我们的设置文件目前为60Mb,但未来一段时间可以增加超过100Mb。你怎么看?这是一个可行的解决方案吗?你有更好的想法吗?
答案 0 :(得分:4)
试试NetSparkle。它是一个易于使用的.NET开发人员软件更新框架。
答案 1 :(得分:2)
如果不知道为什么你不喜欢clickonce,那么很难给出任何有意义的答案。就个人而言,我发现虽然clickonce对于所有部署都不是很好,但它对很多人来说都是非常好的 - 在很多情况下它不被采用,因为开发人员不知道如何配置它或从中获得最大收益。 / p>
如果您真的无法使用clickonce,请查看Google的project omaha,这是一款运行Chrome的任何Windows计算机上已安装的整洁的自动更新程序。
最后,如果您打算自己动手,我可能不会建议将其存储在SQL Server中,而不首先检查这将如何影响您的备份和复制策略。我真的不知道你会通过HTTP,UNC,FTP或类似的存储区域获得什么好处。
答案 2 :(得分:0)
不要在数据库中存储大型可执行文件。
我确信您可以找到预构建解决方案,但如果您决定自己编写,则可以考虑在您部署的服务器上存储指向最新版本的URL。客户端上的更新软件只需对该服务器进行身份验证,下载新版本然后再安装即可。