msiexec 静默安装程序

代码触发安装 静默执行

对于一些不关注安装过程的情况来说,比如软件先通过下载器下载,下载完直接触发安装

复制代码
 private void StartProcess(string filePath, string parameters, Action<string> callback)
        {
            try
            {
                Process myprocess = new Process();
                ProcessStartInfo startInfo;
                if (!string.IsNullOrEmpty(parameters))
                {
                    startInfo = new ProcessStartInfo(filePath, parameters);
                }
                else
                {
                    startInfo = new ProcessStartInfo(filePath);
                }
                myprocess.StartInfo = startInfo;
                myprocess.StartInfo.Verb = "runas";
                myprocess.Start();
                myprocess.WaitForExit();
                callback("程序安装成功!");
            }
            catch (Exception ex)
            {
                callback("程序安装失败,请联系管理员!");
                //LogUtil.WriteLog(ex.Message);
            }
        }
复制代码

 

 myprocess.StartInfo = startInfo;
                myprocess.StartInfo.Verb = "runas";
                myprocess.Start();
                myprocess.WaitForExit();

myprocess.WaitForExit();不能忽略,忽略会中断安装运行

  string parameter = string.Format(@"/i {0} /quiet /qn /norestart /log c:\install.log", filename);
                            StartProcess(@"msiexec.exe", parameter, tip => { installTip.Text = tip; });

参数中filename是msi文件的安装路径

 
posted @   一条大河啊波浪宽啊  阅读(440)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· AI 智能体引爆开源社区「GitHub 热点速览」
· 写一个简单的SQL生成工具
点击右上角即可分享
微信分享提示