找回密码
 加入
搜索
查看: 8338|回复: 9

[转贴] 一些常用软件静默安装参数(nsis,msi,InstallShield ,Inno)

  [复制链接]
发表于 2011-6-13 22:09:50 | 显示全部楼层 |阅读模式
有时我们在安装程序的时候,希望是静默安装的,不显示下一步下一步,这编访问来教大家如何来操作,现在常用的制作安装程序的软件有,   Microsoft Windows Installer , Windows 补丁包 , InstallShield , InstallShield with MSI , WISE Installer , Inno Setup , NullSoft Installation System 等。


软件的安装采取全自动或半自动的方式进行。

  一、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  
               

         下载地址: http://www.cr173.com/soft/6486.html

  1、要使用静默安装的方式安装用InstallShield技术打包的程序,首先要在现有的操作系统中创建一个setup.iss文件。在命令行窗口中使用 -R 参数(大小写敏感)运行安装程序。

  例如:Setup.exe -R

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

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

  4、 用以下命令进行静默安装: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 参数进行自动安装。


  六、Inno Setup 下载地址: http://www.cr173.com/soft/8158.html

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

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

  这种软件在安装时出现的第一个界面,在窗口标题栏左侧的图标上点击鼠标左键,然后再探出菜单上点击“About Setup”可以看见安装类型。


  七、NullSoft Installation System http://www.cr173.com/soft/2235.html

  使用 NSIS(NullSoft Installation System)制作的安装文件,可用 /S (注意大写)来进行静默安装(“S”是大小写敏感的)。

  例如:Setup.exe /S

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

  例如:Setup.exe /S /D=E:\Software\QQ2007

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

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

  很多用NSIS打包的程序在安装的时候都有类似的窗口,例如Winamp 和CDex。


  八、Wise Installation Professional

  制作的安装文件,可用 /silent 参数进行静默安装

无人值守安装光盘最有魅力的地方之一
就是在安装过程中可以静默安装好预先设计集成的一些常用软件,安装结束以后软件就已经可以使用
但是很多朋友发现每个软件以及系统补丁,它们的静默安装参数是不一样的
在本文就和广大爱好者一起研究一下几种常见软件封包形式的静默安装方式
如有遗漏和错误之处,请指出,大家互相交流!

常用的软件封包形式主要有以下几个形式
Inno Setup
InstallShield
NSIS
Microsoft Windows Installer
WISE

QUOTE:

一.Inno Setup


使用Inno技术制成的程序安装包可以使用/SILENT 和 /VERYSILENT参数进行静默安装
我不知道这两个参数有什么分别,因为它们实现的功能看上去是一样的

setup.exe /VERYSILENT

你会看到一个对话框,询问你是否打算继续安装:

我们可以通过使用一个参数跳过这个对话框:

setup.exe /VERYSILENT /SP-

有些利用Inno 技术做作的安装包会在程序安装完毕后自动运行所安装的程序,例如ISOBuster
不过我们可以使用一个叫做Taskkill的系统自带工具杀死相关的进程。

以下是一个可以用于批处理文件安装由Inno打包的软件的命令的示例:

ECHO.
ECHO 正在安装ISOBuster 1.4
ECHO 请稍候...
start /wait %systemdrive%installApplicationsISOBusterIsoBuster14.exe /VERYSILENT /SP-
ECHO.
ECHO Killing ISOBuster.exe process
taskkill.exe /F /IM isobuster.exe
ECHO.

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

这种软件安装时第一个界面一般如下图所示
在窗口标题栏左侧的图标上点击鼠标左键
然后再探出菜单上点击“About Setup”也可以看见安装类型

更多使用Inno技术打包的软件可用的参数可以在下面看到:
E文好的朋友可以仔细研究研究
With the Inno Setup Extentions in use the following command line switches become available:

SP-
Disables the This will install... Do you wish to continue? prompt at the beginning of Setup. Of course, this will have no

effect if the DisableStartupPrompt [Setup] section directive was set to yes.

/SILENT, /VERYSILENT
Instructs Setup to be silent or very silent. When Setup is silent the wizard and the background window are not displayed but

the installation progress window is. When a setup is very silent this installation progress window is not displayed.

Everything else is normal so for example error messages during installation are displayed and the startup prompt is (if you

haven''t disabled it with DisableStartupPrompt or the ''/SP-'' command line option explained above)

If a restart is necessary and the ''/NORESTART'' command isn''t used (see below) and Setup is silent, it will display a

Reboot now? messagebox. If it''s very silent it will reboot without asking.

/NORESTART
Instructs Setup not to reboot even if it''s necessary.
/LOADINF="filename"
Instructs Setup to load the settings from the specified file after having checked the command line. This file can be prepared

using the ''/SAVEINF='' command as explained below.

/SAVEINF="filename"
Instructs Setup to save installation settings to the specified file.

/DIR="x:dirname"
Overrides the default directory name displayed on the Select Destination Directory wizard page. A fully qualified pathname

must be specified. If the [Setup] section directive DisableDirPage was set to yes, this command line parameter is ignored.

/GROUP="folder name"
Overrides the default folder name displayed on the Select Start Menu Folder wizard page. If the [Setup] section directive

DisableProgramGroupPage was set to yes, this command line parameter is ignored.

/NOICONS
Instructs Setup to initially disable the Don''t create any icons check box on the Select Start Menu Folder wizard page.

/COMPONENTS="comma separated list of component names"
Overrides the default components settings. Using this command line parameter causes Setup to automatically select a custom

type.

QUOTE:

二.InstallShield

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

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

例如:
Setup.exe -R

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

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

4. 用以下命令进行静默安装:

start /wait %systemdrive%installApplicationApplication_nameSetup.exe -s

5. 对所有准备进行静默安装,并且使用了InstallShield技术打包的程序重复上面的步骤操作

技术难点:从光盘上的RunOnceEx中安装用Installshield技术打包的程序
如果从光盘上直接执行RunOnceEx,用Installshield打包的应用程序安装将会失败
除非你指定了用于保存日至文件的位置
下面就有一个示例,你可以将这个例子用于你自己的程序的安装(粗体字部分看仔细了):

REG ADD %KEY%% /VE /D "Kerio Personal Firewall 2.1.5" /f
REG ADD %KEY%% /V 1 /D "%CDROM%appsKPFSetup.exe -s -f2"%systemdrive%kerio.log"" /f

然后你可以用一个cleanup.cmd文件删除kerio.log文件
DEL "%systemroot%kerio.log"

我怎么知道哪个程序是使用InstallShield技术打包的?
大部分这类程序的安装文件都可以被压缩软件解压缩,安装文件setup.exe的属性对话框中应该有“InstallShield (R) Setup Launcher”或者

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


QUOTE:

三. Nullsoft SuperPiMP Install System (NSIS)


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

Setup.exe /S

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

Setup.exe /S /D=E:SoftwareCDex

像Winamp 和CDex这类的软件都会在安装结束后显示一个确认屏幕(CDex)
或者一个设置文件关联方式的结束安装屏幕(Winamp)
我还不知道怎样跳过这一步,但是这个屏幕对批处理文件的继续执行不会有任何影响


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


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


四.Microsoft Windows Installer


微软老大的封包形式!
如果某个软件是用Windows Installer打包的,那你就应该能在文件夹中看到*.msi文件。
这是最典型的特征
这些文件通常可以使用 /QB和 /QN参数进行自动安装。
Powertoys使用了 /s /v/qn参数,对于这些软件,你可以依次尝试上面提到的参数
看看哪个是有效的。

/qb 会在窗口中显示一个基本的安装进程
/qn 参数则不会显示任何窗口,直接在后台自动安装

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

如:

setup.msi "/qn REBOOT=Suppress"

有些安装程序使用 /s/v/qn参数进行自动安装,因此阻止它们重启动应该用:

setup.exe /s /v"/qn REBOOT=Suppress"


五.WISE Installer


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

Setup.exe /s

更多的其他参数:
You can run Wise Installation .EXE with command line options to automate many of the tasks you would normally do in the User

Interface. The list of options is as follows.

/c file.wse -- creates executable file from wise script
/r -- opens Wise in SetupCapture window
/u -- runs the upgrade wizard that checks for any upgrades online
/d CompVar=Value -- defines a single compiler variable in Enterprise Edition. Multiple definitions require multiple /d
/d=filename -- uses filename to define compiler variables. Each line in file is CompVar=Value

Example: installbuilder.exe /c /d _MYVAR_="Test" c:mysource ilessetup.wse

Wise Installations:

/T -- test mode
/X pathname -- extracts files into pathname
/Z pathname -- extracts files into pathname and reboots
/S -- silent install
/M -- prompts for windows, system, temp directories
/M=filename -- specifies a value file similar to /d above, but for standard variables (See NOTE below).
/M1 -- same as /m plus it prompts before any file that is self-registered
/M2 -- reserved for internal use by Wise during debugger sessions

Example: setup.exe /T

Unwise:

/Z -- remove empty directories, including one with unwise itself in it.
/A -- automatic mode, no user choices other than cancel.
/S -- silent mode, automatic mode with no user choices
/R -- rollback mode, selects option to rollback on uninstall
/U -- like automatic mode, but gives all choices other than custom/automatic title window title can be at the end of the

command line

Example: unwise.exe /S c:myprogramdirectoryinstall.log

NOTE: The values file is a simple text file with variables listed, one per line, in VARIABLE="VALUE" format. If the variable

is found in the values file, the specified value is used; otherwise, its value is unchanged. The file containing the

variables can be up to 32K.

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

使用Wise技术打包的大部分程序都会在开始运行的时候显示一个启动界面:


但是也有一些会最小化这个窗口,只显示一个深蓝色的背景,还有安装窗口在屏幕的中央
发表于 2011-6-13 22:16:32 | 显示全部楼层
好长,收藏先。
发表于 2011-6-26 10:28:41 | 显示全部楼层
保存了,以后再看看
发表于 2011-6-26 14:05:35 | 显示全部楼层
thank you very much
发表于 2011-10-24 14:42:32 | 显示全部楼层
mark下来  
慢慢看
发表于 2015-5-18 12:17:55 | 显示全部楼层
谢谢分享  先收藏
发表于 2016-4-7 14:05:32 | 显示全部楼层
楼主的帖子真不错,谢谢
发表于 2018-1-4 18:31:15 | 显示全部楼层
谢谢楼主分享
发表于 2018-1-23 21:31:20 | 显示全部楼层
很有帮助  感谢LZ
发表于 2018-2-19 18:20:41 | 显示全部楼层
谢谢楼主分享
您需要登录后才可以回帖 登录 | 加入

本版积分规则

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

GMT+8, 2024-12-23 03:37 , Processed in 0.078326 second(s), 19 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

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