我很困惑。现在我用C ++和Java编写一些小应用程序,但都不需要安装它们。为什么"大型应用程序"喜欢浏览器,媒体播放器,游戏等需要安装吗?
答案 0 :(得分:13)
有几个原因:
他们挂钩了系统。安装浏览器时,如果您打开一个以“http://”开头或以“.html”结尾的文件,它将被启动
使用应用的用户可以安装它们。如果您的应用程序没有附带安装程序,则用户会对如何启动并运行它感到困惑。他们不了解安装过程中发生了什么,他们只知道他们总是要这样做。因此,一些应用程序(不需要安装程序)附带一个简单的安装程序,以避免混淆。
许多复杂的应用程序可以通过各种方式完成任务。您可以在安装期间更改预设。一个常见的例子是要安装的应用程序的哪些部分。对于CAD系统,您可以在会议室中安装整个设备或只安装PC的查看器。
许多应用要求提供许可密钥和/或在线身份验证,以避免盗版。
许多应用都带有DLL。为了确保它们正常工作,它们会覆盖Window系统目录中的所有DLL(并且可能会破坏所有其他应用程序,但是谁在乎; - )
答案 1 :(得分:6)
通常,因为他们想要在计算机上存储状态和信息。例如,您的应用程序不会出现在“添加/删除程序”窗口中。许多程序(我个人不喜欢)喜欢将重要信息存储在注册表中以进行查找,这意味着您通常需要卸载程序(而不是仅仅删除程序)来进行清理,或者它们可能会将扩展程序引入资源管理器或其他项目。简单地删除程序将不会清除这些添加项,因此您需要一个卸载程序。
答案 2 :(得分:2)
主要是因为他们写入系统范围的数据或目录。例如,Windows应用程序写入注册表,可能还有C:\ windows \ system32。 UNIX应用程序倾向于写入主目录中的隐藏配置文件(例如,用于添加自身作为打开特定文件类型的选项),/ usr / share和/ etc。这是实际的二进制文件和库(可以放在/ usr / bin和/ usr / lib中)。
您的应用可能自包含在一个目录中,这就是不需要安装的原因。
答案 3 :(得分:2)
例如,可能有很多原因。
答案 4 :(得分:1)
一个主要原因是共享库(例如Windows中的DLL) - 而不是每个应用程序都有自己的DLL副本,我们的想法是将它放在一个所有应用程序都可以访问它的系统目录中。避免重复副本可以节省磁盘空间。
为了确保所有内容都在正确的位置,您需要一个安装程序 - 它不再像复制/粘贴包含您的应用程序的目录一样简单。
答案 5 :(得分:1)
安装只是意味着复制文件和设置注册表设置。应用程序越大,如果遵循标准程序就越容易。
当“安装”应用程序时:
幕后没有任何魔法,只是美化复制。
答案 6 :(得分:0)
因为他们做的事情如下:
等