NSIS安装msi文件
2010-04-08 14:49
316 查看
安装包中需要安装ActivePerl-5.10.0.1002-MSWin32-x86-283697.msi文件,用Exec/ExeWait/ExeShell直接调用都不行,google了一下发现baidu里其实有讲:
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 获得有关
命令行语法的其他文档。
额,一下子没看懂格式到底怎么写,查了半天发现了例子,于是知道怎么写了:
ExecWait '"msiexec" /package "ActivePerl-5.10.0.1002-MSWin32-x86-283697.msi" /qf'
尝试了半天安装参数里的/i不行,/package 倒是可以的
如上是第一种方法
方法二:使用nsis官方插件库:ExecCmd::exec
具体使用请google 赫赫
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 获得有关
命令行语法的其他文档。
额,一下子没看懂格式到底怎么写,查了半天发现了例子,于是知道怎么写了:
ExecWait '"msiexec" /package "ActivePerl-5.10.0.1002-MSWin32-x86-283697.msi" /qf'
尝试了半天安装参数里的/i不行,/package 倒是可以的
如上是第一种方法
方法二:使用nsis官方插件库:ExecCmd::exec
具体使用请google 赫赫
相关文章推荐
- NSIS安装msi文件
- 安装msi文件时出现2503、2502的错误。
- Win8.1以及win10以上系统 安装msi文件方法
- 用 NSIS 制作安装程序
- 使用Script.NET编写NSIS安装脚本
- 【MySQL】MySQL之MySQL5.7安装包(msi文件)在Windows8下安装
- NSIS安装时自动卸载老版本
- 关于Windows安装msi文件时出现2503、2502的错误
- 无法安装msi文件解决办法
- NSIS 在安装文件名中包含日期
- NSIS制作Windows8风格安装界面(模仿Visual Studio 2012的主题和颜色)
- nsis打包所需要用到的安装包安装路径命令
- NSIS 制作 64 位系统下的安装程序
- NSIS 向path添加应用程序安装路径
- NSIS安装程序制作工具判断系统是否安装.NET
- nsis 检测vcredist_x86是否安装
- 让NSIS生成的安装包在静默安装时从命令行窗口输出安装信息
- 在NSIS中实现安装时取消并回滚(2)——写个线程控制插件实现它
- Win8.1以及win10以上系统 安装msi文件方法
- NSIS进行PC端程序安装包的生成(一)------基本安装和使用(使用Qt发布的程序)