在 Windows Server 2012 上安装依赖项安装失败
Symptom
陷阱版本在3.2 之前
问题
当试图在 Windows Server 2012 上安装端点安全管理器时, 一个或多个先决条件 (例如,. NET framework 4.0) 安装失败。
端点安全管理器的安装成功. 但是, 无法访问端点安全管理器, 并且出现 IIS 相关错误:

症状
- 无法安装所需的先决条件
- 无法加载 ESM 接口
- 日志文件中显示的错误, 可以通过%programdata% \ cyvera \n 访问, 如下所示:
错误 CyveraServer (4) Cyvera.Server.Facades.Database.Caching.CacheCountWatcher 未能加载计数器 SimpleInjector. ActivationException: 类型 IRepository 的注册委托<CacheCounterEntity>引发了异常.</CacheCounterEntity> 创建 SessionFactory 时使用了无效或不完整的配置。检查 PotentialReasons 集合, 并 InnerException 以了解详细信息。
* 数据库未通过数据库方法进行配置。
--->> FluentNHibernate.Cfg.FluentConfigurationException: 创建 SessionFactory 时使用了无效或不完整的配置。检查 PotentialReasons 集合, 并 InnerException 以了解详细信息。
* 数据库未通过数据库方法进行配置。
---NHibernate. HibernateException: 无法从 NHibernate.Driver.SQLite20Driver 创建驱动程序。---System.Reflection.TargetInvocationException: 调用的目标引发了异常。--->> System.Configuration.ConfigurationErrorsException: 未能找到或加载已注册的. Net 框架数据提供程序。
原因
这是由于依赖关系;由于未安装该功能, 请求的. net 将作为一个功能包含在 windows server 2012 中, 因此无法调用它。
默认情况下, 此功能未配置为. net framework 4.0 可再发行版的独立版本.
这将导致安装程序调用不存在的功能。
Resolution
解决办法
在激活 asp.net 4.5 时, 它启用了. net 框架所需的功能, 端点安全管理器需要该函数。
从提升的命令提示符运行以下命令:
dism/联机/启用-功能/featurename:IIS-ASPNET45/全部