我在一家计算机软件安装中心工作--我们的用户使用Windows操作系统。对于新员工来说,有些软件很难安装。我想使用Python或Java自动安装软件。我应该如何在设置对话框中填写信息并自动完成设置过程?
发布于 2011-08-24 23:42:23
我使用pywinauto实现了GUI的自动化,这对于安装表单也应该很有效。
发布于 2011-08-24 23:46:53
-编辑因为解决方案显然是在谈论Windows / MSI
MSI支持在命令行上传递配置参数。去查一查。除非他们正在做一些非常奇特的事情,或者他们以一种故意忽略参数的方式打包程序,否则您可能会发现最好的解决方案就是在链接安装期间将参数放在命令行上。
-原文如下
首先,您需要知道要在哪种系统上安装软件。
然后,您需要选择该系统的默认包管理系统,在Windows上它是MSI,许多Linux系统使用RPM (有些使用deb),等等。
然后,您需要查看远程安装。几乎每个现代包管理器都支持一种或另一种远程安装技术。根据包管理器的不同,这可能涉及推送解决方案(将包含配置信息的包拖放到目录中或使用接口发送),而其他解决方案则通过拉入解决方案进行管理。
如果使用拉入解决方案,请安装一个从特定资源拉入的日常作业,然后您可以将系统转换为拉入解决方案(这通常会使管理变得更容易)。
稍后,您可能希望查看更全面的解决方案,例如如何在安装过程中安装基础软件的附加组件。同样,对于您打算支持的每个操作系统,它也是不同的。
发布于 2011-08-25 03:06:59
如果你想在Windows上自动完成对话框,AutoIt是个不错的选择。出色的文档和支持、功能强大但可读的脚本语言、支持自定义GUI创建和脚本编译等
下面是一个使用AutoIt的WinZip安装示例:
; Run the winzip installer
Run("winzip90.exe")
; Initial Setup Screen
WinWaitActive("WinZip® 9.0 SR-1 Setup", "&Setup")
Send("!s")
; Install location
WinWaitActive("WinZip Setup", "into the following folder")
Send("{ENTER}")
; Features overview
WinWaitActive("WinZip Setup", "WinZip features include")
Send("!n")
; License agreement
WinWaitActive("License Agreement")
Send("!y")
; Quick start
WinWaitActive("WinZip Setup", "Quick Start Guide")
Send("!n")
; Choose interface
WinWaitActive("WinZip Setup", "switch between the two interfaces")
Send("!c")
Send("!n")
; Installation type (custom/express)
WinWaitActive("WinZip Setup", "&Express setup (recommended)")
Send("!e")
Send("!n")
; Select file associations
WinWaitActive("WinZip Setup", "WinZip needs to associate itself with your archives")
Send("!n")
; Completed installation screen
WinWaitActive("WinZip Setup", "Thank you for installing this evaluation version")
Send("{ENTER}")
; Wait for winzip to load then close it
WinWaitActive("WinZip (Evaluation Version)")
WinClose("WinZip (Evaluation Version)")https://stackoverflow.com/questions/7178290
复制相似问题