游客发表
IIS 7.5 的整安装包完整安装包并不在微软官网单独提供下载。它随 Windows 7 和 Windows Server 2008 R2 捆绑发布,下载没有独立的整安装包 .exe 或 .msi 安装文件。网上流传的下载所谓“IIS 7.5 完整安装包”大多是第三方打包的离线组件集合,来源混杂,整安装包版本参差。下载如果你在搜索引擎里敲下这行字,整安装包大概率是下载因为在“打开或关闭 Windows 功能”里勾选 IIS 时卡住了——要么报错 0x800F0906,要么进度条走到一半提示“找不到源文件”。整安装包
这个问题的下载根源在于 Windows 的组件化设计。IIS 7.5 的整安装包功能模块分散在系统映像的 WinSxS 目录里,默认情况下系统只保留已启用组件的下载文件副本。当你首次启用 IIS 时,整安装包系统需要从本地缓存或 Windows 更新拉取缺失的下载载荷。如果缓存被清理过(比如跑过磁盘清理工具),整安装包或者组策略禁用了 Windows 更新访问,安装就会失败。我见过最典型的情况:一台离线内网机器,管理员直接勾选“Web 服务器(IIS)”全选安装,结果卡在“正在应用功能”整整四十分钟,最后弹出一个模糊的错误代码。
真正能解决问题的“完整安装包”其实是 Windows 安装介质里的 sources\sxs 文件夹。把 Windows 7 或 Server 2008 R2 的 ISO 挂载到虚拟光驱,然后用管理员权限运行命令提示符,执行:
dism /online /enable-feature /featurename:IIS-WebServerRole /all /source:D:\sources\sxs /limitaccess 其中 D: 换成你的光驱盘符。这个命令会从安装介质里提取所有 IIS 7.5 相关组件,绕过 Windows 更新。注意 /all 参数会启用父功能下的所有子项,包括 FTP、管理控制台、ASP.NET 等。如果你只需要静态页面服务,把 /all 换成具体功能名,比如 /featurename:IIS-WebServer 就够了。我自己的测试环境里,用这个方法装完整 IIS 7.5 大约耗时两分半,比在线安装快得多,而且不依赖网络。
有人会问:为什么微软不直接给个独立安装包?因为 IIS 和内核、HTTP.sys 驱动、WAS(Windows Process Activation Service)深度耦合。单独打包意味着要处理几十个系统组件的依赖关系,微软显然不愿意为每个 Windows 版本维护这种包袱。第三方打包的“完整安装包”往往是从不同版本的 Windows 里提取文件拼凑的,装完可能遇到 MMC 管理单元崩溃、应用程序池无法启动、或者 500.19 错误(配置文件权限问题)。我拆过一个下载量挺高的“IIS 7.5 独立安装包”,里面混了 Server 2008 R2 SP1 和 Windows 7 SP1 的文件,版本号对不上,装完 IIS 管理器打不开。
如果你手头没有 Windows 安装 ISO,另一个办法是从同版本系统的 C:\Windows\WinSxS 目录复制组件。但 WinSxS 里的文件是硬链接结构,直接拷贝会丢失链接关系,得用 dism /online /cleanup-image /restorehealth 配合源路径。这操作比挂载 ISO 麻烦得多,不推荐。
最后说个实际案例。上个月帮一个朋友处理 Windows 7 旗舰版装 IIS 报错 0x800F0906。他之前用某优化软件清理过系统,WinSxS 缓存被删了一部分。我让他找了个 Windows 7 SP1 原版 ISO,挂载后跑 dism 命令,三分钟搞定。他后来问我:“网上那些几百兆的 IIS 7.5 安装包能用吗?”我让他别碰——那些包要么是旧版 IIS 6 的兼容层,要么是给 Windows XP 用的,跟 IIS 7.5 根本不是一回事。
所以,别去搜“IIS 7.5 完整安装包下载”了。找到对应版本的 Windows 安装镜像,用 DISM 指定源路径,这才是正路。
友情链接