【C#】静默安装、SQL SERVER静默安装等

可以通过cmd命令行来执行,也可以通过代码来执行,一般都需要管理员权限运行

代码

        /// <summary>/// 静默安装/// </summary>/// <param name="fileName">安装文件路径</param>/// <param name="arguments">安装参数</param>/// <param name="isRunas">是否以管理员权限运行</param>/// <returns></returns>public static void SilentInstall(string fileName, string arguments, bool isRunas = true, bool isCreateNoWindow = false){Process processSetup = new Process();processSetup.StartInfo.FileName = fileName;if (isCreateNoWindow)processSetup.StartInfo.CreateNoWindow = true;processSetup.StartInfo.Arguments = arguments;processSetup.EnableRaisingEvents = true;if (isRunas)processSetup.StartInfo.Verb = "runas";processSetup.Exited += delegate { };processSetup.Start();processSetup.WaitForExit();var exitCode = processSetup.ExitCode;processSetup.Close();}

例子

//软件安装
SilentInstall(@"C:\Test.msi", @" /quiet /n");//SQL SERVER安装
string saPwd = "123";
string arguments = $@"/q /ACTION=Install /FEATURES=""SQLENGINE, REPLICATION, SNAC_SDK"" /INSTANCENAME=""SQLExpress"" /SECURITYMODE=""SQL"" /SAPWD=""{saPwd}"" /IACCEPTSQLSERVERLICENSETERMS /UpdateEnabled=False";
SilentInstall(file, arguments);

卸载程序

SilentInstall("msiexec.exe", $" /quiet /n /uninstall {testProductCode}");

ProductCode为安装程序的ProductCode属性值

 

参考

静默安装_weixin_30741653的博客-CSDN博客

C#卸载软件 msiexec安装参数详解 - 爱码网

Installshield之静默安装_setup.iss_Blue_sky90的博客-CSDN博客

SQLserver静默安装(命令行安装)_Dan淡淡的心的博客-CSDN博客

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/69162.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

单片机串口通讯实战:详解STM32的串口编程与数据传输

引言&#xff1a; 单片机串口通讯是应用非常广泛的通讯方式&#xff0c;具有简单、灵活、稳定等特点。本文将深入探讨单片机串口通讯的原理、应用和性能优化&#xff0c;同时介绍如何使用STM32单片机进行串口编程&#xff0c;并提供详细的代码示例和注释。 一、单片机串口通讯…

大数据课程I4——Kafka的零拷贝技术

文章作者邮箱&#xff1a;yugongshiyesina.cn 地址&#xff1a;广东惠州 ▲ 本章节目的 ⚪ 掌握Kafka的零拷贝技术&#xff1b; ⚪ 了解常规的文件传输过程&#xff1b; 一、常规的网络传输原理 表面上一个很简单的网络文件输出的过程&#xff0c;在OS底层&…

LeetCode 0833. 字符串中的查找与替换

【LetMeFly】833.字符串中的查找与替换 力扣题目链接&#xff1a;https://leetcode.cn/problems/find-and-replace-in-string/ 你会得到一个字符串 s (索引从 0 开始)&#xff0c;你必须对它执行 k 个替换操作。替换操作以三个长度均为 k 的并行数组给出&#xff1a;indices,…

Keil开发STM32单片机项目的三种方式

STM32单片机相比51单片机&#xff0c;内部结构复杂很多&#xff0c;因此直接对底层寄存器编码&#xff0c;相对复杂&#xff0c;这个需要我们了解芯片手册&#xff0c;对于复杂项目&#xff0c;这些操作可能需要反复编写&#xff0c;因此出现了标准库的方式&#xff0c;对寄存器…

【解决】Kafka Exception thrown when sending a message with key=‘null‘ 异常

问题原因&#xff1a; 如下图&#xff0c;kafka 中配置的是监听域名的方式&#xff0c;但程序里使用的是 ip:port 的连接方式。 解决办法&#xff1a; kafka 中配置的是域名的方式&#xff0c;程序里也相应配置成 域名:port 的方式&#xff08;注意&#xff1a;本地h…

安卓13解决链接问题

作为Android用户&#xff0c;你可能已经注意到了一个问题——Android 13不再支持PPTP协议。但请别担心&#xff0c;作为一家专业的代理供应商&#xff0c;我们将与你分享解决方案&#xff0c;让你轻松解决L2TP问题&#xff0c;享受到高水平的连接体验。本文将为你提供实用的操作…

mysql-事务特性以及隔离机制

一.ACID 事务&#xff08;Transaction&#xff09;是访问和更新数据库的程序执行单元&#xff1b;事务中可能包含一个或多个sql语句&#xff0c;这些语句要么都执行&#xff0c;要么都不执行。 1.逻辑架构和存储引擎 如上图所示&#xff0c;MySQL服务器逻辑架构从上往下可以分…

【C++从0到王者】第二十一站:继承

文章目录 前言一、继承的概念及定义1. 继承的概念2.继承的格式3.继承关系与访问限定符 二、基类和派生类的赋值转换三、继承中的作用域四、派生类的默认成员函数五、继承与友元六、继承与静态成员 前言 继承是面向对象的三大特性之一。我们常常会遇到这样的情况。很多角色的信…

利用OpenCV光流算法实现视频特征点跟踪

光流简介 光流&#xff08;optical flow&#xff09;是运动物体在观察成像平面上的像素运动的瞬时速度。光流法是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系&#xff0c;从而计算出相邻帧之间物体的运动信息的一种方法。…

Kotlin Executors线程池newSingleThreadExecutor单线程

Kotlin Executors线程池newSingleThreadExecutor单线程 import java.util.concurrent.Executorsfun main() {val mExecutorService Executors.newSingleThreadExecutor()for (i in 1..5) {mExecutorService.execute {println("seq-$i tid:${Thread.currentThread().threa…

IDE的下载和使用

IDE 文章目录 IDEJETBRAIN JETBRAIN 官网下载对应的ide 激活方式 dxm的电脑已经把这个脚本下载下来了&#xff0c;脚本是macjihuo 以后就不用买了

Mysql中使用存储过程插入decimal和时间数据递增的模拟数据

场景 Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据&#xff1a; Mysql插入数据从指定选项中随机选择、插入时间从指定范围随机生成、Navicat使用存储过程模拟插入测试数据_mysql循环插入随机数据_霸道流氓气质的博客…