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