最近做一个项目,其中需要使用到一个第三方工具,需要进行安装,但又不能弹出界面,就必须静默安装。。经大佬指点,使用工具 Silent Install Builder 即可。
Silent Install Builder
1. 安装
上面有链接,下载安装即可
2. 操作
界面是这样
点击:Create Silent Installation (中间那个)
就可以选择你要静默安装程序的安装包位置
然后就会出现一个参数(也有可能没有,下面也有步骤)
将其复制,该参数就是执行 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形成的参数是根据安装包不同形成的,也就是说,同一个安装包,不管在什么机子,参数都一样。所以在别的平台也可以使用