开发人员为什么不使安装在Windows上自动进行?[关闭]


35

这与“ 开发人员为什么不在linux上创建安装向导?相反,但很有趣,但让我认为“自动安装是自然的方式。为什么他们使用向导?”。 所以这是反问题:

我确定这与懒惰无关,但我无法理解为什么开发人员,甚至主要是面向消费者的应用程序,都不会进行完全不麻烦的全自动安装。相同的应用程序通常会在Linux上自动安装,那么为什么不使用Windows和Mac OS?

这种趋势是否有任何技术原因,还是仅仅是惯例?


6
MacOs也是自动的(几乎)-您通常只将图标拖到“应用程序”文件夹中。我猜在Windows中由于某些奇怪的注册表问题而无法正常工作
Lovis 2014年

3
“提出错误的解决方法”确实是一种意见。我认为用这种反演来分割问题的答案是不公平的,因为您不喜欢它的询问方式(以及有点古怪的imo)。任何到此为止的答案将仅仅是另一个有效答案的反函数。如果您觉得问题是倒退的,我会做出适当的回应,那就是添加您自己的答案以解释您的感受,然后从该角度回答问题。
Selali Adob​​or 2014年

2
Windows 8应用商店试图像大多数Linux发行版一样建立集中的软件存储库。
菲利普2014年

10
如果他们将其自动化,如何在不逃避法院的情况下捆绑恶意广告软件?
Raestloz

3
我认为这个问题的前提是错误的-许多Windows应用程序可以通过安装程序中简化的“使用标准设置”选项进行安装。提供其他选项(例如在哪里安装程序)只是有礼貌的事情。我真的不喜欢那些不允许我决定将它们安装在驱动器上的位置的程序。
GrandmasterB 2014年

Answers:


49

知情同意

用户首先应该能够决定是否要在计算机上安装该程序。在您看来,人们显然选择安装程序似乎是不言而喻的,但是恶意程序的主要特征是,无需计算机用户就可以知道它的安装。

通过UAC使知情同意更加明确。

许可协议

大多数现代软件都遵循“点击”模式进行许可。也就是说,用户在安装过程中同意许可条款,作为安装程序的条件。用户很少阅读这些协议并不意味着它们不受它们的束缚,尤其是当他们单击标记为“我同意这些条款”的复选框时。

配置选项

许多软件包都有选项,可让您以某些方式更改软件的安装方式。其中最简单的方法是让您决定是否要在桌面上显示图标,但是在较大的应用程序中,可以决定要安装哪些功能。

安装进度

尽管Windows生态系统中的程序在安装过程中(例如,无需注册的安装)的侵入性有所提高,但安装通常仍然是一项艰巨的操作。进度条和其他视觉辅助工具可以指示实际发生的事情。向导的最后一页告诉您安装是否成功。

入门

最后,最好的软件包会告诉您下一步该怎么做。第一步是什么,如何开始,如何获得帮助。大多数软件在安装后都会留下启动图标,仅此而已。永远不要高估用户的专业水平;在您看来令人难以置信,但仍然有些人不知道如何查找和启动他们刚刚安装的软件程序。


5
幻想安装过程快速,轻松。
Rotem

6
代价是该软件本身并不快速且轻松。烦人的安装程序比烦人的应用程序更容易原谅。
nwp

18
在我安装后,要求某人同意条款似乎是解决问题的一种有问题的方式。
埃里克·金

6
您的第一个原因“知情同意”是伪造的。自动安装并不意味着在用户不知道自己正在安装的情况下进行静默安装。自动化安装意味着您启动安装程序,然后它会处理其余的所有工作。启动安装程序本身的事实已经得到同意,如果用户要在安装之前弄清楚程序的作用,那么他们很早就已经从下载安装程序的网站或软件包中的软件包说明中了解了这一点。经理。
Lie Ryan

8
@LieRyan:许多Windows Installer程序都包含一个“静音”开关。如果一个人足够聪明地知道并使用它,那么是的,这是知情同意的。
罗伯特·哈维2014年

21

从我所看到的,它实际上可以归结为整个“ Windows体验”。也就是说,使任何操作选项对用户来说都尽可能可见。

我说这的原因是,安装不需要GUI。基于MSI的安装程序可以以类似于基于Linux的软件包的方式静默安装。GUI完全是可选的,但在那里仍然可以使用户直观地了解后台发生的情况。

在Linux中,这可以通过使用程序包管理器轻松完成。如果要安装软件包,则必须特别要求该软件包。对于技术含量较低的用户,通常可以使用基于GUI的软件包管理器供用户安装所需的软件。

在Windows中,不存在这样的东西。如果用户要安装基于Windows的软件,则必须分别查找和下载该软件。没有标准化的工具可以帮助用户配置和安装软件。因此,每个软件随附的安装GUI非常类似于Linux中的软件包管理器GUI。它只是为了允许用户配置安装并跟踪其进度而存在。

在很多情况下,由于存在管理GUI,因此不需要安装GUI。例如,流行的Steam平台将在安装脚本的帮助下,自动安装可通过Steam商店购买的任何游戏或软件。

另一个很好的例子是SCCM。系统中心配置管理器(简称SCCM)是用于管理网络上的计算机组的软件。它包括通过称为“软件中心”的GUI使软件可供安装的功能。单击任何按钮,即可使任何基于MSI的安装程序可供安装。在我工作的环境中,我们提供了从Adobe的Creative Suite到WinZip之类的软件。用户需要做的就是搜索目录以找到可用的内容,单击“安装”,然后等待确认。这几乎与我要在运行Linux Mint的家用计算机上安装某些东西的过程完全相同。


5
“也就是说,使任何操作或选项对用户来说都尽可能可见。” -当然。就像Windows会愉快地详细说明它在后台安装的更新一样。一条简单的消息“重新启动以完成安装67更新”会使谁满意?
拉斐尔2014年

在OS X的App Store或Homebrew诞生很久之前,安装过程仍然是自动进行的。集中式软件包管理不是​​这里的主要驱动力。
james_womack

6

Window使用msi文件,该文件的工作方式与其他程序包相同。可以通过设置标志以静默方式安装它们,但是默认行为是Windows提供了一个GUI,其中包含程序包中定义的所有配置选项。因此,对于普通用户而言,msi文件的行为类似于exe安装程序。

作为经常选择更改默认值的用户,我发现使用GUI是了解我在安装程序时具有哪些选项的最简单方法,并且可以方便地同时更改它们。

关于默认情况下完全无提示的安装程序的可能性。在Windows上,习惯上允许用户选择安装目录,如果在GUI中不允许使用该选项,那么您将遇到很多用户。此外,在安装程序时,用户习惯于至少看到最少的对话,如果您什么也不显示,他们可能会认为安装失败。


5

开发人员的确可以在Windows上自动进行安装,但是并非所有软件都以这种格式提供。与这里的许多其他答案相反,Windows确实具有一个标准的且被广泛使用的“程序包管理器”(与我同在),但是即使是在开发人员中,它也鲜为人知,因为它针对的是企业而不是最终用户。

它称为SCCM,每个大型企业都使用它来管理其Windows安装。除了能够管理软件包(推送软件和对客户端计算机的依赖关系)之外,它还管理Windows和其他已安装软件的更新。

SCCM甚至不被技术用户用来管理自己的计算机。它实际上并不是要为管理一台计算机带来很大的好处。实际上,如果没有Active Directory /未加入域的计算机,它甚至可能无法工作。因此,即使它确实管理软件和更新部署,我也不会真正将其称为Windows 软件包管理器

但是,我的意思是,Windows上有自动安装,并且被大型企业的系统管理员广泛使用。如果看到提供.msi下载的产品,则可能是因为它希望通过SCCM自动部署到数千台计算机上。

免责声明:我本人还没有使用SCCM,对此知之甚少,因此我可能对上面的一些细微之处是错误的。


0

在技​​术方面,Windows倾向于比Linux更好地集成程序(通过注册表)之间的集成。这需要正式的“安装”过程,而不仅仅是将程序复制到硬盘上(例如,启用上下文菜单)。某些操作系统(例如Mac OS)会在幕后或首次运行时执行某些操作,但Windows倾向于将其明确地作为安装的一部分。

在非技术方面,Windows倾向于设置它而忘记它。例如,Linux往往没有太多设置(安装选项),但是在运行程序时经常使用标志-因为您已经习惯了这样做;或在进入程序后更改选项。Windows更喜欢在指定的时间(安装)中使用设置选项的体验,而不希望用户每次运行程序时都使用命令行标志或设置选项。这会降低灵活性(因为您每次都可以使用不同的标志),尽管通常这对高级用户是公开的(例如,快捷方式中的选项);但为大多数用户提供了更简单的界面,并允许开发人员向用户展示一个简洁的界面,用于设置必要的选项和默认值。


0

免责声明:这主要是推测,但是基于我打包Windows应用程序以进行安装和部署的经验。

这完全取决于平台上的实际安装标准。在Linux上,标准是使用软件包管理工具,例如apt(基于dpkg / Debian的)或yum(基于rpm / RedHat的)进行安装。一旦提供了用于部署的软件包,构建向导就很浪费时间,因为绝大多数用户无论如何都会使用该软件包(作为其标准)。

通常,在Windows上,标准是基于GUI的安装。还有替代方案,但是,没有这些替代的是适合作为用于安装者100组%的替代:

  • 有软件包管理工具(例如Chocolatey,但是它们都还没有达到临界值-如果您仅提供基于软件包管理的安装,那么许多用户会因为他们需要安装其他软件来安装自己的软件包而烦恼程序(考虑令人讨厌的下载管理器)。大多数软件包管理工具也都针对技术用户,因此,如果您的软件不适合该用户群,那么为Chocolatey提供软件包将完全浪费时间。因为没有人会使用它。
  • 某些软件适合XCopy部署,但这仅适用于相对简单的软件产品。对于想要安装到闪存驱动器的用户(例如)而言,它很有用,但对于其他所有人而言,它却是一件好事。结果,许多选择发布XCopy安装文件的项目也提供了安装程序。
  • Chocolatey提供了一个命令行片段,可下载并运行安装程序。再次,尽管它快速且对技术用户很好用,但非技术用户将为此安装方法苦苦挣扎并被推迟。

如果您的软件足够复杂以至于需要部署,则它几乎必须提供用户期望的GUI安装。还有许多产品使构建这些向导变得相当容易,因此就开发时间而言,提供基于GUI的安装程序通常是最省力的选择之一。一旦有了基于GUI的安装程序,您就需要评估上述各项的成本效益比(请记住,新功能以负100分开头),对于许多产品而言,构建和维护这些替代品根本不值得付出努力。

请注意,具有某种“静默”模式的安装程序在Windows上非常普遍,但是,它往往不是默认模式-再次因为它不是标准模式。大多数Windows用户会发现一个安装程序,一旦您运行起来相当令人不安,就会立即自行安装。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.