博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
软件静默安装
阅读量:2242 次
发布时间:2019-05-09

本文共 1290 字,大约阅读时间需要 4 分钟。

最近做一个项目,其中需要使用到一个第三方工具,需要进行安装,但又不能弹出界面,就必须静默安装。。经大佬指点,使用工具 Silent Install Builder 即可。

1. 安装

上面有链接,下载安装即可

2. 操作

界面是这样

点击:Create Silent Installation (中间那个)
在这里插入图片描述

就可以选择你要静默安装程序的安装包位置

![](https://img-blog.csdnimg.cn/20190817094308720.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2FpeGlhb2Rlc2h1c2h1,size_16,color_FFFFFF,t_7

然后就会出现一个参数(也有可能没有,下面也有步骤)

在这里插入图片描述

将其复制,该参数就是执行 cmd时候,后面需要带的参数

打开cmd,进入到你安装包的位置,运行即可
在这里插入图片描述

如何通过代码实现?

PVOID oldValue = NULL;if (Wow64DisableWow64FsRedirection(&oldValue)){
//执行cmd 命令进行安装 std::string tmp = FREEZETEST_PATH; tmp += "\\BootRacerSetup.exe"; /*std::string cmd = "/c start /wait "; cmd += path; cmd += " /sq- /silent /norestart";*/ std::string cmd = " /VERYSILENT /SUPPRESSMSGBOXES /NORESTART"; SHELLEXECUTEINFO ShExecInfo = {
0 }; ShExecInfo.cbSize = sizeof(SHELLEXECUTEINFO); ShExecInfo.fMask = SEE_MASK_NOCLOSEPROCESS; ShExecInfo.hwnd = NULL; ShExecInfo.lpVerb = "runas"; ShExecInfo.lpFile = tmp.c_str(); ShExecInfo.lpParameters = cmd.c_str(); ShExecInfo.lpDirectory = NULL; ShExecInfo.nShow = SW_HIDE; ShExecInfo.hInstApp = NULL; ShellExecuteEx(&ShExecInfo); WaitForSingleObject(ShExecInfo.hProcess, INFINITE);}Wow64RevertWow64FsRedirection(oldValue);

如果上述没有参数,怎么办?

点击下面的选项,这个选项是干嘛的。
点击之后,就表示开始录制安装包的安装步骤,然后帮你自动生成一个脚本,你只需执行这个脚本即可。也就是说,就相当于把你安装步骤记录下来。
在这里插入图片描述
然后点击安装步骤即可。使用上述代码运行脚本。

注:Silent Install Builder形成的参数是根据安装包不同形成的,也就是说,同一个安装包,不管在什么机子,参数都一样。所以在别的平台也可以使用

转载地址:http://tcwdb.baihongyu.com/

你可能感兴趣的文章
Oracle Spatial操作geometry方法
查看>>
IDEA类和方法注释模板设置(非常详细)
查看>>
Java程序初始化的顺序
查看>>
Dubbo和Spring结合配置文件内容解析为bean的过程
查看>>
fastJson注解@JSONField使用的一个实例
查看>>
fastjson的@JSONField注解的一点问题
查看>>
fastjson使用(三) -- 序列化
查看>>
浅谈使用单元素的枚举类型实现单例模式
查看>>
Java 利用枚举实现单例模式
查看>>
Java 动态代理作用是什么?
查看>>
Java动态代理机制详解(JDK 和CGLIB,Javassist,ASM) (清晰,浅显)
查看>>
三种线程安全的单例模式
查看>>
Spring AOP 和 动态代理技术
查看>>
从 volatile 说起,可见性和有序性是什么
查看>>
如何开始接手一个项目
查看>>
Netty 5用户指南
查看>>
Java实现简单的RPC框架
查看>>
一个用消息队列 的人,不知道为啥用 MQ,这就有点尴尬
查看>>
从零手写RPC
查看>>
高并发和多线程的关系
查看>>