121044246 发表于 2014-4-17 12:29:57

读取ini实现自动安装~软件更新的话也只需要修改ini无需修改脚本

以前写自动安装软件,每次软件更新的时候,都要另外修改脚本重新打包,有点麻烦,,于是设想用ini来解决每次更新软件文本和控件名不同的问题。ShellExecute(@ScriptDir & "\SoftWare\QQ5.3.exe");运行程序进行安装
$title = IniRead(@ScriptDir & "\install\QQ.ini", "QQ", "title", "");读ini文件的安装界面标题
_install()

Func _install()
        $array = IniReadSection(@ScriptDir & "\install\QQ.ini", "QQ")
        For $i = 2 To $array
                WinWait($title, $array[$i])
                $click = StringSplit($array[$i], ";")
                For $ii = 1 To $click
                        Sleep(100)
                        ControlClick($title, $array[$i], $click[$ii])
                Next
        Next
EndFunc   ;==>_install
ini文件格式:
[字段名]
title=安装界面的标题
第一安装界面文本=控件名1;控件名2(点击多个控件可用;隔开)
第二安装界面文本=控件名1;控件名2(点击多个控件可用;隔开)
第三安装界面文本=控件名1;控件名2(点击多个控件可用;隔开)
第四安装界面文本=控件名1;控件名2(点击多个控件可用;隔开)

QQ5.3自动安装例子

title=腾讯QQ安装向导
QQ软件许可及服务协议=我已阅读并同意软件许可协议和青少年上网安全指引;下一步(&N)
自定义安装选项=使用腾讯电脑管家+金山毒霸保护电脑安全;安装最新版QQ浏览器7;安装QQ音乐播放器;安装腾讯视频播放器;安装应用宝;下一步(&N)
程序安装目录=保存到“我的文档”(推荐);安装(&I)
安装完成=开机时自动启动腾讯QQ;立即运行腾讯QQ;设置QQ导航为主页;显示新特性;完成(&F)

yuanniao 发表于 2014-4-17 18:51:16

QQ可以吗?好像第一个界面的推送,是随机的checkbox

121044246 发表于 2014-4-17 21:08:49

回复 2# yuanniao


    可以的,上面的例子就是今天刚做的。QQ5.3

121044246 发表于 2014-4-17 21:10:08

回复 2# yuanniao


    可以的,上面的例子就是今天刚做的。QQ5.3

ControlClick可以点击控件ID也可以是控件的文本

weeks1 发表于 2014-4-18 10:59:25

学习了。。。。。

yinbinly 发表于 2014-4-19 17:20:19

好方法,马上测试

joyran 发表于 2014-4-20 17:29:22

{:face (327):}顶楼主

panbin1512 发表于 2014-7-2 21:59:55

谢谢楼主分享!

winple 发表于 2014-7-7 07:55:16

这个貌似灰常的详细……
页: [1]
查看完整版本: 读取ini实现自动安装~软件更新的话也只需要修改ini无需修改脚本