c#如何以不同的用户运行msi安装包
本文关键字:运行 用户 msi 安装 | 更新日期: 2023-09-27 18:17:07
我需要能够在最终用户的计算机上安装水晶报告,但是网络安全不允许它在普通用户登录上,所以它必须"以不同的用户运行"来安装在每个桌面上。
我正在尝试创建一个小应用程序,允许任何用户安装水晶报告..到目前为止我有:
Process p = new Process();
p.StartInfo.FileName = @"C:'cabs'CRRuntime_32bit_13_0_5.msi";
p.StartInfo.Arguments = "/i '"C:''Application.msi'"/qn";
p.StartInfo.UserName = uname;
p.StartInfo.Password = pword;
p.StartInfo.Domain = domain;
p.StartInfo.UseShellExecute = false;
try
{
p.Start();
}
catch(Exception er)
{
MessageBox.Show(er.Message);
}
当我尝试运行此代码时,我看到消息"指定的可执行文件不是此操作系统平台的有效应用程序"
我错过什么了吗?欢呼
MSI在windows中不是可执行文件。您应该使用msi文件作为参数
调用msiexec
。Process p = new Process();
p.StartInfo.FileName = @"C:'Windows'System32'msiexec.exe";
p.StartInfo.Arguments = @"C:'cabs'CRRuntime_32bit_13_0_5.msi";
p.StartInfo.UserName = uname;
p.StartInfo.Password = pword;
p.StartInfo.Domain = domain;
p.StartInfo.UseShellExecute = false;