01安装包到底是什么?
我们下载软件时,经常先得到一个
.exe、.msi、.pkg 或其他格式的文件。
这个文件通常不是“软件本体的全部最终形态”, 而是一个安装包或安装程序。 它里面可能包含软件需要的文件,以及“这些文件应该放到哪里、还要做哪些设置”的安装规则。
安装包
程序文件、资源文件、配置模板、安装说明……
安装到系统
复制文件 + 建立设置 + 完成注册
02安装时首先会把什么放进电脑?
最常见的一步,就是把软件需要的文件复制到指定位置。
程序文件
包含真正要执行的代码
资源文件
图片、图标、声音、语言包
动态库 / 组件
软件运行时可能调用的代码模块
配置和数据模板
帮助软件建立初始设置
在 Windows 中,程序文件常见于
Program Files;
在 macOS、Linux 等系统中,也有各自常用的软件存放位置。
03为什么还要创建配置和记录?
光把文件复制过去还不够。 软件和操作系统还需要知道一些信息: 软件装在哪里、有哪些组件、默认设置是什么、怎样卸载等。
软件文件
配置与系统记录
路径、版本、选项、卸载信息等
不同操作系统的做法不同。 例如 Windows 软件可能会写入注册表, Linux 软件可能会使用配置文件和软件包数据库, macOS 也有自己的应用和配置管理方式。
04软件为什么还需要“依赖组件”?
有些程序不会把所有功能都自己重新写一遍, 而是会使用系统或其他公共组件提供的能力。
这些“程序运行时需要,但自己不一定完整包含”的东西, 常叫作依赖(Dependency)。
某个游戏
所以你有时会看到安装程序顺便安装 Visual C++ Runtime、.NET Runtime、Java Runtime 或其他组件。
05快捷方式和文件关联是怎么来的?
安装程序还可能帮我们做一些“方便使用”的设置。
创建快捷方式
桌面或开始菜单里的图标通常只是指向真正程序的位置
建立文件关联
例如让 .jpg 默认由某个图片软件打开
加入系统菜单
某些软件会增加右键菜单或系统集成功能
06为什么安装软件有时需要管理员权限?
因为安装程序有时需要修改系统范围的内容, 例如写入系统目录、安装驱动、注册服务、修改系统设置。
07是不是所有软件都必须安装?
不是。
有些软件可以直接解压后运行, 通常被叫作绿色软件、便携软件(Portable Software)。
需要安装的软件
可能要复制文件、写配置、注册组件
便携软件
通常解压后就可以直接运行
08卸载软件时又发生了什么?
卸载可以看成安装过程的“尽量反向操作”。
删除程序文件
移除安装时复制的主要文件
移除关联和快捷方式
取消系统中的相关入口
清理部分配置
删除安装记录和部分设置
但很多卸载程序会故意保留用户文档、存档或个人设置, 这样重新安装后还能继续使用。
你已经知道了什么
- 安装包通常包含软件需要的文件,以及告诉安装程序“怎样安装”的信息。
- 安装软件常常会复制程序文件、资源文件、动态库、配置模板等内容。
- 安装程序还可能创建配置、系统记录、卸载信息和其他集成设置。
- 软件可能依赖运行库、系统组件或其他公共环境,这些叫作依赖。
- 快捷方式只是指向真正程序的入口,删除快捷方式通常不会卸载软件。
- 建立文件关联后,操作系统才知道某类文件默认交给哪个程序打开。
- 安装软件有时需要管理员权限,是因为它需要修改系统级目录或配置。
- 不是所有软件都必须安装,有些便携软件可以直接运行,但运行后仍可能产生配置或缓存。
- 卸载软件通常会删除主要程序文件和系统记录,但用户数据和部分配置可能会被保留。
下一个问题: 既然电脑会根据文件类型选择软件, 那为什么不同文件需要用不同的软件打开? 下一篇:为什么不同文件要用不同软件打开?