1、根据微软官方的帮助和支持的说法,IIS虽然安装了,但还需要安装SQL Server依赖于IIS的指定组件才认为IIS功能要求已安装完整。
指定需要安装的组件列表如下:
组件 文件夹
静态内容 常见的 HTTP 功能
默认文档 常见的 HTTP 功能
HTTP 重定向 常见的 HTTP 功能
目录浏览 常见的 HTTP 功能
ASP.Net 应用程序开发
ISAPI 扩展 应用程序开发
ISAPI 筛选器 应用程序开发
Windows 身份验证安全
IIS 元数据库 管理工具
IIS 6 WMI 管理工具
2、window 10家庭版在安装IIS时,安全性一栏底下默认是没有windows身份验证这一选项,这意味着上面这个问题无法得到解决,所以要先让”安全性“一栏底下有这个选项才行,下面附上方法:
在 C:\windows\servicing\Packages\ 目录下查找 Microsoft-Windows-IIS-WebServer-AddOn-2-Package~31bf3856ad364e35~amd64~~10.0.16299.15.mum文件,其中 31bf3856ad364e35~amd64~~10.0.16299.15可能因为版本会略有不同,也就是需要查找以 Microsoft-Windows-IIS-WebServer-AddOn-2-Package~ 开头的.mum文件。找到后,以 管理员身份 执行以下命令,执行完下面的命令后,需要重新添加IIS缺失的功能:
dism /online /norestart /add-package:%SystemRoot%\servicing\Packages\Microsoft-Windows-IIS-WebServer-AddOn-2-Package~31bf3856ad364e35~amd64~~10.0.16299.15.mum
如下图:
这时显示已经操作成功了。然后打开IIS查看是否有了Windows身份验证。笔者亲自试过,然后成功了。
本人使用python编写了一段修复代码,也可以使用下面的代码修复:
import os import ctypes import sys # author:wmzos modify by wmzos.com def is_admin(): try: return ctypes.windll.shell32.IsUserAnAdmin() except: return False def get_files_list(directory, file_type='.txt'): file_list = [] for f_root, f_dirs, f_files in os.walk(directory): for file_name in f_files: if file_name.endswith(file_type): file_list.append(os.path.join(f_root, file_name)) return file_list def repairSql(): dir = 'c:\windows\servicing\Packages' mumlist = get_files_list(dir, '.mum') # print(mumlist) for item in mumlist: if item.find('Microsoft-Windows-IIS-WebServer-AddOn-2-Package~') > 0: os.system(f'dism /online /norestart /add-package:{item}') # print(item) if __name__ == '__main__': if not is_admin(): ctypes.windll.shell32.ShellExecuteW(None, "runas", sys.executable, __file__, None, 1) sys.exit() repairSql()
===========================================================================
最简单有效的处理方法解决安装SQL Server2005时出现COM+的警告
1. 开始-->运行-->输入“cmd”回车;
2. 再命令行下输入:net stop msdtc回车
3. 输入: msdtc -uninstall 回车
msdtc -install 回车
4. 最后输入:net start msdtc
最后必须重启电脑方可再安装SQL Server2005, 这样就不会再出现COM+警告了!
本篇文章链接 地址:https://wmzos.com/?id=68
添加新评论