Tom*_*Tom 46 windows installer portable-apps
我最近一直在尝试减少在我的 Windows 机器上“安装”的东西(我讨厌安装程序 - 我需要知道程序把东西放在哪里......),而是选择使用便携式或独立版本的应用程序。
我将它们全部放在与 Windows 分区分开的驱动器上的“程序”目录中,因此每当我重新安装时,我都可以轻松使用所有应用程序,而且从好的方面来说,我得到了一个很好的干净设置。
像 Office 和 Creative Suite 这样的应用程序仍然需要我经历一个极其漫长的安装过程,在这个过程中,我的系统中会出现一千个随机库和工具。
为什么 Windows 应用程序仍然需要安装?为什么我们不能直接将 Photoshop 拖到一个像 OSX 那样的文件夹并让它工作?有没有其他人专注于便携式应用程序,或者我只是对整个事情有强迫症?
小智 35
安装程序是多年进化的结果,一点点(简化的)历史有助于理解他们为什么要这样做。
Windows 3.1 模型建议每个应用程序使用 config.ini 样式的配置文件,并支持进入系统文件夹的共享库,以防止重复和浪费磁盘空间。
Windows 95 引入了注册表,允许应用程序配置的中央存储替换许多配置文件。更重要的是,windows 配置存储在同一个地方。
由于应用程序没有自行清理,注册表变得臃肿。DLL 地狱的发生是由于相同共享库的多个版本相互覆盖。
.NET 引入了 app.config 的概念(几乎是 ini 文件标记为 2,这次有更多的结构,节省了开发人员浪费时间编写手动解析器的时间)。GAC 被引入版本共享程序集,以防止 DLL Hell。
在 Windows XP 和 Vista 中,Microsoft 尝试将用户空间定义为在单个标准位置存储用户数据和配置文件的地方,以允许漫游配置文件和使用安装在 Program Files 中的应用程序轻松迁移(只需复制您的配置文件) .
所以我想,原因是“windows 中的应用程序被设计为位于一个地方,它们的共享依赖关系在另一个地方,而用户特定的数据在另一个地方”,这几乎与 xcopying 单个位置的概念相悖。
.. 那是在您必须配置用户帐户、设置和确保安全权限、下载更新和安装 Windows 服务之前...
xcopy 是“简单的情况”,当然不是最适合所有情况。
好问题,不久前我在 Stack Overflow 上问了一个相关的问题。
答案通常似乎是“因为我们过去就是这样做的”。对不起,但这对我不起作用。
其他一些人说主要原因是由于注册表。如果您正在谈论设备驱动程序或某些其他 COM 组件等,那么是的,这可能是必要的,但不适用于 GUI 应用程序,例如文字处理器或电子表格。
很有可能编写一个应用程序来检查启动时所需的注册表设置,并提示用户输入/使用默认值。或者,正如许多便携式应用程序目前所做的那样,jst 让用户知道操作系统集成目前是有限的,因为您在便携式模式下运行。
安装人员通常也有很多关于应用程序如何工作的“知识”。然后当应用程序更改时,您通常也必须更新安装程序。这是我在时间编程中看到的错误/问题的典型原因。
这是一刀切的方法。
小智 7
简单而直率的回答:这只是一个谁拥有控制权的问题。现在的大多数软件都是由企业巨头为企业或机构环境设计的,在这种环境中,用户被告知该做什么,而不是告诉他们的计算机为他们做什么。
你的问题非常重要,因为它提出了一个关于个人权利和自由的基本问题,这些权利和自由正受到越来越多的侵蚀,这不是像旧社会那样的暴君,而是企业的贪婪和少数人控制多数人的需要。
事实上,我们似乎忘记了,那些曾经谴责IBM等巨头暴政的人,已经变成了这个时代的IBM……仔细看看微软、苹果的商业行为和 Adobe 仅举几例,并板着脸告诉我,他们的限制性许可证比 IBM 的商业实践更良性,同一个 IBM 凭借其开放性,实际上引领了个人计算革命的道路......
多年来,我一直在使用许多独立的便携式应用程序,无一例外地证明它们在占用空间和资源方面是最有效、最快和最小的,最后但并非最不重要的是,它们不仅优于他们的臃肿软件同行,但大多数时候,他们也是免费的。
是时候进行第二次个人电脑革命了。通过减少膨胀和明确设置的存储位置来提高可移植性,将设置存储在有形物理介质上不同物理位置的一个不同文件夹中,是朝着正确方向迈出的一步。