关于exe文件、dll文件和msi文件的一些理解

参考:深入解析DLL:真相与应用-CSDN博客

DLL与EXE的区别-CSDN博客

以及网上的一些资料

exe文件

又称可移植可执行文件,可以加载在内存中,也可以供用户安装执行,作为程序的入口直接在系统上执行。与其相似的还有.com文件也是可执行文件。可执行文件内部是二进制,计算机通过读取二进制执行相应的命令。

例如我们想要打开一个文本,但是这个文本里面只有字符串,我们无法直接打开,那么就需要一个可供计算机执行的文件,去打开这个文本,例如notepad.exe,系统通过读取这个文件的二进制码,执行打开文本文件的操作,让文本文件显示在屏幕上。

dll文件

DLL文件,也称为动态链接库文件,包含代码、函数或资源的程序库,多个应用程序可以在运行时共享这些库中的信息,以提高内存管理效率和节约磁盘空间。为什么能起到节省磁盘空间这一功能呢,因为在许多可执行文件内有很多相似甚至相同的函数、代码、资源等等。那么如果我们同时安装了这些程序,在没有dll文件的前提下,我们是不是都要把这些函数资源安装下载到对应的程序内部,才能保证程序正常运行。那么如果有dll文件,我们就可以把这些运用广泛的代码函数做成dll文件,存在系统内部,成为系统的组件,那么其他程序在需要这个组件的时候直接调用即可,就不用下载了,这样大大节省了空间。

因此,如果一些dll文件丢失常常使得一些程序运行不了,这可能是因为下载不当或者,收到攻击导致文件丢失,可以尝试重启电脑,或者重装程序,或者找相应的修复工具修复

exe文件和dll文件的关系

dll文件虽然包含着可执行的代码,但是却不能单独执行,需要链接到其他可执行程序去执行,这种过程称为静态链接。

DLL中的代码是以 API函数形式存在的,可以把dll文件理解成一块块碎片,去修饰可执行文件这个大整体,dll文件是为Windows系统设计的,因此Windows系统支持的语言大都适用于dll文件,因此,它也可以节省程序的开发成本,让擅长不同语言的程序员能合作开发一个程序。

dll文件还有许多用途等待开发

msi文件

msi文件是Windows Installer的数据包,它实际上是一个数据库,主要应用于软件的安装、卸载和维护,作为安装文件,它几乎包含了所有待安装文件的所有信息,msi文件支持自动安装。

在windows系统中安装文件通常使用exe或msi文件,而两者是有区别的。

使用exe文件安装时更偏向于引导安装,在安装过程中会检查系统必备的安装包是否被安装下载,若没有会自动配齐,而msi文件不会,他只会安装主应用程序。

这样msi文件就有这样的优势,它随时可以被彻底的卸载删除,或者更改安装选项,在安装过程中,若出现错误,也可以恢复到之前的状态

你可能感兴趣的:(windows)