SAV客户端自动WEB安装
Symantec提供了一个叫做webinst.dll的ActiveX控件,可以将指定的一个或多个文件下载到客户端,并在客户端运行其中一个文件。具体要发布的文件名称,运行参数等很多内容都可以设置,使用很方便。 这个控件挺有意思的,我们完全可以把它做为一个通用的Web发布工具,发布我们自己的程序。
SAV的客户端一般有八个文件,如果把配置文件grc.dat也包含在内的话,就是9个。grc.dat含有服务器对客户端的所有配置。该文件复制到客户端指定位置后,客户端就会依此找到服务器,系统重启后,该文件会被自动删除。
安装完毕后,最好再把webinst.dll卸载掉。
客户端程序正常安装后,还需要和服务器通信,这样如果系统有防火墙的话,就需要识别并允许该应用通过防火墙。由于现在Windows XP SP2的用户占多数,这里就主要考虑XP SP2的防火墙。
客户端和服务器是通过TCP协议用SSL技术加密的通信,这样客户端还需要复制服务器的证书。
Microsoft Windows Installer 是作为 Windows 2000、Windows Me 和 Windows XP 的组成部分随带的安装和配置服务。它也可从 Windows 95、Windows 98 和 Windows NT 4.0 中获得。Windows Installer 基于数据驱动模型,该模型在一个软件包中提供所有安装数据和指令。相比而言,传统的脚本安装程序基于过程模型,为应用程序安装提供脚本指令。脚本安装程序强调“如何”安装;Windows Installer 则强调安装“什么”。
利用 Windows Installer 每台计算机都保留一个信息数据库,其中的信息与它所安装的每个应用程序有关,包括文件、注册表项和组件。卸载应用程序时,将检查数据库以确保在移除该应用程序前没有其他应用程序依赖于文件、注册表项或组件。这样可防止在移除一个应用程序后中断另一个应用程序。
Windows Installer 还支持自我修复,即应用程序能够自动重新安装因用户误删除而丢失的文件。另外,Windows Installer 提供回滚安装的能力。例如,如果应用程序依赖于某个特定的数据库,而在安装过程未找到该数据库,则可以中止安装,计算机则返回到安装前的状态。
Windows Installer可用的参数可以通过在命令行键入“msiexec.exe /?”来查看。
Symantec AntiVirus 客户端安装程序利用 Windows Installer (.msi) 包进行安装和部署。可以使用标准的 Windows Installer转换参数和特定于 Symantec 的参数来自定义安装。
Symantec自己的参数包含手动安装时所有的选项,其实因为使用grc.dat,这些参数都不用设置,只需指明需要静默安装(/s),和安装后不需要运行liveupdate即可(runliveupdate=n)。
Msi参数可以选用指明安装过程显示基本界面的“/qb”
批处理中需要考虑客户端程序的静默安装;
在Windows XP SP2防火墙上允许rtvscan.exe穿过,如果不是XP系统或装有其它防火墙此条就需另行考虑;
解除webinst.dll的注册;
复制客户端配置文件;
复制证书文件;
重启symantec antivirus服务,使设置生效;
修改注册表,允许rtvscan.exe穿过XP SP2防火墙的方法
add_rtvscan_firewall.reg:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]
"C:\\Program Files\\Symantec AntiVirus\\Rtvscan.exe"="C:\\Program Files\\Symantec AntiVirus\\Rtvscan.exe:*:Enabled:Rtvscan.exe"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SharedAccess\Parameters\FirewallPolicy\StandardProfile\AuthorizedApplications\List]
"C:\\Program Files\\Symantec AntiVirus\\Rtvscan.exe"="C:\\Program Files\\Symantec AntiVirus\\Rtvscan.exe:*:Enabled:Rtvscan.exe"
批处理文件示例
@echo off
setup.exe /s /v"runliveupdate=0 /qb"
regsvr32 /u /s "%WINDIR%\Downloaded Program Files\webinst.dll"
regedit /s add_rtvscan_firewall.reg
copy /y grc.dat "C:\Documents and Settings\All Users\Application Data\Symantec\Symantec AntiVirus Corporate Edition\7.5\"
copy /y ***.0.servergroupca.cer "c:\program files\symantec antivirus\pki\roots\"
net stop "symantec antivirus"
net start "symantec antivirus"
用winrar制作自解压文件:
选择所有要打包的文件,然后右键单击;
“添加到压缩文件”-在“压缩选项”中选中“创建自解压格式压缩文件”;
在“高级”中单击“自解压选项”;
可以在“解压路径”中填入“%temp%”,以保证运行完后随时可以被删除;
在“解压后运行”中填入“setup.bat”,确保自动解压后可以接着自动运行批处理;
在模式中“覆盖方式”选“覆盖所有文件”,设置好后确定即可。
这样,把压缩好的exe文件传到服务器上,并在files.ini里设置好,自动静默安装就做好了。
使用中遇到过一个问题,就是机器原来装过SAVCE服务器,在控制面版里卸载后再安装客户端会有问题,应该用工具卸载后再安装客户端。
如果机器染过病毒,执行批处理时可能会有问题,需要再具体分析。
可以把这个自动安装系统装载IIS以外的地方,比如Linux的APACHE。但要注意文件名的大小写问题。