如何使用C#以管理员身份在cmd中运行msi安装程序
本文关键字:运行 msi 安装 程序 cmd 何使用 管理员 身份 | 更新日期: 2023-09-27 18:21:06
我有一个msi安装程序,我需要从C#静默安装它
Process process = new Process();
process.StartInfo.FileName = "cmd.exe";
process.StartInfo.WorkingDirectory = @"C:'temp'";
process.StartInfo.Arguments = "msiexec /quiet /i Setup.msi ADDLOCAL=test";
process.StartInfo.Verb = "runas";
process.Start();
process.WaitForExit(60000);
注意,如果我以管理员的身份从cmd手动运行cmd命令,它运行良好
当我运行它时,我只是在管理模式下获得cmd屏幕,但该命令不执行
正如V2Solutions-MS团队所提到的,解决方案是更改以下
process.StartInfo.FileName = "msiexe.exe"
代码将是
Process process = new Process();
process.StartInfo.FileName = "msiexec";
process.StartInfo.WorkingDirectory = @"C:'temp'";
process.StartInfo.Arguments = " /quiet /i Setup.msi ADDLOCAL=test";
process.StartInfo.Verb = "runas";
process.Start();
process.WaitForExit(60000);
这对我来说很有效:)
这也将帮助您:
Process process = new Process();
process.StartInfo.FileName = "msiexec.exe";
process.StartInfo.Arguments = string.Format("/qn /i '"{0}'" ALLUSERS=1", @"somepath'msiname.msi");
process.Start();
process.WaitForExit();