2009-10-05 138 views
1

我通過C#代碼安裝Management Studio 2008 Express時遇到了一些問題。Management Studio 2008 Express安裝問題

的代碼看起來是這樣的:

using (Process MMSInstall = new Process()) 
{ 
    var psi = new ProcessStartInfo(PathExe.FullName, "/qs /Features=SSMS /Action=Install"); 
    MMSInstall.StartInfo = psi; 
    MMSInstall.Start(); 
    MMSInstall.WaitForExit(); 
} 

PathExe是一個FileInfo實例的。

但是安裝總是失敗:

Exception type: Microsoft.SqlServer.Setup.Chainer.Workflow.NoopWorkflowException 
    Message: 
     No features were installed during the setup execution. The requested features may already be installed. Please review the summary.txt log for further details. 

當通過命令提示符安裝

C:\>SQLMANAGEMENTSTUDIO_X86_DEU.EXE /qs /Features=SSMS /Action=Install 

一切工作正常。

我通過日誌文件(Detail.txt)一看,spottet一個區別: 從命令提示符下運行,「環境:MEDIALAYOUT」從安裝時設置爲「高級」(pastebin.org/36222)我的小C#應用程序設置爲'Core'(pastebin.org/36221)

我試着將/ MEDIALAYOUT = Advanced附加到我的代碼中的ProcessStartInfo-Arguments中,但是這個選項被忽略。我不知道這個參數是什麼,我也找不到任何有關它的文檔。

任何想法如何解決這個問題或在哪裏尋找?

我在Windows Vista旗艦版SP1測試

+0

出於好奇,你繞過UAC,或者你還在提示?你的代碼在Windows XP上工作嗎? – 2009-10-05 16:05:04

+0

仍提示。在WinXP SP3 – sloth 2009-10-05 17:01:43

+0

相同的行爲在StackOverflow上的人大概可以幫助你更好。您的建議 – mrdenny 2009-10-05 22:49:00

回答

1

而不是調用可執行直接調用%windir%\system32\cmd.exe
Cmd的具有A/C開關,它允許你在一個命令來運行通過。所以你會通過
'/c "SQLMANAGEMENTSTUDIO_X86_DEU.EXE /qs /Features=SSMS /Action=Install"'
作爲參數。

+0

感謝,我會嘗試儘快 – sloth 2009-10-06 07:08:51

+0

OK,這不是很漂亮,我仍然不知道爲什麼,我的做法沒有奏效,我也知道「Medialayout'-放慢參數,但它像一個魅力 – sloth 2009-10-06 08:45:09

相關問題