首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >标准“安装”实际上是做什么的?

标准“安装”实际上是做什么的?
EN

Stack Overflow用户
提问于 2009-10-27 15:28:02
回答 6查看 7.7K关注 0票数 29

我或多或少只是一个业余程序员,在.NET ClickOnce世界中成长为编程高手。

当一个人“安装”一个程序时,实际发生了什么?!

另外:一些小的应用程序/工具只能从exe运行。为什么大多数程序需要一个花哨的安装过程?有什么优势,劣势,优缺点?安装通常是必要的,还是更像是标准做法?

对于额外的问题,我深表歉意。我只是希望有一个通俗易懂的外行来解释关键因素。

EN

回答 6

Stack Overflow用户

回答已采纳

发布于 2009-10-27 15:34:52

您实际上看到了许多遗留的原因,所有这些原因都已经成为Windows世界的标准实践。

首先,一些对比,因为它并不总是这样的。Mac中的“应用程序”只是一个目录,其中包含特定的结构,并以.app扩展名命名。安装一个应用程序很简单,只需将它(应用程序图标)拖到您的应用程序文件夹中,而卸载则需要将其拖到垃圾桶中。就是这样,(通常)不需要花哨的安装程序。

在Windows上,应用程序通常是由需要“注册”的独立组件构建的。这涉及到安装程序将一些零碎的内容写入Windows注册表,以告诉Windows在哪里可以找到组件。是的,应用程序可能应该知道在哪里找到它们(因为它们都安装在同一个位置),但是多年的遗留和不同的组件连接方式让我们走到了今天的位置。

通常,Windows上的安装程序:

复制files

  • registers components

  • sets安全权限(如果appropriate)

  • adds图标到开始菜单和/或desktop

  • writes更多的东西到注册表,告诉添加程序到“添加和删除程序”
票数 36
EN

Stack Overflow用户

发布于 2009-10-27 16:07:25

该程序试图修改计算机的方式,使其工作,并使所有竞争产品失败。在Windows上,这意味着:

  • 修改注册表中的任意项,直到它变得缓慢并充满损坏的条目

  • 将DLL替换为您的软件可以使用的单个旧版本

  • 在尽可能多的地方传播尽可能多的文件

  • 创建卸载脚本,以保持用户无需重新安装操作系统即可摆脱软件的假象。在不太可能的情况下,用户尝试运行此脚本,您可以用类似于“该文件...可能被其他应用程序使用。是否确实要删除它?是/否/也许/任何答案/所有答案都是正确的”这样的问题来教育他/她不要再这样做了。

  • 将挂钩安装在隐蔽的位置,以便在计算机启动时运行软件。这可能会减慢启动过程,但您的软件将立即启动,因此这是一个很小的代价……给你的。

  • 做一些晦涩难懂的事情,这需要很长时间,但没有人知道你在做什么( 15分钟内“安装程序正在准备安装”做什么?)

  • 检查是否有足够的磁盘空间,但使用32位整数以确保它不能安装在1TB的磁盘上。

  • 一项重要的任务是安装失败并打印错误:“安装失败。这可能是因为安装了防病毒软件。请将其停用,然后重试。”这将确保用户开始不信任他们的杀毒软件(特别是在第二次安装成功时,因为安装程序中的模糊错误没有被触发),他们中的许多人会忘记再次启用病毒扫描程序,甚至卸载这个该死的东西。

世界各地的病毒作者也是人!垃圾邮件构成了互联网上的大部分流量,这一定意味着它很重要,谁不想成为这个地球上最大的社区的一部分呢?最重要的是,你可以通过这种方式赚大钱。你所需要的只是一个虚弱的良知和/或一些犯罪的能量。

  • 安装程序的一个非常重要的部分是增加注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Installer\UserData\S-7-9-23-64738-1349283462-3754093625-4491\IsYourWindowWideEnough\NotGivenUpYetHuh\GoAway\ImportantSystemInformation\Let See How You Can Handle Spaces\DamnIGottaStopSincePathsCanHaveOnl\ReinstalCtr

这个重要的系统计数器将帮助用户产生不稳定的错觉,直到他们强烈地想要重新安装整个系统。这将帮助专业的IT行业销售支持时间,销售新的计算机,更多的内存,更大的硬盘,或新的视窗版本(它们必须更好,对吧?)。

注意:如果你认真对待这篇文章,请寻求专业帮助。

票数 16
EN

Stack Overflow用户

发布于 2009-10-27 15:34:46

使用“花哨”安装过程的原因

  1. 用于记录安装过程,以便可以重放(修复)或撤消(卸载)
  2. 以执行简单文件复制以外的操作(创建注册表项、注册组件、执行其他任意操作

大多数安装的“标准”选项将是“所有通常需要的位,在一个标准位置,如程序文件”安装,没有自定义,可能没有启用一些专家级的功能。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1629220

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档