安装 .Net Framework (以下简称 FWK)一般来说是很简单的事情,直接Next 就可以搞定,但世事无常态,总会有意外,今天就遇到一个。
从MS下载最新的dotnetfx安装包,进行安装时,安装到最后一只停顿在“正在注册System.EnterpriseServices.dll ”的画面,长时间无响应(有个客户等了1个多小时,仍然没反应)。如果FWK安装不上,则基于其上开发的Application就无法运行。此问题必须解决。
都是网络上混的,遇到问题,肯定第一个就是 search ,网络上一大把的都是教你如何终止“msiexec.exe”进程,对于这中方法我也试了几次,没有一次成功(也可能是我RP达到了极限),遂安静下来仔细想想。
要分析安装不上的原因,最直接的就是看日志:
开始 -> 运行 -> eventvwr.msc
仔细检查 Application 、Security 、System 项目,特别是Error类型的信息提示。接下来就是漫长的检查过程,重点针对Error 的类型查看,发现很多消息提到有关“Distributed Transaction Coordinator”发生错误。这个服务是干嘛的呢?安装过程难道与它有关?赶快去瞧瞧:
开始 -> 运行 -> services.msc
按几次 D键,找到该项“Distributed Transaction Coordinator”,看看其描述:
Coordinates transactions that span multiple resource managers, such as databases, message queues, and file systems. If this service is stopped, these transactions will not occur. If this service is disabled, any services that explicitly depend on it will fail to start.
原来是一个资源协调管理的服务,主要用来进行并行事务的处理。
再检查其状态,发现是 pause 状态,直接continue
再检查检查其他的日志,除了常规的信息提示外,并无意外发现。
随后再次安装 FWK 1.1 ,成功了!
虽然已正确安装上 FWK 1.1 但是还是不明白FWK 1.1 和 MSDTC有啥关系,google 了一下,发现这个是FWK 1.1 的一个bug,在sp1 中此问题已经修正了(ps: 1.1 sp1虽然修复了此问题,但安装不了 1.1 ,sp1根本就无法安装,汗一把~~~)。
根据资料查询,FWK 1.1 的安装不上还有可能有以下原因引起:
1、 MSDTC 分布式数据协调管理
2、 DEP (Data Execution Prevention) 数据执行保护
3、 Language settings 语言设置
4、 其他未知原因
其中前3种原因已经找到其解决办法(具体的方法随后再续博文)。至于4嘛,具体原因具体分析,不过微软的工作人员已经想到了。只要使用它们的工具收集相关安装信息,发给他们分析即可。(微软越来越开放了!赞一个!)
Ps:对于 安装问题,推荐去看看下面的blog,内容那是相当的详细,那场面,那列表是相当的壮观:
http://blogs.msdn.com/astebner/articles/454956.aspx