找回密码
 加入
搜索
查看: 8871|回复: 6

[原创] 打包和提权安装软件

  [复制链接]
发表于 2011-4-20 15:58:13 | 显示全部楼层 |阅读模式
看了很多自动安装的方法,觉得很实用。企业里运行就需要把自动运行脚本和程序一起打包成一个exe文件,然后再提权安装。研究了一段时间,以"好压"为例分享一下我的代码:
$Exe = "haozip_v2.2.exe"
FileInstall("haozip_v2.2.exe" , @SystemDir & "",1)
Local $username="administrator"
Local $password="9a;asi9dw"

RunAs($username,@Computername,$password,2,$Exe, @TempDir & "")
BlockInput(1) ;锁定键盘鼠标

;--------------------------------------------------------------;一键安装脚本开始
Opt("TrayIconDebug", 1) ;0=无信息, 1=调试信息
Opt("WinTextMatchMode", 2) ;1=完全匹配, 2=快速匹配
Opt("WinTitleMatchMode", 4) ;1=开头, 2=子串, 3=完全, 4=高级
Opt("WinSearchChildren", 1) ;0=不搜索, 1=搜索子窗口
Opt("WinDetectHiddenText", 1) ;0=不检测, 1=检测
$WinTitle_1= '好压 v2.2 安装 '
$Wintxt_1= '我接受(&I)'
$Wintxt_2= '< 上一步(&P)'
$WinTitle_2='好压(HaoZip) - 感谢您的安装!'
$Wintxt_3='确定(&O)'
Do
        Sleep(10);
Until WinExists($Wintitle_1)
WinWaitActive($Wintitle_1, $Wintxt_1);
ControlClick($Wintitle_1, $Wintxt_1, "Button2")
WinWaitActive($Wintitle_1, $Wintxt_2);
ControlClick($Wintitle_1, $Wintxt_2, "Button2")
WinWaitActive($WinTitle_2,$Wintxt_3);
ControlClick($WinTitle_2,$wintxt_3, "Button62")
MsgBox(0,$WinTitle_2,"恭喜,成功安装完成!",3)

;--------------------------------------------------------------;自动安装脚本结束

ProcessWaitClose($Exe);等待进程运行完毕
BlockInput(0);解锁键盘鼠标
FileDelete(@SystemDir & "" & $Exe)
仍然有不理想的地方,在局域网里运行时,Copy的时间相当长。
如果可以实现Copy程序自身到@TempDir后再运行,运行后再删除自身就完美了。
发表于 2011-4-20 17:19:28 | 显示全部楼层
好东西,学习下
发表于 2011-4-20 20:08:04 | 显示全部楼层
楼主用fileinstall打包进去不行吗?
 楼主| 发表于 2011-4-21 10:57:15 | 显示全部楼层
本帖最后由 wwb007 于 2011-4-21 11:01 编辑
楼主用fileinstall打包进去不行吗?
mo_shaojie 发表于 2011-4-20 20:08


已经用了FileInstall,问题不在于打包本身,而是将打包后的文件放在网络盘上,用户运行后会从网络盘开始解压缩,释放到本地后运行。使用网线还算凑合,一旦用Wifi就惨了,双击后感觉像没运行一样(此时正在解压后通过网络传送到本地),用户就会反复运行,导致多个副本反复执行甚至死机。
所以希望运行时先复制程序自身到本地(最好带进度条),然后开始解压,安装等一系列后续动作,最终将这些临时文件统统删除。
发表于 2011-4-22 16:31:52 | 显示全部楼层
大概能明白你的意思了
 楼主| 发表于 2011-4-25 11:15:46 | 显示全部楼层
为啥没人过问
发表于 2017-4-1 21:36:22 | 显示全部楼层
为什么不直接先FILECOPY ,然后设计一个运行状态栏  process是否存在exe来防止重复运行
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-22 21:19 , Processed in 0.074134 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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