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

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

本文介绍如何利用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 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。