收藏本站 收藏本站
积木网首页 - 技术学院 - 软件测试 - 网站黄页 - 常用手册 - 站长工具 - 技术社区
首页 > DOS命令 > 正文

首页 - PHP - 数据库 - 操作系统 - 游戏开发 - JS - Android - MySql - Redis - MongoDB - Win8 - Shell编程 - DOS命令 - jQuery - CSS样式 - Python - Perl

Access - Oracle - DB2 - SQLServer - MsSql2008 - MsSql2005 - Sqlite - PostgreSQL - node.js - extjs - JavaScript vbs - Powershell - Ruby

BAT批处理全自动(静默)安装软件的方法(包含4种常见安装包格式)

利用批处理安装常用软件,我们需要对以下几个知识点进行掌握:

一.常用应用软件的封装类型:

1.installshield型:

installshield是一款商业级别的安装程序封装工具,许多大型商业软件都用它进行封装.例如:macromedia flash. pgtoshop等
安装参数:-R 用于记录安装过程
-s 用于进行软件的自动安装
-f1 指定setup.iss应答文件的路径
使用方法:

1).先用在命令行下用-R参数进行软件的安装,其安装过程与正常安装没有本质的区别,但在软件安装结束后可以在 c:windows(winxp系统)或c:winnt(win2k系统)目录下找到一个名为setup.iss的文件,它就是我们后面要用到的可以进行自动安装的重要应答文件.

2).将以上的setup.iss文件与你的安装程序放在同一目录下,利用-s参数进行全自动安装.

例如: start /wait x:phtoshopsetup.exe -s -f1 "y:setup.iss"(如果setup.iss文件与安装程序在同一目录,可以省去-f1参数)

2.Inno setup 类型:

Inno setup 是一款完全免费的安装程序封装工具,其功能和稳定性均可与商业封装工具媲美.

安装参数: /silent(/verysilent) 用于软件的自动安装
sp- 用于跳过安装程序的确认界面
使用方法: start /wait x:thunder5.exe /verysilent sp-
说明:此安装参数的使用比较容易,但如果我们把它写入到批处理文件中进行大量的软件安装时,有的软件会在安装完成后自行启动,比如迅雷,为不影响系统性能,我们可以结合其他的命令终止其进程,例如:

@echo off

    start /wait x:thunder5.exe /verysilent sp-

    echo.

taskkill.exe /F /IM Thunder5.exe

3.Microsoft Windows Installer技术打包程序

微软自家产品,许多软件生产厂家现在都选择这种基于微软开发的封装方式
参数:/ /QB(/QN)用于自动安装软件
/REBOOT=suppress 安装后不重起
使用方法: start /wait x:setup.exe /QB REBOOT=Suppress

4.Nullsoft SuperRMP Install System (NSIS)类型,例如:winamp
使用参数: /S 用于自动安装软件
例如: x:winampsetup.exe /S
说明:此类软件安装后会给出一个文件关联确认窗口,目前无法跳过,但我可以给大家一个思路,就是结合VBS脚本中的Doskey命令来模仿键盘动作实现确认过程,到现在为止我个人还没有写出来,望高手帮忙完善

二.测试方法与安装类型分析:

1.测试方法:可以用目前比较流行的虚拟机进行测试
2.安装类型分析:大部分安装程序可以通过鼠标右击安装程序___选择属性 ________版本来查看其封装类

三.在批处理文件中的要求

如果你打算自己结合WINXP光盘工具重新封装安装光盘,并且在利用winxp应答文件安装应用软件,你必须明白批处理文件的位置应防在那里,这些你可以去阅读有关此方面的文章.

CMD命令行中以管理员权限启动应用程序实现方法
自从Vista带来了UAC之后,应用程序就变成了两种,有管理员权限的,和没有管理员权限的。一些老的应用程序会莫名其妙地出错,这时候就要考虑右击应

BAT批处理中使用数组示例
批处理指令中并没有原生支持数组,但这不代表不能模拟出来。来看下面的代码:SETObj_Length=2SETObj[0].Name=Test1SETObj[0].Value=HelloWorldSETObj[1].Name=Test2SETObj[1].V

BAT批处理判断目录在%Path%中实现方法
貌似没有很优美的做法,只能把%Path%按分号分割,然后一段一段地比较。:InPath[In]Path[Out]0/1SETLOCALSETLocalPathCopy=%PATH%SETResult=0:WHILEIF"%LocalPathCopy"==""GOTOWENDFOR

本周排行

更新排行

强悍的草根IT技术社区,这里应该有您想要的! 友情链接:b2b电子商务
Copyright © 2010 Gimoo.Net. All Rights Rreserved  京ICP备05050695号