找回密码
 加入
搜索
查看: 4958|回复: 12

Office 2007 SP1自动安装

[复制链接]
发表于 2008-6-19 11:48:36 | 显示全部楼层 |阅读模式
Office 2007可以采用无人值守安装,方法是setup /admin生成setup.msp文件。
在设置setup.msp文件中有三种方式:完全提示、基本提示、无提示。
无提示也就是静默安装,屏幕没有任何显示,但是如果用户这时候安装其他软件,就会导致Office安装退出。本人采用基本提示,这时的安装有界面,会自动安装,但最后一步会弹出一个要求关闭的对话框。由于要在随后安装saveaspdf和office补丁,所以本人采用au3来完成。
au3代码如下:
run("SETUP.EXE /adminfile setup.msp")
WinWaitActive("Microsoft Office Professional Plus 2007")
Send("!C")
WinWaitClose("Microsoft Office Professional Plus 2007")

run("SaveAsPDFandXPS.exe")
WinWaitActive("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项")
send("!A")
send("!C")
WinWaitActive("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项","安装已完成")
WinClose("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项","安装已完成")
WinWaitClose("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项")
run("excel2007-kb946974-fullfile-x86-glb.exe")
WinWaitActive("Excel 2007 安全更新 (KB946974)")
send("!A")
send("!C")
WinWaitActive("Excel 2007 安全更新 (KB946974)","安装已完成")
WinClose("Excel 2007 安全更新 (KB946974)","安装已完成")
WinWaitClose("Excel 2007 安全更新 (KB946974)")
run("office2007-kb947801-fullfile-x86-glb.exe")
WinWaitActive("Office 2007 安全更新 (KB947801)")
send("!A")
send("!C")
WinWaitActive("Office 2007 安全更新 (KB947801)","此系统已安装了更新")
WinClose("Office 2007 安全更新 (KB947801)","此系统已安装了更新")
WinWaitClose("Office 2007 安全更新 (KB947801)")
run("outlook2007-kb946983-fullfile-x86-glb.exe")
WinWaitActive("Outlook 2007 安全更新 (KB946983)")
send("!A")
send("!C")
WinWaitActive("Outlook 2007 安全更新 (KB946983)","此系统已安装了更新")
WinClose("Outlook 2007 安全更新 (KB946983)","此系统已安装了更新")

[ 本帖最后由 猎手 于 2008-6-21 12:16 编辑 ]
 楼主| 发表于 2008-6-19 11:57:10 | 显示全部楼层

续上

问题出现在以上的蓝色代码部分,office安装完毕后仍然无法自动关闭。

图1

图2

图3

图4

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2008-6-19 12:06:22 | 显示全部楼层
从图1、图2、图3、图4来看,安装进程窗口和安装完毕窗口,用“AU3 窗口信息工具”来查看,没有任何差别。而安装完毕窗口内的所有文字信息用“AU3 窗口信息工具”也根本无法捕捉。所以
WinWaitActive("Microsoft Office Professional Plus 2007")
Send("!C")
WinWaitClose("Microsoft Office Professional Plus 2007")
代码执行失败也就不难理解。
那么,用AU3如何区分安装进程窗口和安装完毕窗口呢?还请高人指点。
 楼主| 发表于 2008-6-19 12:12:33 | 显示全部楼层
后来,本人对代码做了以下修改:
run("SETUP.EXE /adminfile setup.msp")
WinWaitActive("Microsoft Office Professional Plus 2007")
Sleep(120000)
do
  Send("!C")
  sleep(10000)
Until WinClose("Microsoft Office Professional Plus 2007")
WinWaitClose("Microsoft Office Professional Plus 2007")
安装过程中出现了

如何解决?急!急!急!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?加入

×
 楼主| 发表于 2008-6-19 19:24:56 | 显示全部楼层
难道没有高手吗?
 楼主| 发表于 2008-6-21 12:14:42 | 显示全部楼层
经本人两天的研究,问题终于得以解决
发表于 2008-6-22 02:41:34 | 显示全部楼层
解决了不共享出来不共享~~~~~~~~~~~~~
 楼主| 发表于 2008-6-22 17:50:16 | 显示全部楼层
代码如下:
run("SETUP.EXE /adminfile setup.msp")
Sleep(300000)
While 1
  WinActivate("Microsoft Office Professional Plus 2007")
  Send("!c")
  $Exit= WinExists("Microsoft Office Professional Plus 2007")
  If $Exit=0 Then ExitLoop
  sleep(2000)
WEnd
run("SaveAsPDFandXPS.exe")
WinWaitActive("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项")
send("!A")
send("!C")
WinWaitActive("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项","安装已完成")
Send("{enter}")
WinWaitClose("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项")
run("excel2007-kb946974-fullfile-x86-glb.exe")
WinWaitActive("Excel 2007 安全更新 (KB946974)")
send("!A")
send("!C")
WinWaitActive("Excel 2007 安全更新 (KB946974)","安装已完成")
Send("{enter}")
WinWaitClose("Excel 2007 安全更新 (KB946974)")
run("office2007-kb947801-fullfile-x86-glb.exe")
WinWaitActive("Office 2007 安全更新 (KB947801)")
send("!A")
send("!C")
WinWaitActive("Office 2007 安全更新 (KB947801)","安装已完成")
Send("{enter}")
WinWaitClose("Office 2007 安全更新 (KB947801)")
run("outlook2007-kb946983-fullfile-x86-glb.exe")
WinWaitActive("Outlook 2007 安全更新 (KB946983)")
send("!A")
send("!C")
WinWaitActive("Outlook 2007 安全更新 (KB946983)","安装已完成")
Send("{enter}")
 楼主| 发表于 2008-6-22 17:51:59 | 显示全部楼层
也可以这样:
run("SETUP.EXE /adminfile setup.msp")
WinWaitActive("Microsoft Office Professional Plus 2007")
Sleep(300000)
WinWaitClose("Microsoft Office Professional Plus 2007")
run("SaveAsPDFandXPS.exe")
WinWaitActive("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项")
send("!A")
send("!C")
WinWaitActive("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项","安装已完成")
Send("{enter}")
WinWaitClose("用于 2007 Microsoft Office 程序的 Microsoft 另存为 PDF/XPS 加载项")
run("excel2007-kb946974-fullfile-x86-glb.exe")
WinWaitActive("Excel 2007 安全更新 (KB946974)")
send("!A")
send("!C")
WinWaitActive("Excel 2007 安全更新 (KB946974)","安装已完成")
Send("{enter}")
WinWaitClose("Excel 2007 安全更新 (KB946974)")
run("office2007-kb947801-fullfile-x86-glb.exe")
WinWaitActive("Office 2007 安全更新 (KB947801)")
send("!A")
send("!C")
WinWaitActive("Office 2007 安全更新 (KB947801)","安装已完成")
Send("{enter}")
WinWaitClose("Office 2007 安全更新 (KB947801)")
run("outlook2007-kb946983-fullfile-x86-glb.exe")
WinWaitActive("Outlook 2007 安全更新 (KB946983)")
send("!A")
send("!C")
WinWaitActive("Outlook 2007 安全更新 (KB946983)","安装已完成")
Send("{enter}")
发表于 2008-9-29 15:34:05 | 显示全部楼层
太好了,我也正在为OFFICE的问题发愁.
发表于 2013-12-30 14:41:11 | 显示全部楼层
剛好需要,感謝大大分享
发表于 2016-10-19 07:29:51 | 显示全部楼层
楼主,4楼出现的问题,不知道您是怎样解决的呢?我也遇到了这个问题,不知道能不能有幸得到您的指点?
发表于 2016-10-21 00:12:39 | 显示全部楼层
参考你的代码 我也想到了答案,不知道咱俩想的是不是一样呢?
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-4-27 08:07 , Processed in 0.083574 second(s), 21 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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