静默安装 wusa(适用于安装MSU文件)

c++

Posted by YiMiTuMi on April 12, 2019

静默安装 wusa(适用于安装MSU文件)

wusa用法

在软件开发过程中我们经常要为没有运行环境的系统配置或搭建运行环境,但是我们又不想这个安装过程出现在用户的眼里所以windows给我们提供了一种后台安装的方法,即静默安装。

具体安装方法可以在cmd窗口中用dos命令查询到:

  • win + R 打开运行窗口

  • 输入 cmd 打在cmd窗口

  • 在命令行输入 dos 命令 wusa 可以查看静默安装的用法

静默安装常用(有需要可以通过dos命令去查):

  • update 安装文件路径(MSU文件:微软补丁文件)

  • /quiet 安静模式,无用户交互。(静默)

  • /uninstall 安装完成卸载安装包

  • /norestall 安装完后不重启

dos命令写法:路径\xxx.exe \quiet \norestall

查看进程

因为是静默安装所以只能在任务管理器中看到安装进程,也可以用程序来判断安装进程是否存在。

BOOL IsProcessExit(wstring strFileName)
{
    HANDLE hProcessSnap = NULL;
    BOOL bRet = FALSE;
    do 
    {
        hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPPROCESS, 0);
        if (hProcessSnap == INVALID_HANDLE_VALUE)
        {
            break;
        }

        PROCESSENTRY32 pe32 = { 0 };
        pe32.dwSize = sizeof(PROCESSENTRY32);
        if (Process32First(hProcessSnap, &pe32))
        {
            do 
            {
                if (_wcsicmp(pe32.szExeFile, strFileName.c_str()) == 0)
                {
                    bRet = TRUE;
                    break;
                }
            } while (Process32Next(hProcessSnap, &pe32));
        }

    } while (FALSE);

    if (hProcessSnap != NULL)
    {
        CloseHandle(hProcessSnap);
    }
    return bRet;
}

铃兰花 – 幸福归来