我使用C#代码使用运行msiexec的进程安装程序,为其提供MSI文件的路径。 这是我使用的代码:
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
。知道为什么吗?
答案 0 :(得分:1)
最终看来问题出在msiexec尝试安装的程序上。 我不是那个程序的开发者,所以我自己也不能知道这个问题。 该程序在其安装中有一个自定义操作,它设置一个表示要安装的驱动器的变量作为安装操作系统的驱动器。问题是,此操作仅通过安装的UI(双击MSI时)调用,而不是在使用安静的CLI命令进行安装时调用。