【51CTO独家特稿】不是所有的程序文件都以MSI格式开发出来的,使用ZAP方式部署肯定不会比指派的方式让我们的管理轻松。怎么办?微软从OnDemand Software公司得到了一个工具的简化产品,从Windows 2000 开始就已经保存在您的系统安装光盘上。对于Windows 2003 Server中的这个免费的MSI打包器叫做WinINSTALL LE,完整的名称是WinINSTALL 8 。
首先让我们了解一下MSI程序工作的方式。一个程序在运行的时候必须要有一个信息表,它负责将程序安装到系统里的所有文件和注册表信息记录下来,这也就是为什么MSI文件卸载非常容易的原理。而Setup.exe 或者Install.exe文件就有可能没有这个记录表。为了让这些程序转换成MSI程序我们就可以先对运行Setup.exe前进行一份系统的快照,将系统定格到一个静止状态。之后我们在对运行完Setup.exe的系统快照,两者一比较就可以得到这个记录表了。WinINSTALL LE就是为了实现我们的想法而设计的。
下面就以WINRAR这个常用的压缩软件为例。(切忌!不要开启其它的应用程序)
安装与准备
首先需要先安装好“裸机”,这个干净的系统,最好只是包括了操作系统和各项系统驱动程序。然后安装WinINSTALL和其它准备,我们可以从微软网站上得到最新的版本。下载后用解压缩开,然后找到WinINSTALLLE.msi安装包开始安装。当安装到提示我们输入共享名称的时候注意不要和已有共享名相同(如图1:WinINSTALL向导一)。
图 1 WinINSTALL向导一
安装完毕后我们检查一下,在刚刚设置的安装目录中存在“DiscoZ.exe(发现程序)”,而程序组中可以找到“MSI编辑程序”。另外,需要在服务器上建立针对WinINSTALL的共享文件夹,要保证准备好的客户端通过网络能够访问到WinINSTALL的发现向导。
取得裸机快照
客户端以administrator身份登录,在“开始”→ “运行”中输入“发现程序”的网络路径,我们可以找到如这个“DiscoZ”的程序,如图2所示。
图2 DiscoZ图标
双击后执行,看到向导后点击“Next”,进入到(如图:扫描向导)MSI的保存路径界面,输入WINRAR名称和保存路径。
图3 扫描向导
下一步“发现程序”将对提示时文件的保存位置,默认选择C:盘就可以。进入到关键部分(选择扫描位置),这里让我们选择要扫描的磁盘,如果你是第一次操作默认选择C:盘。
图4 选择扫描位置
我们单击“Next”后提示我们要排除的范围,你甚至可以通过“Enhanced Registry Scan(注册表增强扫描)”对程序调整的更加细化。如果没有问题了单击“Next”扫描操作立即开始,当弹出“Before(事前)”对话框以后表示扫描结束,这个时候会询问我们要安装的程序(如图5:第一次扫描结束)。
图5 第一次扫描结束
安装完毕后要使用WinRAR操作一下,保证程序没有问题,为了测试我们还为WINRAR建立一个快捷方式到桌面。
安装软件后的快照
完成测试工作我们重新启动 WinINSTALL LE,接下来的工作它会为我们扫描都作了哪些改动,我们可以管这一步叫 “After(事后)”。WinINSTALL LE 向导程序重新启动,会让我们确认安装文件的文件名、MSI名称和路径。如果确认一切没有问题我们选中“ Perform the “After”Snapshot Now ”。在整个过扫描过程中的大部分的警告会提示关于URL路径的问题,我们都可以不用理睬。当出现标题栏为“Conversion Successful(转换成功)”后,我们从服务器上通过“开始—程序”菜单打开 Software Console,首先要点击左上角的“Windwos Installer Package Editor(安装器程包管理器)”,通过“OPEN”菜单找个刚才制作好的WINRAR.MSI文件界面如图6所示。
图 6 重新编辑WINRAR.MSI
之后,就可以这对刚才的WinRAR建立一个新的软件部署策略,当我们从客户端看到WinRAR的安装界面的时候,证明你已经完成了组策略安装非MIS文件方法设置了。另外,需要提醒一下,创建MSI文件中最好不要输入中文信息,在编辑软件的时候尽量将其编辑成简单的英文信息,否则生成的MSI文件安装时会有乱码的。
【51CTO独家特稿,合作站点转载请注明原文译者和出处。】
【编辑推荐】