主题:软件安装文件与EXE文件有什么区别?
324X789
[专家分:80] 发布于 2006-06-13 00:41:00
请教各位高手,为什么有的软件能在操作系统上直接运行而有的软件则需要安装在操作系统上,需要安装在操作系统上的软件有是怎么编成的?
请各位直言不诲,诲人不倦!
在下不胜感激!
回复列表 (共13个回复)
11 楼
臭石头雪球 [专家分:23030] 发布于 2007-04-24 16:19:00
不同的软件安装方式也不完全相同。
如 InstallShield 和 Wise , INNO ,NSIS 等多种打包方式。
利用这些打包方式,可以很容易地将若干文件和文件夹打包成安装程序。
如果复杂一些的软件,还可能在安装程序中加入对注册表的改动,文件关联的新建,共享 DLL 的添加(到 System32 等目录),还有 DLL 的注册等等。以及比较敏感的注册信息。
在运行安装程序的时候,会在安装时选择的安装路径中释放出安装程序包里面包含的文件,文件夹等。并执行安装脚本(加入注册表,注册 DLL,添加关联等等)。同时建立反向安装的卸载程式。
有一些软件可以无需安装,直接从安装程序包里面提取包含的文件。比如:Universal Extractor 等。但是提取出来的不一定可用,因为有些安装脚本内容是必须的。(比如注册表信息等)
也可以手动编写安装程序,个人觉得比较复杂。(至少我没有干过~~)
如果楼主安装过 Visual Studio 的话,可以利用它建立 Windows Installer 的打包安装程序 *.msi 。(不是可执行文件)
12 楼
jxtquber [专家分:20] 发布于 2007-04-24 17:14:00
我的理解:
安装文件主要目的就是安装完成后让软件能正常工作(废话),这就需要判断软件工作的话需要什么?数据库?共享dll?数据、图标资源?控件?等等,判断完之后,用一些软件,比如install shield就可以将这些资源全部整合,加上软件本身的一些内容,形成一个安装包;
这个安装包就包含了所有内容(也不一定是所有,可能有很多共享文件并没有在安装包里面,比如一些windows的支持文件),安装包安装的时候就会做你整合安装包时候需要它做的一些动作,比如将文件拷贝到某个目录下面,注册某些键值,安装某些服务,形成开始菜单,形成快捷方式等等;
这些只是我的一些浅陋之谈,关于做安装包的方法视你的需要了,简单的,你甚至可以用一个winrar压缩成可执行文件,复杂的话,用一些工具编写一些脚本也可以完成!
我常用的是install shield,讲这个软件的教程很多,就不需要我来讲了,我懂得也只是皮毛。。
13 楼
324X789 [专家分:80] 发布于 2007-04-26 08:52:00
呵呵,多谢,两位指教!小弟谢了。
我来回复