2011-06-21 72 views
3

我正在編寫一個需要運行.NET的程序。 當我在Windows 2008 Server R2上運行它時,它在.NET 3.5安裝時失敗。 這是因爲在此版本的Windows中,您只能通過服務器管理器(或角色管理器)安裝.NET 3.5。以編程方式在服務器管理器中添加Windows 2008 Server R2中的功能

我想知道是否有一種方法來編程?

我搜索了網頁,發現我可以使用PowerShell或WMI。我希望這裏的某個人能夠證明這是一條路,如果不是的話,請指出我的方向。

UPDATE:

從進一步調查中我發現,使用WMIS Win32_ServerFeature_ID類,我可以列舉現有功能。但是我找不到任何關於如何添加新功能的解釋。

非常需要幫助。

謝謝。

回答

4

這可以通過編程調用dism命令來完成:

dism /Online /Enable-Feature:NetFx3 

我會有興趣聽不要求一個殼可能性,但任何解決方案。

2

Win32_ServerFeature wmi類不公開任何添加或刪除Windows服務器功能的方法,僅用於列出安裝的功能。據我所知沒有一個WMI類來完成這項任務。我可以建議更換你的選擇是使用這些PowerShell Cmdlets

+0

我會去PowerShell的方式過於擴展。 – Mrchief

+0

雖然PowerShell不需要.NET嗎?那麼你如何使用它來安裝.NET呢? – bdonlan

+1

@bdonlan,Powershell需要.NET Framework 2.0而不是3.5 – RRUZ

0

我們使用PowerShell自動化服務器設置,你會發現它會做你喜歡什麼很友好地。對於功能,您正在尋找腳本會是這個樣子:

Import-Module ServerManager 
$netFx = Get-WindowsFeature -Name AS-NET-Framework 
if ($netFx -eq $null) 
{ 
    Add-WindowsFeature AS-NET-Framework 
} 

該腳本將通過應用程序的安裝過程中運行的...可能。我從Windows Installer自定義操作運行PowerShell,這是(以我的經驗)最困難的情況。

相關問題