使用Python脚本自动安装瑞星杀毒软件

栗子
栗子
发布时间:2026-10-13 | 5人浏览过
原创

本文介绍如何利用Python结合Win32all模块,编写自动化脚本以静默安装瑞星杀毒软件。通过配置文件管理序列号、ID及安装路径,模拟键盘操作完成安装流程,适用于系统重装后快速部署安全软件的场景。

自动化安装背景与需求

在系统崩溃无法启动或重新安装操作系统后,能够便捷地部署最新版本的杀毒软件至关重要。


然而,每次手动安装都需要多次点击“下一步”按钮,并手动输入序列号、ID等关键信息,这种重复且繁琐的操作令人厌烦。为此,我编写了一个小型脚本,旨在实现安装过程的自动化,从而


让我在安装过程中得以休息片刻。


该脚本基于Python 2.3版本及COM对象技术构建,因此要求运行环境必须安装Python 2.3或更高版本。


此外,系统还需安装Mark Hammond开发的Win32all模块。


(特别感谢Mark Hammond开发了强大的Win32all模块,同时也向Python开发团队致敬,是他们创造了Python这一神奇的语言。)


脚本的使用方式十分简单。首次运行时,需在命令行界面执行命令:RisingInstall.py -c RisingInstall.cfg。


该命令会在当前目录下生成一个配置文件。打开该文件,需修改sn、id、path、execpath这四个参数,分别填入对应的序列号、ID号以及软件安装路径。


同时,还需指定安装程序所在的目录路径及安装程序的文件名。


完成上述配置后,直接运行RisingInstall.py脚本即可开始自动安装过程。


复制代码

Python脚本实现细节

具体代码实现如下:


######################################################################

# Create By WormChocolate


# RisingInstall.py Version Beta 1


# 2005/02/22 19:17 PM


# Test Wscript.Shell Object's Install Rising-Setup in Python


######################################################################

import win32com.client,time,os,sys,ConfigParser


wsh = win32com.client.Dispatch("Wscript.Shell")


def InstallRising(ConfigFileName="RisingInstall.cfg"):


if os.path.exists(ConfigFileName):


cfg = ConfigParser.ConfigParser()


cfg.read(ConfigFileName)


try:


sn = cfg.get("Install","sn")


id = cfg.get("Install","id")


installpath = cfg.get("Install","path")


execpath = cfg.get("Install","execpath")


splashsec = int(cfg.get("Program","splashsec"))


languagesec = int(cfg.get("Program","languagesec"))


itemsec = int(cfg.get("Program","itemsec"))


wshe = wsh.Exec(execpath)


pid = wshe.ProcessID


except:


print "ConfigParser faile"


sys.exit(1)


if pid != "":


wsh.AppActivate(pid)


time.sleep(splashsec)


wsh.SendKeys("{ENTER}")


time.sleep(languagesec)


wsh.SendKeys("%n")


#time.sleep(itemsec)


wsh.SendKeys("%a")


#time.sleep(itemsec)


wsh.SendKeys("%n")


#time.sleep(itemsec)


wsh.SendKeys(sn)


#time.sleep(itemsec)


wsh.SendKeys(id)


wsh.SendKeys("%n")


time.sleep(itemsec)


wsh.SendKeys("%s")


time.sleep(itemsec)


wsh.SendKeys("%n")


time.sleep(itemsec)


wsh.SendKeys("%n")


time.sleep(itemsec)


wsh.SendKeys(installpath)


wsh.SendKeys("%n")


time.sleep(itemsec)


wsh.SendKeys("%n")


wsh.SendKeys("%n")


else:


print "Config File " + ConfigFileName +" Not Found"


print "Now Auto Create This Config File Dot't Worry"


CreateCfg(ConfigFileName)


InstallRising()


def CreateCfg(cfgname):


if cfgname != "":


print "Createing Config File : "+ cfgname + "..."


contents = ["[Install]\n","sn=\n","id=\n","path=c:\\\\Program Files\\\\rising\\\\Rav\n","execpath = c:\\\\Rising17.06.exe\n" \


"\n[Program]\n","splashsec=20\n","languagesec=2\n","itemsec=1\n"]


cfg = open(cfgname,"w+t",256)


cfg.writelines(contents)


cfg.close()


print cfgname + " Create Ok..."


#----- Main -------------


if len(sys.argv) == 1 :


InstallRising()


elif len(sys.argv) == 2:


InstallRising(sys.argv[1])


elif len(sys.argv) == 3:


if sys.argv[1]=="-c" and sys.argv[2] != "":


CreateCfg(sys.argv[2])


print "Config File: " + sys.argv[2] + " Created OK..."


else:


print "Parm Error : \nExample : "+sys.argv[0]+" -c ConfigFileName.cfg"


else:


print "Script Error"


相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表