软件静默安装

最近做一个项目,其中需要使用到一个第三方工具,需要进行安装,但又不能弹出界面,就必须静默安装。。经大佬指点,使用工具 Silent Install Builder 即可。
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形成的参数是根据安装包不同形成的,也就是说,同一个安装包,不管在什么机子,参数都一样。所以在别的平台也可以使用

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值