软件静默安装

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

1. 安装

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

2. 操作

界面是这样
点击:Create Silent Installation (中间那个)
软件静默安装_第1张图片

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

软件静默安装_第2张图片

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

软件静默安装_第3张图片

将其复制,该参数就是执行 cmd时候,后面需要带的参数
打开cmd,进入到你安装包的位置,运行即可
软件静默安装_第4张图片

如何通过代码实现?

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);

如果上述没有参数,怎么办?
点击下面的选项,这个选项是干嘛的。
点击之后,就表示开始录制安装包的安装步骤,然后帮你自动生成一个脚本,你只需执行这个脚本即可。也就是说,就相当于把你安装步骤记录下来。
软件静默安装_第5张图片
然后点击安装步骤即可。使用上述代码运行脚本。

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

你可能感兴趣的:(随笔)