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

yme*_*rej 8 .net c# windows controlpanel

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

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

the*_*uru 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

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

dism.exe /online /enable-feature /featurename:IIS-WebServerRole
Run Code Online (Sandbox Code Playgroud)

要查找功能,请使用此功能

dism.exe /online /get-features | find “Tablet”
Run Code Online (Sandbox Code Playgroud)

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


Jon*_*son 1

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

$Sysdir\pkgmgr.exe /n:$Temp\iis7Unattend.xml
Run Code Online (Sandbox Code Playgroud)

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

你需要使用

 System.Diagnostics.Process.Start().
Run Code Online (Sandbox Code Playgroud)