为什么大多数(Windows)程序都有“复杂”的安装程序?


-1

似乎做了很多复杂的事情 - 这也使得在原始卸载程序出现故障时很难卸载。

为什么不是这么简单:

  • 将所有唯一文件解压缩到一个文件夹。
  • 将某些共享dll /库解压缩(可选)到共享系统文件夹
  • 设置一些注册表设置(可以在程序启动时完成)。

我知道这可能有点 太多了 过度简化,但仍然..

我在谈论更大的应用程序,如Visual Studio,Office,Adobe套件,Maya等。


因为Windows从他的历史根源总是给程序控制放置东西的位置。如果他们想将自己安装到%APPDATA%,他们就可以,等等。因此,在安装程序方面提供选项。 Linux / Unix /类似的“强制”程序进入一个特定的方案,使用户更容易控制,因为没有所有程序可以单独管理,而是全部通过系统管理。这有利有弊。 Windows有例如。 DLL-Hell,其他操作系统依赖 - 地狱等
larkey

Windows确实有一个共享系统文件夹。注册表设置有时也由启动器应用程序处理。即使您的第三个陈述是真的,安装程序实际上也是一个存档,如果您愿意,可以手动提取。
Ramhound

程序用于从Windows 98天没有依赖项的程序文件夹运行,我仍然有一堆,将程序转移到另一台PC,你只是将该应用程序的程序文件夹复制到另一台PC,完成后,我想念那些天。程序变得更加复杂,就像生活中的其他一切,汽车,房屋,配偶,税收,工作......
Moab

Answers:


2

在您的步骤2中,如果我安装两个程序同时将相同的文件添加到共享文件夹,该怎么办?那么当我卸载其中一个时会发生什么?

它不难安装程序,它实际上就像你描述的那样简单。这很难 卸载 一个程序,没有其他程序共享文件/注册表项不会中断。

跟踪文件和注册表设置的“引用计数”以处理共享组件的能力是“复杂性”的大部分来自安装程序的地方。


1
更不用说您需要跟踪实际存储所有这些共享项目的位置以及它们的版本,特别是在程序仅适用于特定版本并且您必须具有多个版本才能在一个系统上共存的情况下...更复杂。
Mokubai
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.