0
我正在使用C#代码使用运行msiexec的进程安装程序,并为其提供MSI文件的路径。 这是我的代码使用方法:C#MsiExec将程序安装到错误的位置
string pathtoMsiFile = "\"" + msiPath + msiName + "\"";
Process p = new Process();
p.StartInfo.FileName = "msiexec.exe";
p.StartInfo.Arguments = "/i " + pathtoMsiFile + " /quiet";
p.Start();
p.WaitForExit();
奇怪的是,当我尝试安装程序,对某个版本它,它安装到正确的位置我会希望在C:\path
但不同的版本,它出于某种原因安装到D:\path
。如果我手动打开MSI,则默认位置为C:\path
。任何想法为什么?
您可以在startInfo参数中添加一个/ l * v/[path] [logfile]来生成安装服务的日志,它将帮助您找出哪些情况下路径没有正确设置 – CheGueVerra 2014-10-06 14:51:42
最可能的问题是您的MSI没有正确的默认安装位置,所以当您没有UI运行时,它会转到Windows默认设置(可能是大多数空间的驱动器)。设置适当位置的东西在你的UI序列中,当你做/安静的时候会被压制。 – PhilDW 2014-10-06 16:52:37