2010-05-25 69 views
1

我需要从网站下载应用程序数据的更新。更新实际上只是用一些更新的数据文件替换一些数据文件。从网站提供应用程序数据更新

的更新,我认为将是某种形式的安装包类的节目,就必须能够做到以下几点:

  1. 访问的文件系统和注册表 以确定文件应 复制到
  2. 供应被复制
  3. 提供强有力的安全性,以便数据文件不能下载或由错误的人所使用的文件

什么是最好的方式来实现上述所有?

+0

你打算做编程或你有兴趣/愿意购买一些商业做到这一点? – RandyMorris 2010-05-30 05:06:27

+0

很高兴做一些编程。如果可以在内部完成,不想花费任何东西。 – CJ7 2010-05-31 05:07:40

+0

呃,什么“提供强大的安全性,使数据文件无法下载或被错误的人使用”实际上是什么意思?这是否意味着安装程序应保持不变并从互联网获取新的数据文件?并且只有在提供单独分发的密钥文件或密码的情况下才能下载文件?或者我们可以假设“错误的人”没有更新程序,但没有更新程序的人不应该能够下载数据文件? – Jasper 2010-06-03 15:20:01

回答

0

我会建议为使用

这些技术旨在通过网络分发软件。

(我认为在开发类似的东西自己可以把要的东西比较复杂。)

0

有许多可用的商业软件厂商全面更新管理和交付服务,如果你不想写东西从头开始你自己。

你的选择将取决于你选择的语言,现有设置方法,目标操作系统和预算。

我们只使用标准的MSI安装程序/升级,并编写了我们自己的更新管理器/更新传送服务。您需要权衡自己的资源和开发费用,以决定是否值得购买商业产品或开发内部产品。

0

我用过AdvancedInstaller - 一个非常强大的免费版本可用。它是一个完全成熟的MSI安装程序,因此它可以读取/写入注册表并将文件安装到通常需要管理员权限的“Program Files”中。它还支持开箱即用的应用程序更新。您可以发布更新并自动下载并安装它们。

至于安全性,这不是安装程序的真正领域,而是您托管文件的网络服务器的一部分。您可以使用密码保护的文件夹,或者为了更好的预防,客户端SSL证书。后者会自动更新。

一种替代方法是串起来从许多容易得到的组分的溶液:

  • 使用一个批处理文件来执行定期地执行下载。您可以使用Windows任务计划程序计划批处理文件。
  • 批处理文件将使用Windows REG命令读取注册表中的值,并使用这些值调用rsync。 rsync是一个可以通过ssh运行的文件同步命令。如果您使用公钥认证配置ssh,则可以限制对您选择的特定客户端的访问,同时允许自动访问(不需要密码)。带rsync的密钥是,如果文件是最新的,则不会执行下载。

This article介绍如何从一台服务器中的文件同步到使用rsync和ssh笔记本,并解释如何设置的rsync和ssh使用Cygwin。

+0

AdvancedInstaller与ClickOnce相比如何? – CJ7 2010-06-06 05:50:37

+0

高级安装程序,一个带有一些花里胡哨的Windows安装程序制作者,并不像ClickOnce那样“交钥匙”。如果您使用的是.NET开发环境,那么请使用ClickOnce,因为它通过一些改进实现了相同的目标。如果你不使用.NET,那么AdvancedInstaller将是下一个最好的事情。请参阅http://msdn.microsoft.com/en-us/library/142dbbz4%28v=VS.80%29.aspx。 – mdma 2010-06-06 10:45:31

+0

通过比较列表来看,似乎ClickOnce在安装时仅具有有限的注册表访问权限。 AdvancedInstaller可能是更好的选择。 – mdma 2010-06-06 10:56:02

相关问题