1          利用WinInstall LE制作<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

要将exe格式的软件重新打包成msi格式的软件,可以使用OnDemand Software公司的WinInstall LE打包工具。
首先让我们了解一下MSI程序工作的方式。一个程序在运行的时候必须要有一个信息表,它负责将程序安装到系统里的所有文件和注册表信息记录下来,这也就是为什么MSI文件卸载非常容易的原理。而Setup.exe或者Install.exe文件就有可能没有这个记录表。为了让这些程序转换成MSI程序,我们可以先对运行Setup.exe前进行一次系统的快照,将系统定格到一个静止状态。之后我们在对运行完Setup.exe的系统快照,两者一比较就可以得到这个记录表了。
WinInstall Le的工作原理,就是执行两次系统的快照扫描,将两次快照扫描之间的系统和注册表的变化对比后,将差异记录并保存,再结合程序打包成为相应的msi包。
1.    安装一个 干净的操作系统
  这个干净的系统,最好只是包括了操作系统和各项系统驱动程序,(没有什么特殊的桌面设置,没有网络驱动器),至于系统补丁微软说可以装,但我是在没有安装系统补丁的情况下制作的,网上有人说按照这种提示没有做成过。因为我们在日常的管理过程中经常会针对一些小软件自己制作成MSI包,所以VM是最好的辅助工具,制作完成MSI后直接用快照恢复就可以了。
2.    安装WinINSTALL  LE
WinInstall LE工具我们可以从Windows 2000安装光盘的\VALUEADD\3RDPARTY\MGMT目录下找到,但该软件版本比较低,实际使用的效果并不是很理想,可以到[url]http://www.ondemandsoftware.com/PurchaseLE.asp[/url] 下载最新的WinInstall Le 2003版。
下载后用WinRAR解开,然后找到WinINSTALLLE.msi安装包开始安装,安装完毕后我们检查一下,在刚刚设置的安装目录中存在“Disco32.exe(发现程序)”。

 

1.进行第一次快照
Administrator身份登录系统,进入到“C:\Program Files\OnDemand\WinINSTALL”目录,找到这个“Disco32.exe”的程序。双击后执行;
看到向导后点击“Next”
进入到MSI的保存路径界面,这里以360安全卫士为例进行打包,输入360safe名称和保存路径,点击“Next”;
下一步发现程序将对提示你临时文件的保存位置,默认选择C:盘就可以,点击“Next”;
进入到关键部分——选择扫描位置,这里让我们选择要扫描的磁盘,这里选择的是C盘,点击“Next”;
 
出现提示,在用Discover程序扫描时,所要排除的范围,你也可以增加或删除你要排除的范围,以加快扫描速度,这里我选择默认的设置,点击“Next”;

 

出现完成窗口,点“finish”开始扫描;
在扫描过程中,你可以在任何时候点“cancel”来中断扫描。
扫描完成后,出现提示扫描已完成,弹出“Before”窗口,点“确定”。 这个时候会询问我们要安装的程序。找到360安全卫士所在目录,进行360安全卫士的安装,此过程就不赘述了。另外你安装完毕后要使用360安全卫士测试一下,保证程序没有问题。
2.执行第二次After快照
软件安装完毕,并确保软件正常可用之后,我们需要重新启动 WinINSTALL LE,接下来的工作它会为我们扫描都作了哪些改动,这一步叫 After(事后)”,进入到“C:\Program Files\OnDemand\WinINSTALL”目录,再次执行“Disco32.exe”;
确认安装文件的文件名、MSI名称和路径。如果确认一切没有问题我们选中“Perform the 'After' Snapshot Now ”。点击“Next”,开始扫描;
 
在整个过扫描过程中的大部分的警告会提示关于URL路径的问题,我们都可以不用理睬。
当出现标题栏为“Conversion Successful(转换成功)”,表现已经打包完成了,点击“Close”;
弹出完成的窗口,并说明生成的软件包的路径。
注:完成软件的打包之后,还需要对打包后的软件进行测试检测,通过安装使用以确定软件是否正常可用。