Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Installation 从网站提供应用程序数据更新_Installation - Fatal编程技术网

Installation 从网站提供应用程序数据更新

Installation 从网站提供应用程序数据更新,installation,Installation,我需要提供从网站下载的应用程序数据更新。更新实际上只是用一些更新的数据文件替换一些数据文件 我假设更新是某种安装包类型的程序,需要能够执行以下操作: 访问文件系统和注册表 确定文件应放在何处的步骤 抄送 提供要复制的文件 提供强大的安全性,使数据文件不会被下载或被错误的人使用 实现上述所有目标的最佳方法是什么?我建议使用其中一种方法 ,适用于Java ,适用于.NET 这些技术旨在通过网络分发软件 (我认为自己开发类似的东西可能会变得相当复杂。)如果你不想自己从头开始写东西,商业软件供应商可

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

我假设更新是某种安装包类型的程序,需要能够执行以下操作:

  • 访问文件系统和注册表 确定文件应放在何处的步骤 抄送
  • 提供要复制的文件
  • 提供强大的安全性,使数据文件不会被下载或被错误的人使用

  • 实现上述所有目标的最佳方法是什么?

    我建议使用其中一种方法

    • ,适用于Java
    • ,适用于.NET
    这些技术旨在通过网络分发软件


    (我认为自己开发类似的东西可能会变得相当复杂。)

    如果你不想自己从头开始写东西,商业软件供应商可以提供许多全面的更新管理器和交付服务

    • 。。。另外,我会让你自己研究:)
    您的选择将取决于您选择的语言、现有的安装方法、目标操作系统和预算

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

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

    至于安全性,这实际上不是安装程序的领域,而是承载文件的Web服务器的一部分。您可以使用受密码保护的文件夹,也可以使用客户端SSL证书进行更强有力的预防。后者可以很好地与自动更新配合使用

    另一种方法是从许多现成的组件中组合出一个解决方案:

    • 使用批处理文件执行定期执行的下载。您可以使用Windows任务计划程序计划批处理文件
    • 批处理文件将使用Windows REG命令从注册表读取值,并使用这些值调用
      rsync
      。rsync是一个可以通过ssh运行的文件同步命令。如果使用公钥身份验证配置ssh,则会限制对所选特定客户端的访问,同时允许自动访问(无需密码)。使用rsync的密钥是,如果文件是最新的,则不会执行下载
    说明如何使用rsync和ssh将文件从服务器同步到笔记本,并说明如何使用Cygwin设置rsync和ssh

    另见

    • (维基百科)和

    您是打算进行编程,还是有兴趣/愿意购买一些商业产品来实现这一点?很乐意进行编程。如果可以在内部完成,我不想在上面花任何钱。呃,“提供强大的安全性,使数据文件不能被下载或被错误的人使用”实际上是什么意思?这是否意味着安装程序应该保持不变,并从internet获取新的数据文件?如果提供了单独分发的密钥文件或密码,它是否只能下载这些文件?或者我们可以假设“错误的人”没有更新程序,但是没有更新程序的人不应该能够下载数据文件?你应该在回答中处理所有可能的问题。如果你是更新数据文件,而不是程序文件,我不清楚安装包是正确的答案。您(大概)并不是在寻找回滚到以前的版本,或者在安装/卸载列表上显示新条目。或者这是对现有已部署应用程序的改进?AdvancedInstaller与ClickOnce相比如何?AdvancedInstaller是一家windows安装程序的制作人,有一些优点,但并不像ClickOnce那样是“万能的”。如果您使用的是.NET开发环境,那么请使用ClickOnce,因为它通过一些改进实现了相同的目标。如果您不使用.NET,那么AdvancedInstaller将是下一个最好的选择。查看比较列表,ClickOnce在安装时似乎只有有限的注册表访问权限。AdvancedInstaller可能是更好的选择。