原地址:http://nickzp.blog.51cto.com/12728/118326
我们在使用SMS进行软件分发时,可能会遇到这样的情况:我们希望软件在安装过程中无需与用户进行交互,但软件的原有的安装程序不支持如我们在SMS2003软件分发指南一文所提及的参数,也没有提供*.sms、*.pdf等定义文件,那么,我们考虑使用第三方工具为这些不符合条件的安装程序重新进行打包,将其做成MSI类型的安装文件,再利用SMS或者组策略进行分发。
市面上流行的很多工具都可以实现重新打包的功能,其中Macrovision公司的FLEXnet AdminStudio是其中的佼佼者,其各个版本都带有repackager功能模块,更值得一提的是,FLEXnet AdminStudio免费提供For SMS的版本,此版本可以到微软官方站点进行下载。<?xml:namespace prefix = o />
此次我们进行分发重新打包测试的软件为KindTools推出的KindDiary,其安装程序只有一个文件 kinddiary_setup.exe。我们建议在实际进行软件重新打包前,选择一台与实际客户环境相似的机器进行FLEXnet AdminStudio的安装,并在运行Repackager时关闭不必要的应用程序。限于试验条件,我在SMS Site Server上安装FLEXnet AdminStudio。
以下为使用FLEXnet AdminStudio SMS Edition为KindDiary安装程序进行重新打包的具体步骤:
从程序菜单中运行Repackager :
在打开的主界面中,我们可以看到完成Repackage的几个大致步骤:
我们按向导,分三步完成相关过程。
(1)我们选择"Start the Repackaging Wizard to capture a new setup",打开向导
点击next,选择一种重新打包的方式
我们有如下两种模式选择:Snapshot以及Installation Monitoring,两种模式的特点如下:
a)Snapshot:需要与将来进行软件分发的目标机器相似同时较为干净的系统,通过其重新打包的软件可以在Windows 9x、NT 4、 Me、 2000、XP或更高版本的操作系统上运行;
b)Installation
Monitoring:运行过程显著快于Snapshot,且对操作系统的环境也相对Snapshot来说来得没有那么严格,但其重新打包的软件不支持在Windows 9x和Windows Me上运行。
具体的工作原理如图4中描述。
为了使重新打包的软件具有更好的兼容性,我们选择Snapshot方式。点击next,选择Single Setp做为Snapshot的模式:
选择kinddiary软件的安装程序,并填写相关信息
在开始相关第一次信息分析前,我们还可以选择需要分析内容以及限制分析的文件夹
设置完相关选项后,我们开始第一次信息分析:
等待其完成后,Repackager会提示你可以开始运行安装程序了
我们使用默认设置进行软件的安装,直至完成。
点击Finish后,Repackager提示可以开始第二次信息分析
分析过程持续时间较长
等待其完成
点击OK,我们可以看到Repackaging向导的Summary。至此,重新打包第一阶段的操作完成。
(2)我们回到主界面,可以看到此次重打包的概要已经在Detail面板中呈现出来了
我们具体分析抓取的数据。首先选择Files and Folder,按实际情况将某些不是软件安装产生的文件或文件夹进行手动排除
同样,对注册表对象、快捷方式进行设置
填写Package Information
根据实际情况选择高级设置中的内容,这里需要注意的是,如果你希望制作的msi文件在安装过程中可以选择诸如安装路径等,请勿选中下图中的选项。
(3)制作msi文件
在完成上面两步后,我们已经为msi的制作做好了准备。选择build,开始msi文件的制作: 软件分发测试验证
在完成重新打包的过程后,我们需要验证msi文件的可用性。简单的方法是寻找一台客户机手动运行此msi包,看是否能够成功运行完成,软件可以正常使用。 这里我们使用SMS进行此软件的分发,并在客户端验证其可用性。
软件分发详细的描述可参考SMS 2003软件分发指南,这里只进行简单描述。
从控制台中新建一个package
选择KindDiary.msi文件
完成package的创建后,我们查看program的信息
我们可以看到已经自动建立了6个program,其中per-system unattended正是我们需要的program
新建一个advertisement,进行相关设置
应用后,等待客户机执行安装,可通过查看Advertisement Status确认安装程序是否分发到客户机并执行
从客户机上也可以发现安装的软件
运行KindDiary,发现其可以正常使用了。