如何以编程方式关闭或打开“Windows功能”

时间:2011-11-08 17:06:48

标签: c# .net windows controlpanel

目前,用户必须进入控制面板>节目>打开或关闭Windows功能,然后单击要激活的功能的复选框。我想让他们能够从我的应用程序中执行此操作。

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

2 个答案:

答案 0 :(得分:10)

如果您只定位较新的平台(> = 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
  3. 示例调用(针对所有必需功能运行):

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

    要查找功能,请使用此

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

    请参阅:http://adriank.org/microsoft-ocsetupdism-component-name-list/了解详情。

答案 1 :(得分:1)

我使用NSIS for IIS执行此操作:

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

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

您需要使用

 System.Diagnostics.Process.Start().