Как программно отключить или включить «Функции Windows» - PullRequest
8 голосов
/ 08 ноября 2011

В настоящее время пользователи должны зайти в Панель управления> Программы> Включить или отключить функции Windows, а затем установить флажок для функции, которую они хотят активировать.Я хотел бы дать им возможность сделать это из моего приложения.

Есть идеи, как автоматизировать этот процесс через .NET (желательно в C #)?

Ответы [ 2 ]

10 голосов
/ 31 декабря 2011

Если вы используете только новые платформы (> = 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/ для получения дополнительной информации.

1 голос
/ 08 ноября 2011

Я делаю это, используя NSIS для IIS, используя:

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

Вы можете вызвать программу pkgmgr из вашей программы на c #, и обычно вы создадите файл автоматической установки с инструкциями для pkgmgr, который будет использоваться для этой функции..

Вам нужно использовать

 System.Diagnostics.Process.Start().
...