问题
Currently, users must go into Control Panel > Programs > Turn Windows features on or off, then click on the check the box of the feature that they want to activate. I'd like to give them the ability to do this from my application.
Any idea on how to automate this process via .NET (preferably in C#)?
回答1:
I do this using NSIS for IIS using :
$Sysdir\pkgmgr.exe /n:$Temp\iis7Unattend.xml
You can call the pkgmgr program from your c# program and usually you would create an unattend file with the instructions for the pkgmgr to use for the feature.
You need to use
System.Diagnostics.Process.Start().
回答2:
If you are only targeting newer platforms (>= Windows Vista) then dism.exe is the latest utility; it replaces pkgmgr.
- http://technet.microsoft.com/en-us/library/dd799309(WS.10).aspx
- http://msdn.microsoft.com/en-us/library/dd371719(v=vs.85).aspx
Example call (run for all required features):
dism.exe /online /enable-feature /featurename:IIS-WebServerRole
To find a feature, use this
dism.exe /online /get-features | find “Tablet”
see: http://adriank.org/microsoft-ocsetupdism-component-name-list/ for more info.
来源:https://stackoverflow.com/questions/8054282/how-can-you-programmatically-turn-off-or-on-windows-features