2011-11-08 9 views
6

Attualmente, gli utenti devono accedere a Pannello di controllo> Programmi> Attiva o disattiva le funzionalità di Windows, quindi fare clic sulla casella della funzionalità che si desidera attivare. Mi piacerebbe dare loro la possibilità di farlo dalla mia applicazione.Come disattivare o attivare "Funzionalità Windows" a livello di programmazione

Qualche idea su come automatizzare questo processo tramite .NET (preferibilmente in C#)?

+1

possibile duplicato di [Aggiungi funzionalità di Windows da C#] (http://stackoverflow.com/questions/7075453/add-windows-feature-from-c-sharp) – CharlesB

+0

Risposta abbastanza buona per me. Grazie Carlo. Non sono sicuro di come mi sia perso quell'articolo quando ho fatto le mie ricerche qui e su Google. – ymerej

risposta

0

Lo faccio utilizzando NSIS per IIS utilizzando:

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

È possibile chiamare il programma pkgmgr dal vostro programma C# e di solito si dovrebbe creare un file di installazione automatica con le istruzioni per la pkgmgr da utilizzare per la funzione.

è necessario utilizzare

System.Diagnostics.Process.Start(). 
7

Se si prendono di mira solo le piattaforme più recenti (> = Windows Vista) poi DISM.exe è l'ultimo programma di utilità; sostituisce 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

Esempio di chiamata (eseguito per tutte le caratteristiche richieste):

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

Per trovare una caratteristica, utilizzare questa

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

vedere: http://adriank.org/microsoft-ocsetupdism-component-name-list/ per ulteriori informazioni.