关于windows命令行安装软件 2008-03-21 19:55

字号:    

一直以来重装电脑是一件很烦人的事情,没有创造性,完全是重复性劳动。而且就是傻傻的点击下一步。重装系统的时候倒是有GHOST,但是装软件的时候一般就比较麻烦了。

由于工作需要,要经常装机,所有对装软件更是避之不及。不过前些日子装软件的时候发现原来很多软件也是支持命令行安装的,而且速度比图形界面还快许多。主要是可以实现自动化了。写个bat就可以做其他的事情而不用管了。

以装麦咖啡杀毒软件为例。以前,装的时候都要下一步,下一步……不知道要下到哪一步。后来发现windows installer支持命令行安装。windows installer的使用方法如下:

 

Windows (R) Installer. V 3.01.4000.1823

msiexec /Option <Required Parameter> [Optional Parameter]

安装选项
 </package | /i> <Product.msi>
  安装或配置产品
 /a <Product.msi>
  管理安装 - 在网络上安装产品
 /j<u|m> <Product.msi> [/t <Transform List>] [/g <Language ID>]
  播发产品 - m 播发到所有用户,u 播发到当前用户
 </uninstall | /x> <Product.msi | ProductCode>
  卸载产品
显示选项
 /quiet
  安静模式,无用户交互
 /passive
  无从参与模式 - 只显示进程栏
 /q[n|b|r|f]
  设置用户界面级别
  n - 无用户界面
  b - 基本界面
  r - 精简界面
  f - 完整界面(默认值)
 /help
  帮助信息
重新启动选项
 /norestart
  安装完成后不重新启动
 /promptrestart
  提示用户重新启动(如果必要)
 /forcerestart
  安装后总是重新启动计算机
日志选项
 /l[i|w|e|a|r|u|c|m|o|p|v|x|+|!|*] <LogFile>
  i - 状态消息
  w - 非致命警告
  e - 全部错误消息
  a - 操作的启动
  r - 操作特定记录
  u - 用户请求
  c - 初始界面参数
  m - 内存不足或致命退出信息
  o - 磁盘空间不足消息
  p - 终端属性
  v - 详细输出
  x - 额外调试信息
  + - 扩展到现有日志文件
  ! - 每一行刷新到日志
  * - 记录所有信息,除了 v 和 x 选项
 /log <LogFile>
  与 /l* <LogFile> 相同
更新选项
 /update <Update1.msp>[;Update2.msp]
  应用更新
 /uninstall <PatchCodeGuid>[;Update2.msp] /package <Product.msi | ProductCode>
  删除产品的更新
修复选项
 /f[p|e|c|m|s|o|d|a|u|v] <Product.msi | ProductCode>
  修复产品
  p - 仅当文件丢失时
  o - 如果文件丢失或安装了更旧的版本(默认值)
  e - 如果文件丢失或安装了相同或更旧的版本
  d - 如果文件丢失或安装了不同版本
  c - 如果文件丢失或较验和与计算的值不匹配
  a - 强制重新安装所有文件
  u - 所有必要的用户特定注册表项(默认值)
  m - 所有必要的计算机特定注册表项(默认值)
  s - 所有现有的快键方式(默认值)
  v - 从源运行并缓存本地数据包
设置公共属性
 [PROPERTY=PropertyValue]

请查阅 Windows (R) Installer SDK 获得有关
命令行语法的其他文档。

版权所有 (C) Microsoft Corporation. 保留所有权利。
此软件的部分内容系基于 Independent JPEG Group 的工作。

 

通过它,我们就可以实现命令行安装了。

比如安装麦咖啡。假设msi安装包为  vs800.msi

则:

msiexec vs800.msi /passive  就一切OK了。

等一会就安装好了,再也不用守着等下一步了。

而且麦咖啡的病毒库升级包也支持命令行更新病毒库。这个功能很好,这样以后公司的电脑就可以自动更新病毒库了(虽然我一直比较怀疑麦咖啡的杀毒能力)。

只需要  

sdat.exe  /silent  就完成了  (假设升级包为sdat.exe)。

 

-------------------------------------------------------------------------------

通过命令行,我们简化了很多步骤,实现了自动化。当然也让我们可以偷更多的懒,去想更懒的方法。通过一系列命令行,我们让公司的装机流程只需要点击几次鼠标,执行几个批处理就全部完成了。 当然这不是我一个人完成的。是和新来的同事 涛哥一起完成的。

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
网易公司版权所有 ©1997-2009