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文件的更多相关文章

  1. 怎样用批处理来执行多个exe文件

    怎样用批处理来运行多个exe文件 @echo off start *****.exe start *****.exe start *****.exe start *****.exe 接着我们就能够运行 ...

  2. win下自动sftp脚本定时下载文件

    缘起一个BA与客户交流的软件.但因为数据不能通过系统直连的方式进行获取. 对方只提供每天一份全量数据到指定文件夹下,我方自动通过sftp的方式去拉取. 一个只有简单几行的操作,想必肯定是不可能需写程序 ...

  3. Linux下自动清理超过指定大小文件

    作者:邓聪聪 扫描某个目录下的文件,发现超过指定大小即清空 1)扫描目录下的文件 2)判断文件大小 3)清空大于指定文件的内容 以byte为单位显示文件大小,然后和20M大小做对比. 20M换算成字节 ...

  4. Linux下自动清理超过指定大小文件的方法

    由于线上业务用的squid,根据经验值如果长时间运行则缓存目录下的swap.state会慢慢变大,一旦超过60M,squid的性能就会急剧下降,因此需要定时去清理大于60M的swap.state文件. ...

  5. Java项目生成可执行jar包、exe文件以及在Windows下的安装文件

    1.如何通过eclipse将Java项目生成可执行jar包 首先把在eclipse下的java项目导出jar file 下一步 下一步 下一步 最后点击完成,便生成了可执行的jar文件.可以在刚刚选择 ...

  6. Python文件.py转换为.exe可执行程序,制作.exe文件图标

    当大家想要将自己写的Python程序对别人进行展示的时候,你是否还是打开你的Pycharm进行运行展示? 假如是专业的人士看你的代码,一眼就能看懂你的代码,而其实我们可以不需要给代码,利用pyinst ...

  7. 利用PyInstaller打包exe文件

    前言 平常我们通过Python写完一些小脚本之后,如果使用不频繁的话,一般会选择在DOS界面直接跑脚本,或者在IDE中运行.但当我们需要频繁使用某些脚本,或者在没有Python环境的机器上也能顺利运行 ...

  8. Windows服务项目打包成安装包(Windows服务)-----------VS2017项目程序打包成.msi或者.exe

    VS2017项目程序打包成.msi或者.exe Windows服务项目使用VS2017项目程序打包成.msi或者.exe安装包 项目打包成安装包(Windows服务) 1.安装打包插件:Microso ...

  9. VS2017项目程序打包成.msi或者.exe

    VS2017项目程序打包成.msi或者.exe 1.安装打包插件:Microsoft Visual Studio 2017 Installer Projects 打开vs2017 ,选择 工具 --& ...

随机推荐

  1. Apache(ApacheHaus)安装配置教程

    1,Apache下载 选择一个版本,点击Download 点击File For Microsoft Windows 由于Apache HTTP Server官方不提供二进制(可执行)的发行版,所以我们 ...

  2. JavaWeb项目连接Oracle数据库

    参考网址:http://jingyan.baidu.com/article/0320e2c1d4dd0b1b87507b38.html 既然你要链接oracle数据库 ,那么首先就是先打开我们的ora ...

  3. 关于form验证的处理片断

    public virtual void SignIn(s_User user, bool createPersistentCookie) { var now = DateTime.UtcNow.ToL ...

  4. Hibernate 一级二级缓存

    1.一级缓存与session关联,session关闭时,缓存数据消失: 2.一级缓存无法自我控制缓存的数量,需考虑缓存溢出: 3.二级缓存与sessionFactory关联,当sessionFacto ...

  5. Spring MVC常见的三种URL请求参数的处理

    //方法1:@RequestParam //url:/test1?id=123 @RequestMapping(value = "/test1",method = RequestM ...

  6. AngularJS学习--- 动画操作 (Applying Animations) ngAnimate step 12

    1.切换目录 git checkout step-12 npm start 2.效果图 这里在点击右边的缩略图时,会有一个很明显的从下向上的动画过程. 3.代码实现: step11和step12之间的 ...

  7. 和为S的两个数字

    /*  * 和为S的两个数字  * 题目描述  * 输入一个递增排序的数组和一个数字S,在数组中查找两个数  * 使得他们的和正好是S,如果有多对数字的和等于S,输出两个  * 数的乘积最小的.  * ...

  8. 安装spy-debugger

  9. 关于Plupload结合上传插件jquery.plupload.queue的使用

    之前使用过很多的上传组件,但对各种浏览器的兼容性太差,不得不放弃!! plupload 是款很强大的上传组件,不得不推荐.plupload 前端根据浏览器不同选择使用Html5. Gears, Sil ...

  10. 使用jquery的trigger方法优化页面代码

    我们做页面级联的时候经常会用到ajax处理数据,会为下拉菜单编写change事件. //城市和区域联动 $("#City").change(function () { var ci ...