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()); }
应该有静默的安装方式。继续寻找!