原创 setup msi这个是什么程序

2009-2-27 17:04 5123 0 分类: 工程师职场

1.MSI文件的由来


说到MSI文件,不得不先说说Windows Installer,它不只是安装程序,而是可扩展的软件管理系统。Windows Installer的用途包括:管理软件的安装、管理软件组件的添加和删除、监视文件的复原以及使用回滚技术维护基本的灾难恢复。另外,Windows Installer还支持从多个源位置安装和运行软件,而且可以由想要安装自定义程序的开发人员自定义。要想使用这些功能,就必须通过MSI文件。MSI文件是Windows Installer的数据包,它实际上是一个数据库,包含安装一种产品所需要的信息和在很多安装情形下安装(和卸载)程序所需的指令和数据。MSI文件将程序的组成文件与功能关联起来。此外,它还包含有关安装过程本身的信息:如安装序列、目标文件夹路径、系统依赖项、安装选项和控制安装过程的属性。


2.MSI的优势


Windows Installer技术就是合并在一起发挥作用的两个部分:客户端安装程序服务(Msiexec.exe) 和Microsoft软件安装(MSI)软件包文件。当双击MSI文件的时候,与之关联的Windows Installer 的一个文件Msiexec.exe 被调用,它将用Msi.dll读取软件包文件(.msi)、应用转换文件(.mst)进行进一步处理,然后 Windows Installer 执行所有与安装有关的任务:包括将文件复制到硬盘、修改注册表、创建桌面快捷方式,必要时显示提示对话框以便用户输入安装需要的信息,就这样,一个程序安装到了你的电脑上。
采用MSI安装的优势在于你可以随时彻底删除它们,更改安装选项,即使安装中途出现意想不到的错误,一样可以安全地恢复到以前的状态,正是凭着此强大功能,越来越多的软件开始使用MSI作为发行的方式了。   如果你对MSI文件感兴趣,可以用WinRAR等压缩软件打开,看一下里面的内容,满足一下好奇心。


二、细微之处增强系统的六大实例


有没有人认为Windows已经是最强大,最好用了吗?答案肯定是五花八门的,但我们可以让它变得更加强大。通过一个个小的插件程序,使系统功能更加强大方便,下面的几个工具就可增强Windows某些方面的功能。
小知识:MSI格式文件安装支持程序


WinMe和WinXP对MSI支持得很好,但其他版本的Windows就需要安装一个插件才能使用MSI格式的文件。下载地址:http://soft.km169.net/soft/html/3699.htm



用MediaPlayer8.0做MP3


MediaPlayer8.0默认的转换CD格式是WMA,并且默认还有版权保护,这样导致本机做的音乐文件没有许可证,无法在其它机器上播放(甚至本机重装系统后都无法播放),其实凭着强大的扩展性,MediaPlayer一样可以把喜欢的CD做成MP3文件。
首先要为WinXP加装压制MP3的升级包,到下边的地址下载后,压缩包里有两个文件,其中一个是MP3 Creation Pack for XP.MSI文件,双击运行,一路点“Next”就可以安装了,安装完成之后,再双击ENABLEMP3.REG文件,计算机就会自动将注册信息加入到注册表中,安装过程就这么简单。
安装完成之后,你可能发现系统没有任何的变化,但是实际上MediaPlayer已经可以将CD转换成MP3了,不过要更改一下设置。运行MediaPlayer,点击菜单中“工具→选项…→复制音乐”。将文件格式由“Windows Media音频”改成MP3,并将音乐质量设成合适的,一般选160Kbps就可以了(如果你对音乐比较不敏感,用的是30元左右的音箱,选56Kbps也没多大区别)(如图1)。同时,你也可以改一下保存MP3文件的默认位置,最后点“确定”按钮关闭“选项对话框”。


常用刻录功能放到右键中:ISO Power Toy


这是一个可以增强Windows刻录功能的工具。WinXP对刻录机有了一定的支持,可以直接把文件拖到空白的刻录盘中,然后刻录。但是这样简单的功能还不能满足我们的需要,我们经常要复制一张光盘到空白的刻录盘中,或者从网上下载一个ISO的镜像文件然后把它刻录出来,这时候我们经常使用第三方的工具,比如说CD Copyer等等,其实安装了这个插件以后,就不需要这类工具了,而且使用也更简单了。
安装过程很简单,双击运行IOSPowerToy.msi文件,然后一路单击“Next”就可以了。完成之后新增功能已经加入到右键菜单中了。
首先放入一张空白的刻录盘到刻录机里,然后在我的电脑的刻录机图标上单击右键,就会发现多了“Copy image to CD”一项,单击左键,会弹出如图2所示的界面。在Source(来源)栏里有两个选项,上边的“Image File”是通过一个ISO镜像文件来刻录光盘,下边的一个是把其他光驱里的光盘复制到刻录盘里,甚至可以选择虚拟光驱作为来源,下边的选框为选择刻录机。选好后按下一步,然后就没有什么需要设置的了,等光盘刻录完成后,刻录机会自动弹出。


DVD功能恢复插件


当WinXP刚推出时,Windows MediaPlayer对其播放DVD功能做了限制。但风声过了之后,微软推出了下边的工具,能发挥出MediaPlayer播放DVD电影的全部功能。和许多增强工具一样,安装了这个工具以后,MediaPlayer的界面没有改变,唯一不同的是对DVD光盘文件支持得更好了。
安全分析工具:Microsoft Baseline Security Analyzer
通过微软提供的这个工具,你可以对一些常见的由于设置错误而可能引起的安全漏洞进行扫描,当然,你的电脑必须安装的是WindowsNT4.0、Windows2000或者WindowsXP操作系统,如果电脑已经联网,这个工具甚至可以扫描网络中的每一台电脑,然后生成各个电脑的错误报告。需要注意的是,首先你要有系统管理员的权限;其次,如果扫描网络中的电脑,必须将WindowsXP中的“简单文件共享”关闭,否则只能扫描本地的电脑。


增强时钟功能:“时可通”Windows时钟升级套件


Windows自带了时钟程序,尤其在WinXP中,甚至增加了自动通过网络校准时钟的功能,但是对于农历功能支持的很不好,通过“时可通”软件能大大增强Windows的时钟功能。跟着提示安装以后,Windows时钟就增加了农历、通过Internet自动校时等功能。在标准Windows时钟界面基础上增加了可选的农历对照、节气、节日、属相等显示,用鼠标掠过屏幕右下角时钟时,同样可以增加农历显示和星期显示。网络校时可以进行校时周期、备选服务器显示,自动检测代理服务器并允许用户修改代理服务器,以解决局域网校时问题,而且系统自动检查新版本升级。


增强MSN Messenger


通过此插件,可以让MSN Messenger具有许多和QQ类似的功能,比如换背景图,当某个用户一上线就播放一段音乐等等。点Setup根据提示就可以安装了,安装后有5个选项,分别是更改用户昵称的显示方式、更改背景图片、更改字库的颜色、更改隐含的MSN设置、对特定用户设定。但是对于中文的MSN Messenger似乎不是很好用,只有更改背景、更改昵称可以使用,大家可以自己试一试。
注:以上插件都可在http://chenpan.vip.sina.com/download.htm下载。


[下一页]


三、定制自己的MSI文件


前面我们介绍了很多MSI文件的内容,其实MSI并不神秘、复杂,我们自己都能制作,并且制作MSI文件的工具已经在Windows的安装盘上了。


首先,找到Windows2000的安装光盘,双击下边的这个位置的文件:Valueadd\3rdparty\Mgmt\Winstle\Swiadmle.msi,


很快软件就自动安装到了电脑中。在开始菜单的所有程序里边就多了“VERITAS software”组,点击运行里边的“VERITAS discover”就可以开始制作MSI文件了。


制作MSI文件的基本原理就是,在我们安装一个软件以前,先给电脑的磁盘拍个“快照”。然后将要安装的软件安装到电脑中,并对注册表等内容做修改,等到确认这个软件能正确运行后,再给电脑的磁盘拍个“快照”。Discover软件会自动找出两次“快照”的不同,并且生成一个MSI文件。最后,如果你愿意,可以使用VERITAS software组中的另一个工具:Veritas Software Console对这个MSI文件进行进一步的包装、调整,这样一个MSI文件包就生成了。


下面,我们具体通过一个例子来介绍一下如何使用Discover生成一个MSI文件,假定我们的软件my的安装过程是:将my.exe文件安装到C:\programmeme files\myprog下,将run.dll放到windows\system里,在注册表的HKEY_LOCAL_MACHINE的software项中建立一个myprom项,并且在其中添加一个值为OK的Value项目。


第一步:运行Discover,弹出程序界面,可以直接点“Next”按钮继续。


第二步:在图3的对话框中,首先在第一文本框为你的程序起个名字,比如这里用的“My programmeme”;第二个对话框是输出MSI文件的存放位置和文件名,这里选择保存为E:\my_setup.msi;第三个框为压缩包的语言,可以使用其默认值。填好后点“Next”按钮。


第三步:为Discover存放快照文件选择一个临时的空间,可以选一个磁盘空间比较大的磁盘。


第四步:在接下来如图4的对话框中要选择Discover需要扫描并拍“快照”的磁盘,你的程序要装到哪个盘就选择哪个盘,并且点一下“Add”按钮加到要扫描文件的列表中,你可以选择几个或者所有的磁盘,不过这样会在扫描的过程中浪费更多的时间,所以应该尽量少选择磁盘。这里只选择C盘,因为我们的软件是装到C盘的。然后点“Next”。


第五步:在如图5所示的对话框中为上一步选择的每个磁盘选择需要扫描的文件夹或文件,因为我们上一步只选择了C盘,所以为C盘选择就可以了。另外,Discover自动加入了一些特殊的文件和目录,我们可以根据需要决定是否将它们移出要扫描的文件列表,不过最好保留它们。这里我们把“C:\programmeme files”和Windows文件夹添进去,先在左边的文件框中点中文件或文件夹,然后点Add按钮就可以了。对于注册表的扫描,Discover为了加快扫描速度,只扫描部分注册表,可以扫描到大部分程序对注册表的修改,如果不放心的话,也可以将下边的“Enhanced Registry Scan”点中,这样速度可能会慢很多,临时文件也大大增加,不过能对注册表所有的改动加以记录。由于我们的软件对注册表只是小改动,所以没必要选择扫描所有注册表。然后点“Next”继续。


第六步:接下来Discover将对系统进行扫描生成“快照”,要耐心的等待,可能要几分钟的时间才行。


第七步:在扫描完成后,会弹出一个对话框,大概意思就是告诉你扫描已经完成,问你是否要选择一个程序来运行,从而自动安装你的软件,我们正要制作安装程序,没有程序可运行,所以要点“取消”按钮。


第八步:接下来,我们就要手动安装自己的软件了,先将my.exe文件拷贝到C:\programmeme files\myprog下,再把run.dll拷贝到windows\system里,然后用注册表编辑器在注册表的HKEY_LOCAL_MACHINE的software项中建立一个myprom项,并在其中添加一个值为OK的Value键。注意,除了这些改动,应尽量避免其他无关的改动。然后我们试着运行一下刚刚安装的my.exe文件,测试一下是否正确安装。


第九步:确认安装没有问题了,要再次运行Discover程序,这次运行Discover时,出现的是如图6所示的一个界面,有两个选项,第一项是生成安装后的快照,用于与前一次的快照比较生成MSI文件,第二个选项是放弃上一次的扫描,当然要选第一项了,然后点“Next”。这时Discover又开始重新对电脑进行扫描,生成“快照”,并自动生成了安装文件。


第十步:如果你愿意,

可以启动与Discover程序在一起的VERITAS Software console对MSI文件的信息进一步更改,过程比较简单,只要先打开一个MSI文件,然后就可以进行改动了,这里就不介绍了。
就这样,我们就生成了一个自己的MSI文件了

广告

文章评论 0条评论)

登录后参与讨论
相关推荐阅读
eecttl_847842948 2009-06-03 17:07
学习uboot的感受
    为了将uboot移植到自己做的2440开发板上,最近看了很多uboot移植方面的文章。目前还是半吊子的我,记录一下我的感受。1、不管学习什么,最开始都要先有个框架式的认识。我一直没有,很不好。...
eecttl_847842948 2009-04-29 20:39
Boot Loader 设计转自詹荣开, Linux爱好者
本文详细地介绍了基于嵌入式系统中的 OS 启动加载程序 ―― Boot Loader 的概念、软件设计的主要任务以及结构框架等内容。1. 引言在专用的嵌入式板子运行 GNU/Linux 系统已经变得越...
eecttl_847842948 2009-02-27 18:15
AD Winter 09 初体验
第一次用Altium Dedigner Winter 09 画板子,将元器件导入之后,所有元器件出现绿色警告,在我没有设定任何规则之前。进入Tools\Design Rules Check 发现主要错...
eecttl_847842948 2009-02-27 16:59
系统管理员设置了系统策略,禁止进行此安装
     安装AD 09里面的 Board Level Libraries 时候,出现了这个问题,在网上搜了一下相关的资料,好像是office安装过程中比较常见的问题。里面讲到一个软件, Window...
eecttl_847842948 2009-02-26 11:00
altium designer 的多图纸总线与Duplicate Net Names 错误
    在网上看见一句话,只要将百度(GOOGLE)深挖,没有你查不到的资料。    Duplicate Net Names 这个错误上回错过一次了,实时的总结很重要,不然每次都要拼命的纠错。将百度好...
广告
我要评论
0
0
广告
关闭 热点推荐上一条 /3 下一条