问题标签 [software-update]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
software-update - 新软件修订通知工具
我想知道是否有任何项目可以创建一个标准,以一种易于聚合的方式订阅软件更新通知(例如 RSS 提要?),以便轻松检查数十或数百个软件项目我'对新版本感兴趣。
[编辑: 移动了以前在这里的问题的另一半]
asp.net - 软件更新通知
我正在考虑为我正在开发的其中一个Web 应用程序实施某种软件更新通知。
我遇到了几个问题:
- 更新检查应该在客户端还是服务器上执行?
客户端是指软件检索最新版本信息、执行检查并显示更新信息。
服务器端检查意味着软件将其版本信息发送到服务器,服务器依次进行计算并将信息返回给客户端。
我的猜测是,服务器端实现可能会比客户端更灵活、更强大,因为我可以轻松地向服务器添加功能,只要客户端理解它。
- 应该在哪里显示更新信息?
可以在登录屏幕上显示吗?只有管理员才能看到吗?(这是一个带有数据库的 web 应用程序,因此更新需要操作 db和web,这只能由管理员完成)。随着版本越来越过时,大小会增加的小哔哔闪烁图标怎么样;)?
- 隐私问题
不是每个人都喜欢通过互联网广播他们的应用使用统计数据。
TheOnion 问题:你怎么看?
language-agnostic - 是否有可以自动更新软件的 API 或工具?
是否有任何 API 或工具可以自动更新软件?它应该负责从提供的文件列表的 URL 检查更新,并下载和替换需要更新的文件。如果它包含一个身份验证模块,这样只有授权方才能访问更新,那就太好了。它应该与语言无关 - 获取一个文件列表,除了它们的版本之外没有额外的知识,如果网站上有更新的版本,则用新下载的副本替换它们。
我对适用于 Windows 平台的东西特别感兴趣,它可以在 Win Xp 到 Win 7 上运行。
svn - 好的、跨平台的软件更新库/工具?
有没有人使用过帮助 ISV 交付已交付产品的软件更新的库或工具套件?我们提供在 OS X、Linux 和 Windows 上运行的软件。我们有针对每个平台的特定平台的部分解决方案,但我们希望有一个统一的系统来向我们安装的用户推送软件更新。我们可能最终会推出自己的解决方案,但我想问一下这里是否有人知道一个好的现成解决方案。
另外,有没有人尝试过为此目的使用 Subversion(与客户端的 libsvn 结合)?关于这种方法的利弊有什么想法吗?
谢谢!
编辑:在这种情况下,安装的应用程序是成熟的桌面应用程序——一些 Java、一些 Dot Net(带有 Mono 运行时)、一些本机 C++。因此,我们对解决问题的任何平台或语言持开放态度。
mysql - 为使用 C# 和 MySQL 开发的应用程序向客户提供软件更新的方式
我们有一个用 C#.Net 开发的产品。它不是 Web 应用程序,而是桌面版本。它连接到各种数据库,如 MSSQL、MySQL 等。
我们不断升级软件版本以修复错误和新功能。这些更新更改了所使用的 exe 和 dll 以及数据库。
我们想知道我们可以使用哪些不同的方法向客户提供更新。
apt - 使用 Apt 存储库进行付费软件更新
我正在尝试确定一种为可能有每周和/或每月更新的托管/现场 Web 应用程序分发软件更新的方法。我不希望使用现场产品的客户担心手动更新它我只希望它自动下载和安装 ala Google Chrome。我计划在 Ubuntu 和安装和配置的软件中提供 OVF 文件。我对如何分发软件的第一个想法是创建六个 Apt 存储库/通道(目前不确定哪个更好),这些存储库/通道将使用密钥通过 SSH 访问,因此如果客户不续订订阅,我们可以禁用他们的帐户:
- Beta - 在内部用于测试数据以检查包的主要缺陷。
- 内部 - 在内部使用实时数据来检查包装是否存在缺陷(狗食阶段)。
- 外部 1 - 部署到我们 1% 的用户群(随机选择)以检查缺陷。
- 外部 9 - 部署到我们 9% 的用户群(随机选择)以检查缺陷。
- 外部 90 - 部署到其余 90% 的用户。
- 托管 - 部署到托管环境。
如果报告了问题,则在每个阶段都需要签名才能进入下一个存储库。
我对社区的问题是:
- 有没有人尝试过这样的事情?
- 任何人都可以看到这种程序的缺点吗?
- 有没有更好的办法?
更新:我在https://softwareengineering.stackexchange.com/questions/61737/using-an-apt-repository-for-paid-software-updates交叉发布了这个,看看我是否能得到答案。
xcode - Xcode 是否有更好的更新系统?
几天前Xcode 4.0.1发布了,这意味着我又要下载4.5GB的野兽来更新了。有谁知道苹果是否计划推出更好的更新系统?
c++ - 无线/无线自动软件更新(热代码加载)策略
有一个 Linux 系统(作为我项目的一部分),我可能需要在其中进行热代码加载,即更新部分软件、无线(通过 WiFi 下载软件)或无线(通过局域网)。这个软件有两部分,一部分是用 C++ 编写的,另一部分是用 Erlang 编写的。C++ 部分通过 TCP/IP(一组 6-7 多种专有协议)与一些外部实体通信。我最需要进行热加载的部分是与那些外部实体对话的 C++ 部分。C++ 部分通过端口与 Erlang 对话(目前正在开发中),但我想将其更改为 NIF(将来某个时候)。
有人可以建议一些 C++ 功能的热代码加载策略。我知道 Erlang 的能力,但我的理解是该功能不会扩展到用 C++ 编写的部分。
此外,我需要确保包含专有协议实现的 C++ 模块来自“有效来源”。什么可能是正确的策略?
我想,我的要求并不少见,所以如果存在这样的模块、框架、库,我会很乐意指出这些。
python - 如何远程更新 Python 应用程序
将更改推送到用 Python 编写的程序的最佳方法是什么?我有一个用 Python 编写的软件,它会定期更新。最好的方法是什么?所有机器都将安装 Windows 7。
另外,请原谅我的问题含糊不清。这将是我第一次必须实施更新程序。随意提及您希望我添加的细节。
linux - 为嵌入式 Linux 设备实施更新/升级系统
我有一个在嵌入式 Linux 设备上运行的应用程序,并且不时地对软件进行更改,有时还会对根文件系统甚至已安装的内核进行更改。
在当前的更新系统中,旧应用程序目录的内容被简单地删除,新文件被复制到上面。对根文件系统进行更改后,新文件将作为更新的一部分交付,并简单地复制旧文件。
现在,目前的方法存在几个问题,我正在寻找改善这种情况的方法:
- 用于创建文件系统映像的目标的根文件系统没有版本控制(我认为我们甚至没有原始的 rootfs)。
- 手动选择进入更新的 rootfs 文件(而不是 diff)
- 更新不断增长,变成了一个皮塔饼。现在更新/升级之间存在分歧,其中升级包含较大的 rootfs 更改。
- 我的印象是更新中的一致性检查如果完全实施的话是相当脆弱的。
要求是:
- 应用程序更新包不能太大,并且在修改的情况下还必须能够更改根文件系统。
- 升级可以更大,并且只包含进入根文件系统的内容(如新库、内核等)。更新可能需要已安装升级。
升级是否可以包含整个根文件系统并简单地dd
在目标的闪存驱动器上执行? - 创建更新/升级包应尽可能自动。
我绝对需要一些方法来对根文件系统进行版本控制。这必须以某种方式完成,我可以从中计算出某种diff
可用于更新目标设备的 rootfs 的东西。
我已经研究过 Subversion,因为我们将它用于我们的源代码,但这不适用于 Linux 根文件系统(文件权限、特殊文件等)。
我现在已经创建了一些 shell 脚本,它们可以给我类似于 an 的东西,svn diff
但我真的很想知道是否已经存在一个有效且经过测试的解决方案。
使用这样diff
的 's 我猜升级将简单地成为一个包含基于已知根文件系统状态的增量更新的包。
您对此有何想法和想法?您将如何实施这样的系统?我更喜欢一个简单的解决方案,可以在不太长的时间内实施。