找回密码
 加入
搜索
查看: 4150|回复: 0

[AU3基础] 各位大虾帮忙纠错

  [复制链接]
发表于 2015-1-7 09:08:06 | 显示全部楼层 |阅读模式
本帖最后由 mgchl 于 2015-1-7 10:56 编辑

不知为何写的这串代码开始正常运行,后来突然就无法使用了~~
请大侠看看错在哪,谢谢。
#RequireAdmin
#Region ;**** 参数创建于 ACNWrapper_GUI ****
#AutoIt3Wrapper_icon=C:\WINDOWS\system32\SHELL32.dll|-15
#AutoIt3Wrapper_Outfile=PMS20(32).EXE
#AutoIt3Wrapper_Outfile_x64=PMS20(64).EXE
#AutoIt3Wrapper_Compile_Both=y
#AutoIt3Wrapper_UseX64=y
#EndRegion ;**** 参数创建于 ACNWrapper_GUI ****
;安装前读取配置信息
Local $googlename = "Files\chrome_installer.exe"
Local $pmsname = "Files\PMS2.0_v1.0.14.11.1_全量.exe"

        
        Select
Case @OSArch = 'X64' ;选择重新安装
        Local $os = 'Framework64'
        Local $osprofile = 'C:\Program Files (x86)'
Case @OSArch = 'X86' ;选择重新安装
        Local $os = 'Framework'
        Local $osprofile = 'C:\Program Files'
        EndSelect




If FileExists("C:\PMS2.0") Then
        ;找到PMS2.0的安装目录,提示是否重新安装,或者不安装;
        Local $cho1 = MsgBox(4, "安装PMS2.0", "PMS2.0已经安装在你的主机内,是否重装?")
        Select
                Case $cho1 = 6 ;选择重新安装
                        ProcessClose("SGGM.Framework.Base.Sample.exe");安装前先终止下进程中PMS2.0程序文件
                        Local $PMS2 = "YY";添加这句是为了不重复安装第二个软件
                        googelinstallA()
        EndSelect
EndIf

Func googelinstallA();谷歌浏览器重新安装
        If FileExists($osprofile & "\Chrome") Then;监测谷歌浏览器是否已经安装,和去顶是否需要重新安装
                ;找到谷歌浏览器的安装目录,提示是否重新安装,或者不安装;
                Local $cho2 = MsgBox(4, "安装谷歌浏览器", "谷歌浏览器已经安装在你的主机内,是否重装?")
                Select
                        Case $cho2 = 6 ;选择重新安装
                                ProcessClose("chrome.exe");安装前先终止下进程中谷歌浏览器程序文件
                                googelinstall()
                EndSelect
        Else
                ;没有找到谷歌浏览器,选择安装浏览器
                googelinstall()
        EndIf
        If $PMS2 = 'YY' Then ;添加这句是为了不重复安装第二个软件
                PMSlinstall()
        EndIf
EndFunc   ;==>googelinstallA



Func googelinstall();安装谷歌浏览器
        Run($googlename)
        WinWaitActive("Google Chrome 安装", "欢迎使用“Google Chrome”安装向导")
        Send("!n")
        WinWaitActive("Google Chrome 安装", "选择“Google Chrome”的安装文件夹。")
        Send("!i")
        WinWaitActive("Google Chrome 安装", "单击 [完成(F)] 关闭此向导。")
        ControlClick("Google Chrome 安装", "运行Chrome浏览器", "[CLASS:Button; INSTANCE:4]")
        ControlClick("Google Chrome 安装", "运行Chrome浏览器", "[CLASS:Button; INSTANCE:5]")
        Send("!f")
EndFunc   ;==>googelinstall

Func PMSlinstall();安装PMS2.0
        If FileExists(@WindowsDir & "\Microsoft.NET" & $os & "\v4.0.30319") Then;监测谷歌浏览器是否已经安装,和去顶是否需要重新安装
                ;找到.Net40版本,使用 A 方式安装
                PMSlinstallA()
                
        Else
                ;没有找到.Net40版本,使用 B 方式安装
                PMSlinstallB()
        EndIf
EndFunc   ;==>PMSlinstall

Func PMSlinstallA();已经安装.Net 4.0以上版本的安装流程
        Run($pmsname)
        WinWaitActive("设备(资产)运维精益管理系统 安装程序", "下一步")
        Send("!n")
        WinWaitActive("设备(资产)运维精益管理系统 安装程序", "国家电网公司 版权所有")
        Send("!n")
        WinWaitActive("设备(资产)运维精益管理系统 安装程序", "返回")
        Send("!n")
        WinWaitActive("设备(资产)运维精益管理系统 安装程序", "更改(&H)...")
        Send("!n")
        WinWaitActive("设备(资产)运维精益管理系统 安装程序", "只对当前用户安装快捷方式")
        Send("!n")
        WinWaitActive("设备(资产)运维精益管理系统 安装程序", "取消(&C)")
        Send("!n")
        WinWaitActive("设备(资产)运维精益管理系统 安装程序", "完成(&F)")
        Send("!f")
        PMSUP();安装好PMS2.0后,替换两个配置文件
EndFunc   ;==>PMSlinstallA

Func PMSlinstallB();没有安装.Net 4.0以上版本的安装流程
        Run($pmsname)
        WinWaitActive("Technology Required", "Setup has detected")
        ControlClick("Technology Required", "Setup has detected", "[CLASS:Button; INSTANCE:1]")
        WinWaitActive("Microsoft .NET Framework 4 安装程序", "我已阅读并接受许可条款")
        Send("!a""!i")
        WinWaitActive("Microsoft .NET Framework 4 安装程序", "已安装 .NET Framework 4。")
        Send("!f")
        PMSlinstallA();安装完.Net 4.0后运行 PMSlinstallA
EndFunc   ;==>PMSlinstallB

Func PMSUP();安装好PMS2.0后,替换两个配置文件
        If FileExists("C:\PMS2.0\Update.ini") Then FileDelete("C:\PMS2.0\Update.ini");找到需要替换的文件,进行删除
        If FileExists("C:\PMS2.0\SGGM.Framework.Base.Sample.exe.config") Then FileDelete("C:\PMS2.0\SGGM.Framework.Base.Sample.exe.config");找到需要替换的文件,进行删除
        FileCopy("Files\Update.ini", "C:\PMS2.0");复制替换的文件
        FileCopy("Files\SGGM.Framework.Base.Sample.exe.config", "C:\PMS2.0");复制替换的文件
EndFunc   ;==>PMSUP
问题已经找到,红色字部分代码

If FileExists("C:\PMS2.0") Then
        ;找到PMS2.0的安装目录,提示是否重新安装,或者不安装;
        Local $cho1 = MsgBox(4, "安装PMS2.0", "PMS2.0已经安装在你的主机内,是否重装?")
        Select
                Case $cho1 = 6 ;选择重新安装
                        ProcessClose("SGGM.Framework.Base.Sample.exe");安装前先终止下进程中PMS2.0程序文件
                        Local $PMS2 = "YY";添加这句是为了不重复安装第二个软件
                        googelinstallA()
        EndSelect
else
googelinstallA()

EndIf
您需要登录后才可以回帖 登录 | 加入

本版积分规则

QQ|手机版|小黑屋|AUTOIT CN ( 鲁ICP备19019924号-1 )谷歌 百度

GMT+8, 2024-5-20 16:54 , Processed in 0.075402 second(s), 24 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表