常见打包工具的静默安装

下面以不同的安装方式进行讨论:

一、 Microsoft Windows Installer

如果某个软件是用Windows Installer打包的,那你就应该能在文件夹中看到*.msi文件。

这是最典型的特征,这些文件通常可以使用 /QB和 /QN参数进行自动安装。。

/qb 会在窗口中显示一个基本的安装进程

/qn 参数则不会显示任何窗口,直接在后台自动安装

为了阻止某些程序安装成功后自动重启动(例如Kerio Personal Firewall 4),你可以在 /qn 或者 /qb参数后使用REBOOT=Suppress标记,例如:

如安装虚拟光驱 DaemonTools:msiexec /i dtools.msi /qb REBOOT=SUPPRESS

二、 Windows 补丁包

有两种情况,一种是类似IE增量补丁包的那种安装文件,要使之静默安装,只需要在执行文件后加上 /q:a /r:n 参数即可;一种是 Windows 常用的补丁文件,一般情况下加上 /U /N /Z 即可实现静默安装。

(对于新的系统补丁,也可使用 /passive /norestart)。这通用大部分情况,但某些特定的补丁不能用此法进行静默安装。

三、InstallShield

a.要使用静默安装的方式安装用InstallShield技术打包的程序,首先要在现有的操作系统中创建一个setup.iss文件。

在命令行窗口中使用 -R 参数(大小写敏感)运行安装程序。

例如:Setup.exe -R

b. 接着会显示常见的安装屏幕,并且询问你一些问题,例如要安装的目录等有一点是很重要的,在安装结束后你不能选择“立刻重启动计算机”的选项。如果你选了,在批处理文件中的其他命令就会因为计算机重启动而无法执行。

c. 在安装程序运行完毕后,打开你的C:\Windows(或者C:\WINNT)目录,然后找到setup.iss文件,把这个文件和你将要静默安装的程序setup.exe保存在同一个目录中

d. 用以下命令进行静默安装:setup.exe -s [-sms]

我怎么知道哪个程序是使用InstallShield技术打包的?

大部分这类程序的安装文件都可以被压缩软件解压缩,安装文件setup.exe的属性对话框中应该有“InstallShield (R) Setup Launcher”或者其他类似的字样。

最后,如果你在保存安装文件的文件夹中看到了一个setup.iss文件,那么毫无疑问这是用InstallShield打包了!

四、InstallShield with MSI

InstallShield with MSI 制作的安装文件,请使用类似:setup.exe /s /v”/qb” 来安装

五、WISE Installer

用WISE技术打包的软件在安装的时候可以选择使用 /s参数进行自动安装:setup.exe /s

六、Inno Setup

Inno Setup 制作的安装文件,请使用:setup.exe /sp- /silent /norestart

我怎么知道哪个安装程序是用Inno 技术打包的?

这种软件安装时第一个界面一般如下图所示

在窗口标题栏左侧的图标上点击鼠标左键,然后再探出菜单上点击“About Setup”可以看见安装类型[attach]138[/attach]

七、NullSoft Installation System

使用 NSIS (NullSoft Installation System) 制作的安装文件,可用 /S (注意大写)来进行静默安装。示例:setup.exe /S

使用NSIS 打包的安装文件可以用 /S参数进行自动安装(“S”是大小写敏感的):

Setup.exe /S

你也可以用 /D参数选择将要安装的目标分区和文件夹:

Setup.exe /S /D=E:\Software\CDex

像Winamp 和CDex这类的软件都会在安装结束后显示一个确认屏幕(CDex)或者一个设置文件关联方式的结束安装屏幕(Winamp)

我怎么知道哪个程序是使用NSIS技术打包的?

很多用NSIS打包的程序在安装的时候都有类似这样的窗口,例如Winamp 和CDex:[attach]139[/attach]