为什么大多数 Windows 软件都将每次更新都当做是第一次安装软件呢?

为什么大多数 Windows 软件都将每次更新都当做是第一次安装软件呢?

Notepad++ 已经无数次地催我更新版本了。最后我终于屈服了,这次我叹了口气,点击了“确定”,而不是“取消”。于是它开始下载最新版本,但下载完成后,它并没有,你知道的,更新我显然已经安装了 Notepad++,它是最新版本。

相反,它打开了安装程序,就好像我刚刚安装了电脑并下载了初始 Notepad++ 安装文件一样。我不得不多次点击“下一步”,并做出我已经在这台电脑上做过的所有选择。

每一次。

为什么软件开发人员似乎不理解/关心用户的体验到这种程度?在安装程序中嵌入一项功能有多难?如果您使用“/silent-upgrade”标志或类似的东西打开它,它会忽略整个 GUI 设置过程并只安装新文件?

我不明白。即使他们“懒惰”,他们也必须自己使用和测试软件,而且既然他们不断对程序进行如此多的更新,为什么他们不能做这个小而明显的修复?他们为什么不做?

在您回答他们想再次诱骗您安装一堆恶意软件和/或启用“遥测”之前,Notepad++(以及我使用的其他一些 FOSS)的安装程序中没有任何此类东西,因此甚至无法用这个来解释。这只是毫无意义的浪费时间,我不得不等待 GUI 出现并多次单击“下一步”,而没有明显的原因。

有些软件实际上此类标志,例如 pgAdmin 4,会不断催促您升级,直到您单击程序内的链接,然后打开其网页,您必须手动下载整个新安装程序,然后手动运行它。但是,它有一些未记录的标志,您可以使用它们来执行我上面描述的操作;只需安装新版本并跳过无意义的安装程序。

pgAdmin 4 的安装程序中也没有“可疑”的东西,所以同样无法用此来解释。

为什么他们要特意隐藏这些东西,并(实际上)强迫用户在每次软件更新时点击 GUI 安装程序?无论您认为我有多“懒惰”,它都让我极度不愿意更新我的软件,因为这是一项非常耗费脑力的工作。您可能会认为他们希望用户拥有最新的稳定版本,而不是永久推迟更新。

答案1

因为他们不知道您或您的邻居可能从哪个版本更新,因此不知道哪些依赖项可能发生了变化。

如果他们要考虑原始安装的版本,那么他们将有几千个安装程序或安装程序中的大量“检查版本并安装更新版本”的逻辑。

“检查所有内容”阶段的逻辑远远超出了不顾一切地安装所有内容的麻烦程度。当你必须有条件地检查所有内容时,你不妨假设它都是错误的,然后像它一样安装。

因此,它是一种更简单、更便捷的更新机制,出错的可能性更小。

答案2

您忽略的主要问题是安装程序以提升的权限运行。仅出于这个原因,它就必须是一个单独的程序。而且操作系统本身会警告您这种提升的发生,这很难保持沉默。

“增量更新”安装程序通常不会节省太多。更新替换主要可执行文件、在每个翻译文件中添加新字符串等情况很常见。此外,如果有人跳过增量更新,您就会遇到问题。

现在轮到你避免重复提升,但这需要保持提升的过程。这有一个缺点;无知的人不断抱怨“恶意软件”和“遥测”。

背景:我为大约 4000 万人使用的软件创建了 Windows 安装程序,并负责 20 多个更新。真正的问题是反复对我们自己的服务器进行 DDOS 攻击。你会惊讶于有多少人整夜开着他们的电脑。

答案3

我认为这可能是您正在寻找的。有一种名为的软件打包解决方案,Chocolatey它允许您使用一行代码进行安装和升级。他们已经拥有记事本++允许:

安装 Notepad++

choco install notepadplusplus

升级 Notepad++

choco upgrade notepadplusplus

事实上,它还有一个搜索工具,例如

正在搜索 vlc 播放器

choco search vlc

巧克力味拥有一个相当广泛的最常见 Windows 应用程序库。我理解你的痛苦。我曾使用 Chocolatey 安装/升级我使用的大多数常见 Windows 软件。

附言另一个很酷的功能是可以同时安装多个软件,例如

choco install 7zip vlc notepadplusplus

希望这能有所帮助。谢谢。

相关内容