用Veritas创建MSI文件
在之前的博文中,我们介绍了组策略中可以使用发布和指派两种手段进行软件分发。我们举例发布的都是MSI格式的软件,但很多小型的工具软件并没有提供MSI格式的安装程序,大多只有EXE格式的安装文件。众所周知,组策略发布并不支持EXE格式的安装程序,那我们应该如何处理这些工具软件呢?今天我们要为大家介绍的就是如何把这些EXE格式的安装程序转换为MSI格式的文件,格式转换之后,我们就可以顺利地对这些MSI格式的工具进行发布或指派了。
MSI文件是Windows Installer的数据包,它其实是一个数据库,包括了产品安装或卸载所需要的各种参数。这些参数中比较重要的就是软件安装过程中对文件系统以及注册表的修改,获得了这些参数,就可以创建相关的MSI文件了。那么,我们如何才能获得这些参数呢?基本的思路是,先用特定软件对一个干净的操作系统做一个快照,记录一下当前系统的文件系统和注册表。然后开始安装工具软件,安装完工具软件后再对操作系统做一次快照。把安装软件前后的快照内容进行对比,就知道工具软件在安装过程中对文件系统和注册表进行了哪些修改,进而可以创建出工具软件的MSI文件。
可以完成MSI文件制作的特定软件很多,例如我们在APP-V系列博文中曾经介绍过,序列化虚拟应用程序时就可以生成MSI文件。但APP-V的环境搭建过于复杂,今天我们为大家介绍一款入门级的MSI制作工具-Veritas。这款工具就集成在Windows Server 2000的安装光盘上,注意,是Win2000的安装光盘,不是Win2003的安装光盘。我们为大家实际举个例子,用SWIADMLE制作Winrar的MSI文件。 找一台干净的系统,还没有安装Winrar软件。我们在计算机上打开Win2000安装光盘。如图1所示,在安装光盘的Valueadd\3rdparty\mgmt\winstle目录下,我们看到了SWIADMLE.MSI文件,双击文件开始安装。
图1
如图2所示,SWIADMLE的安装过程非常简单,基本没有任何交互过程,很快安装完毕。
图2
安装完SWIADMLE后,如图3所示,依次点击 开始-程序-VERITAS Software-Veritas Discover,准备对当前系统先做一次快照。
图3
如图4所示,Veritas Discover开始执行,Veritas的界面非常粗糙,不敢恭维,点击“Next”继续。
图4
如图5所示,我们需要填写一些参数。本次任务针对的应用程序是Winrar,生成的文件会存储在E盘的根目录下,文件名是winrar.msi。
图5
如图6所示,我们要选择一个盘符用于存储建立快照时所产生的临时文件,我们选择把临时文件存放在E盘。
图6
如图7所示,我们要选择对哪个磁盘建立快照。考虑到安装Winrar软件,只会影响到C盘的文件系统,因此我们只选择对C盘建立快照。
图7
如图8所示,我们可以选择把C盘的哪些文件夹排除在快照之外,例如安装Winrar并不影响Inetpub目录,因此可以考虑把Inetpub目录排除在快照之外。如果Winrar安装时修改的注册表项较多,还可以勾选“Enhanced Registry Scan”以进行增强的注册表扫描。
图8
如图9所示,Veritas开始对当前系统创建快照,记录当前的文件系统和注册表参数。
图9
如图10所示,安装工具软件之前的快照已经创建完毕,点击“确定”按钮,Veritas将提示我们安装Winrar工具软件。
图10
如图11所示,在Veritas的提示下,我们选定Winrar的安装程序,准备安装Winrar。
图11
如图12所示,Winrar开始安装,安装过程不再赘述。
图12
安装完Winrar后,文件系统和注册表发生了变化。再次运行Veritas Discover,如图13所示,这次我们要创建的是安装软件之后的系统快照。
图13
第二次快照非常简单,如图14所示,Veritas自动把两次快照进行对比,就在E盘的根目录下生成了Winrar.msi文件。经过测试,Winrar.msi可以正常安装,用于组策略发布,大家可以实验测试一下。根据使用经验,一般的小工具用Veritas处理一下还是没有问题的。
图14