如何以编程方式closures或打开“Windowsfunction”

目前,用户必须进入控制面板>程序>打开或closuresWindowsfunction,然后点击勾选要激活的function框。 我想给他们从我的应用程序做到这一点的能力。

任何想法如何通过.NET自动执行此过程(最好在C#中)?

我这样做使用NSIS的IIS使用:

$Sysdir\pkgmgr.exe /n:$Temp\iis7Unattend.xml 

您可以从您的c#程序中调用pkgmgr程序,通常您将创建一个无人参与文件,其中包含pkgmgr用于该功能的说明。

你需要使用

  System.Diagnostics.Process.Start(). 

如果您只针对较新的平台(> = Windows Vista),则dism.exe是最新的实用程序; 它取代了pkgmgr。

  1. http://technet.microsoft.com/en-us/library/dd799309(WS.10).aspx
  2. http://msdn.microsoft.com/en-us/library/dd371719(v=vs.85).aspx

示例调用(运行所有必需的功能):

 dism.exe /online /enable-feature /featurename:IIS-WebserverRole 

要找到一个功能,使用这个

 dism.exe /online /get-features | find “Tablet” 

请参阅: http : //adriank.org/microsoft-ocsetupdism-component-name-list/了解更多信息。