超简单的软件自安装

技术与开发

在安装软件时,能不能自动安装?当然可以,如果你不想改变软件的默认安装位置的话,可以使用一个自动安装的脚本来实现,这就需要用到AutoIt v3软件。AutoIt v3是用来编写并生成具有BASIC语言风格的脚本程序的免费软件,它被设计用来在Windows GUI(用户界面)中进行自动操作。

它可以通过模拟使用键击、鼠标移动和窗口/控件操作等来完成自动化任务,而这是其他语言所无法做到或尚无可靠方法实现的,利用这个技术我们可以用它来设计各种程序的自动安装。下面我们来看看如何用AutoIt v3制作一个脚本(可以通过网络分发实现多台计算机快速批量部署),以完成ACDSee8.1英文版的自动安装,并自动汉化。

一、设计思路

首先,用AutoIt设计的脚本要判断计算机中是否已经安装了其他版本的ACDSee,如果已经安装了会弹出ACDSee卸载对话框,这时脚本就可以将ACDSee卸载。如果用户的计算机中没有安装ACDSee,脚本就直接开始进行安装程序,并且会把ACDSee8.1英文版汉化。脚本设计流程如图1所示:

39-f121.jpg
图1

二、脚本原理

脚本的核心原理很简单,就是要在不同对话框出现时模拟点击适当的按钮实现自动安装。因为安装这类程序会有很多窗口的标题(例如ACDSee Pro - InstallShield Wizard)是一样的,我们可以在脚本中根据窗口的文字来判断不同的窗口,并给出相应的操作。

这时需要使用AutoIt的窗口信息工具来捕获不同窗口的文字信息,区分不同的窗口,然后使用TAB、空格、回车或者热键等进行安装。例如如图2所示,它要进入下一个界面的热键是“Alt+N”,则脚本编写如下:

39-f122.jpg
图2

winwaitactive("ACDSee Pro - InstallShield Wizard","Welcome to the InstallShield Wizard for ACDSee Pro")

Send("!n")

三、实例设计

知道了设计思路和原理,我们就可以在AutoIt v3中开始编写脚本了。编写步骤如下:

步骤1:判断是安装还是卸载

我们要让脚本判断计算机上是否已经安装了其他版本的ACDSee。判断的结果是“是”,就直接卸载掉,这里使用if...then语句来实现该功能;判断的结果是“否”,就进行程序安装和汉化。

步骤2:编写安装部分脚本

编写脚本安装代码时,要收集到每个安装界面要进行的鼠标操作是什么,然后在代码中将鼠标操作模拟为自动键盘操作。这样脚本就可以完成自安装任务了。

步骤3:编写汉化部分脚本

接下来需要编写自动安装汉化补丁的代码,这样,当ACDSee8.1英文版安装完成后,安装程序会自动作出判断,开始安装汉化补丁。代码全部写完后,退出AutoIt v3程序即可。

总结

通过这样一个程序,我们可以简化程序的安装,就算用户的计算机水平不高,只要运行这个脚本就可以完成程序的自动化安装。这个脚本可以减轻网管员的工作量。结合组策略分发软件的使用,在企业网络的部署中就会更加的完美。

在制作脚本的过程中,AutoIT会忠实地记录键盘和鼠标的操作过程,所以还可以用它来编写各种监控脚本等等。