为什么不是所有应用程序都是“可移植的”?

为什么不是所有应用程序都是“可移植的”?

最近,我很少尝试在 Windows 机器上“安装”东西(我讨厌安装程序 - 我需要知道程序把东西放在哪里...),而是选择使用便携版或独立版的应用程序。

我将它们全部放在与 Windows 分区不同的驱动器上的“程序”目录中,因此,无论何时重新安装,我都可以轻松使用所有应用程序,而且从好的方面来说,我得到了一个干净的设置。

像 Office 和 Creative Suite 这样的应用程序仍然需要我经历一个非常漫长的安装过程,其中上千个随机库和工具被放到我的系统中。

为什么 Windows 应用程序仍然需要安装?为什么我们不能像 OSX 那样将 Photoshop 拖到文件夹中,然后让它运行?还有人关注便携式应用程序吗,还是我对整个事情有强迫症?

答案1

安装程序是多年演变的结果,了解一点(简化的)历史有助于理解它们为什么这样做。

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 是“简单情况”,当然并不适合所有情况。

答案2

XCOPY 部署微软宣布几年前就预见到了未来。至今仍一无所获 :)

同时,您可能对 PortableApps.com 平台感兴趣。

答案3

简单而直白的回答:这只是一个谁有控制权的问题。如今,大多数软件都是由企业巨头为企业或机构环境设计的,在这种环境中,用户被告知要做什么,而不是告诉计算机为他们做什么。

您的问题非常重要,因为它提出了一个关于个人权利和自由的基本问题,这些权利和自由正日益受到侵蚀,不是像旧社会那样受到暴君的侵蚀,而是由于企业贪婪和少数人控制多数人的需要。

事实上,我们似乎已经忘记了,那些曾经谴责 IBM 等巨头暴政的人,如今已经成为了当今时代的 IBM……只要仔细看看微软、苹果和 Adob​​e 等公司的商业行为,你就会毫不犹豫地告诉我,他们的限制性许可比 IBM 的商业行为更为温和,而正是 IBM 凭借其开放性,引领了个人计算革命之路……

多年来,我一直在使用许多独立的便携式应用程序,毫无例外,它们被证明是最有效、最快、占用空间和资源最少的,最后但并非最不重要的一点是,它们不仅优于那些臃肿的软件,而且大多数时候,它们也是免费的。

现在是第二次个人电脑革命的时候了。通过减少臃肿和明确设置存储位置(在有形物理介质上的特定物理位置上的特定文件夹中)来增强可移植性是朝着正确方向迈出的一步。

答案4

注册表和每个用户存储的组合。注册表是至关重要的部分,特别是如果你的申请是串口基于(这需要注册,注册发生在注册表中)。每个用户的存储(配置等)也是一个重要组件。唯一的好方法是将其存储在一些专门设计的目录中(参见独立存储)。

相关内容