.Net下 自动执行MSI和EXE文件
MSI是安装文件,需要系统自带的msiexec.exe来执行
var tempDir = @"D:\UploadFiles\SCADASetupWix.msi";
var start = new ProcessStartInfo("msiexec.exe", "/i \"" + tempDir );
start.WindowStyle = ProcessWindowStyle.Normal;
start.CreateNoWindow = true;
Process.Start(start);//.WaitForExit()
但在360下,会由警告弹出。认为自动安装是不安全的。 应该还有更好的方式。
在cmd中触发安装,也会弹出360警告。然后显示拒绝安装

对于msp文件,即更新文件,需要用update命令,但前提是客户端电脑已经安装了你们的产品,否则不能更新。(在cmd中可以直接用i命令可以执行)
var tempDir = @"C:\Users\Administrator\Desktop\SCADA\Patch.msp";
var start = new ProcessStartInfo("msiexec.exe", "/update " + tempDir);
start.WindowStyle = ProcessWindowStyle.Normal;
start.CreateNoWindow = true;
Process.Start(start);//.WaitForExit()
自动运行EXE文件,也会弹出警告。
Process prc = new Process();
try
{
prc.StartInfo.FileName = @"C:\Users\Administrator\Desktop\SCADA\setupok.exe";
prc.StartInfo.UseShellExecute = false;
prc.StartInfo.RedirectStandardError = true;
prc.StartInfo.RedirectStandardOutput = true;
prc.StartInfo.RedirectStandardInput = true;
prc.StartInfo.CreateNoWindow = false;
prc.Start();
}
catch (Exception exU)
{
if (!prc.HasExited)
{
prc.Close();
}
throw new Exception(exU.Message.ToString());
}
应该有静默的安装方式。继续寻找!
.Net下 自动执行MSI和EXE文件的更多相关文章
- 怎样用批处理来执行多个exe文件
怎样用批处理来运行多个exe文件 @echo off start *****.exe start *****.exe start *****.exe start *****.exe 接着我们就能够运行 ...
- win下自动sftp脚本定时下载文件
缘起一个BA与客户交流的软件.但因为数据不能通过系统直连的方式进行获取. 对方只提供每天一份全量数据到指定文件夹下,我方自动通过sftp的方式去拉取. 一个只有简单几行的操作,想必肯定是不可能需写程序 ...
- Linux下自动清理超过指定大小文件
作者:邓聪聪 扫描某个目录下的文件,发现超过指定大小即清空 1)扫描目录下的文件 2)判断文件大小 3)清空大于指定文件的内容 以byte为单位显示文件大小,然后和20M大小做对比. 20M换算成字节 ...
- Linux下自动清理超过指定大小文件的方法
由于线上业务用的squid,根据经验值如果长时间运行则缓存目录下的swap.state会慢慢变大,一旦超过60M,squid的性能就会急剧下降,因此需要定时去清理大于60M的swap.state文件. ...
- Java项目生成可执行jar包、exe文件以及在Windows下的安装文件
1.如何通过eclipse将Java项目生成可执行jar包 首先把在eclipse下的java项目导出jar file 下一步 下一步 下一步 最后点击完成,便生成了可执行的jar文件.可以在刚刚选择 ...
- Python文件.py转换为.exe可执行程序,制作.exe文件图标
当大家想要将自己写的Python程序对别人进行展示的时候,你是否还是打开你的Pycharm进行运行展示? 假如是专业的人士看你的代码,一眼就能看懂你的代码,而其实我们可以不需要给代码,利用pyinst ...
- 利用PyInstaller打包exe文件
前言 平常我们通过Python写完一些小脚本之后,如果使用不频繁的话,一般会选择在DOS界面直接跑脚本,或者在IDE中运行.但当我们需要频繁使用某些脚本,或者在没有Python环境的机器上也能顺利运行 ...
- Windows服务项目打包成安装包(Windows服务)-----------VS2017项目程序打包成.msi或者.exe
VS2017项目程序打包成.msi或者.exe Windows服务项目使用VS2017项目程序打包成.msi或者.exe安装包 项目打包成安装包(Windows服务) 1.安装打包插件:Microso ...
- VS2017项目程序打包成.msi或者.exe
VS2017项目程序打包成.msi或者.exe 1.安装打包插件:Microsoft Visual Studio 2017 Installer Projects 打开vs2017 ,选择 工具 --& ...
随机推荐
- SHELL脚本攻略(学习笔记)--2.5 tr
tr主要用于映射结果集.压缩和删除字符.我个人感觉特别有用,特别是压缩连续空格(空行)为一个空格(空行),让不规则的信息变得规则. 2.5.1 tr映射 tr [options] [SET1] [SE ...
- gulp-htmlmin压缩html
通过一条命令用Npm安装gulp-htmlmin: npm install gulp-htmlmin --save-dev 安装完毕后,打开gulpfile.js文件,我们里面编写一个task用来专门 ...
- XproerIM-V1,2,12,65475发布。
下载地址:http://yunpan.cn/QTCxKvcpC4Iet 访问密码 9141更新记录:1.登陆面板增加帐号列表功能.
- 一段防盗连的PHP代码
$ADMIN[defaulturl] = http://www.163.com/404.htm; //盗链返回的地址 $okaysites = array("http://www.163 ...
- Nginx配置配置文件nginx.conf的设置
引用自:http://www.ha97.com/5194.html #定义Nginx运行的用户和用户组user www www; #nginx进程数,建议设置为等于CPU总核心数.worker_pro ...
- android笔记:DatePickerDialog日期设置对话框
在开发中,可以通过DatePickerDialog来设置日期,TimePickerDialog来设置时间. 实例化DatePickerDialog对象之后,再调用show方法就可以显示对话框了. 具体 ...
- Java 基础知识总结 (二、基本数据类型)
二.基本数据类型 java基本数据类型只能先声明后使用 boolean true/false char 16-bit unicode character byte 8-bit integer sho ...
- 在ASP.NET中引用自定义提示框
在html网页中自定义提示框 正文: 在一般的B/S架构中项目,与用户的交互信息是非常重要的.在一般的情况下,设计人员都在把用户信息呈现在html中,用div和span去弹出相关信息.对于一般的情况而 ...
- CodeForces 607C (DP) Hard problem
题目:这里 题意:给定n个字符串,每个字符串可以进行一项操作,就是将这个字符串交换,就是该字符串的第一个和最后一个交换,第二个和倒数第二个交换,以此类推,当然可以选择对于 该字符串进行或不进行这项操作 ...
- freemarker 数字格式化函数
${num?string('0.00')} 如果小数点后不足两位,用 0 代替 ${num?string('#.##')} 如果小数点后多余两位,就只保留两位,否则输出实际值 输出为:1239765. ...