安装程序添加iis的方法经验分享

网上有一些这样的方法,但我这里主要做一些对比和扩充

网上这方面的文章的岁数比较大,server 08R2和win7出来后,整理这方面的资料的文章没找到,所以这里将我的经验跟大家分享下

首先说下08R2,08R2和win7附带的iis的版本是7.5,而之前的server08和vista附带的版本是7.0。

这里主要说3个命令的区别:在上述系统中添加iis一般离不开这几个命令:pkgmgr,servermanagercmd,dism

我东拼西凑然后实践证明:7.5版本的用dism;server08用servermanagercmd;而几乎只要不是08R2都可以用pkgmgr

下面分别说下这几个命令的优缺点:

1、dism是win7和08R2新添加的命令,命令相对简单,server和client同内核版本为6.1及以上通用。重要的是组件名称区分大小写,iis组件名称前缀是“IIS-“,如:RunCmd(@" start /wait dism /online /enable-feature /featurename:IIS-WebServerRole"),只添加常用组件,若需要不常用组件需要特别指定,如需要iis6元数据则需另外添加RunCmd(@" start /wait dism /online /enable-feature /featurename:IIS-Metabase")。dism /online /get-features >c:\feature.txt可以在c盘的这个新建的文本文件中看到所有可选项

2、servermanagercmd顾名思义是服务器专有,使用起来非常简单。RunCmd(@" start /wait %windir%\system32\servermanagercmd.exe -install web-server /a")后面的/a表示iis的所有子组件项都将添加,但是时间会更久。方便是方便了,但是缺点也有一大堆。比如在64位支持不好,必须切换当前路径%windir%\system32\servermanagercmd.exe 不能直接用servermanagercmd.exe。因为system64目录下没有这个文件。另外servermanagercmd.exe -remove 功能不强 貌似不能删除成功。如果要删除一个或两个功能可以用PKGMGR.exe /uu:IIS-DirectoryBrowsing /norestart,删除功能需要重启(即使先停止服务也需要重启),所以后面指定不重启。

3、pkgmgr是网上资料最多的方法,因为出来的时间相对较早。但是也是最繁琐的,如果要添加所有的功能,命令有一大堆,除了08R2都可以用。如:

string iis7_5 = "start /wait PKGMGR.EXE /l:log_iis7.etw /iu:IIS-WebServerRole;IIS-WebServer;IIS-CommonHttpFeatures;IIS-StaticContent;IIS-DefaultDocument;IIS-DirectoryBrowsing;IIS-HttpErrors;IIS-HttpRedirect;IIS-ApplicationDevelopment;IIS-ASP;IIS-CGI;IIS-ISAPIExtensions;IIS-ISAPIFilter;IIS-ServerSideIncludes;IIS-HealthAndDiagnostics;IIS-HttpLogging;IIS-LoggingLibraries;IIS-RequestMonitor;IIS-HttpTracing;IIS-CustomLogging;IIS-ODBCLogging;IIS-Security;IIS-BasicAuthentication;IIS-WindowsAuthentication;IIS-DigestAuthentication;IIS-ClientCertificateMappingAuthentication;IIS-IISCertificateMappingAuthentication;IIS-URLAuthorization;IIS-RequestFiltering;IIS-IPSecurity;IIS-Performance;IIS-HttpCompressionStatic;IIS-HttpCompressionDynamic;IIS-WebServerManagementTools;IIS-ManagementScriptingTools;IIS-ASPNET;IIS-NetFxExtensibility;IIS-ManagementService;IIS-ManagementConsole;IIS-IIS6ManagementCompatibility; /norestart";        

runcmd(iis7_5);将添加除ftp的所有iis的子组件。

另外重申下,添加iis组件不需要重启,删除组件需要重启。

另外感谢下面这篇博文,他主要对比了2003和2008,但我这里对比的是2008和2008r2

http://www.cnblogs.com/sabrinahuang/archive/2011/09/06/2168472.html

以上仅供交流,不足之处请指正!

你可能感兴趣的:(IIS)