Office 2007 SP1自动安装
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 编辑 ]
续上
问题出现在以上的蓝色代码部分,office安装完毕后仍然无法自动关闭。图1
图2
图3
图4 从图1、图2、图3、图4来看,安装进程窗口和安装完毕窗口,用“AU3 窗口信息工具”来查看,没有任何差别。而安装完毕窗口内的所有文字信息用“AU3 窗口信息工具”也根本无法捕捉。所以
WinWaitActive("Microsoft Office Professional Plus 2007")
Send("!C")
WinWaitClose("Microsoft Office Professional Plus 2007")
代码执行失败也就不难理解。
那么,用AU3如何区分安装进程窗口和安装完毕窗口呢?还请高人指点。 后来,本人对代码做了以下修改:
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")
安装过程中出现了
如何解决?急!急!急! 难道没有高手吗? 经本人两天的研究,问题终于得以解决 解决了不共享出来不共享~~~~~~~~~~~~~ 代码如下:
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}") 也可以这样:
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}") 太好了,我也正在为OFFICE的问题发愁. 剛好需要,感謝大大分享 楼主,4楼出现的问题,不知道您是怎样解决的呢?我也遇到了这个问题,不知道能不能有幸得到您的指点? 参考你的代码 我也想到了答案,不知道咱俩想的是不是一样呢?
页:
[1]