VisualStudio 2010 SP1安装时提示计算机环境导致无法安装的解决办法 (非常感谢 http://hi.baidu.com/imtoby)

VisualStudio 2010 SP1安装时提示计算机环境导致无法安装的解决办法 0x000013EC

 

注意有两个办法来解决请耐心读完

方法1:《安装VSTO》

 

近几天打算安装VS2010 SP1,然而总是提示计算机环境导致无法安装,没有更详细的错误提示,让我很是挠头。按微软SP1的安装说明文档,说原来安装过SP1需要重新安装VS2010才能再次安装SP1,但我重装N次也不行,GOOGLE了半天也没有找到好的解决办法。

最后在Temp目录下找到了VS2010的安装日志,Microsoft Visual Studio 2010Service Pack 1_[时间戳].html,打开页面后,发现这个页面是一个相当实用的日志查看器,允许对安装日志的记录项按三个等级进行过滤,分别是Error、Verbose和Message,同时按照调用层次关系以树型排列,可以收缩和展开,为排错带来便利。

点击Verbose和Message,然后Collapse All,点开Global Block Checks ,发现有一个 
BlockIf:无法安装Microsoft VisualStudio 2010 Service Pack 1,因为此计算机的状态不支持此安装。有关如何解决此问题的说明,请参阅Microsoft 下载中心网站上的自述文件。 
BlockIf evaluated to true

表示在那项检查里面检查不通过导致无法安装,于是展开该项内容,一路追踪True的原因是什么,由于SP1的检查项目很复杂,调用层次很多,而且多项并行的检查之间存在And和Or的关系,所以在查看的过程中一定要小心。最后追踪到根源是

[7/2/2011, 18:6:48]RegKeyValue: HKLM\SOFTWARE\Microsoft\VSTODesigntime Setup\VS10\O14\Version contains '10.0.30319' 
[7/2/2011, 18:6:48]all numeric characters - canonicalizing

[7/2/2011, 18:6:48]GreaterThanOrEqualTo evaluated to true

这一段日志表示是因为在HKLM\SOFTWARE\Microsoft\VSTODesigntime Setup\VS10\O14\Version的值包含'10.0.30319',检查的比较运算符是大于等于。可是打开注册表,发现并没有这个键,甚至连VSTO Designtime Setup都没有。Google了一下,发现MSDN论坛上有一篇同样问题的文章,http://social.msdn.microsoft.com/Forums/en-US/vssetup/thread/a869f387-3bee-4c93-bc2c-df59cfeb858d/,里面的回答是要安装VSTO

真是太无奈了,不管我重装过多少遍,我从来没有安装过VSTO,因为我对这东西没有需求啊。

不过不管如何,我还是去VS安装程序中把VSTO装上了,最后再装SP1,果然能够安装了。问题解决了。可是我不得不再说一遍,微软,我真的不想装VSTO的

 

 

方法2:《删除注册表项(针对X64位系统)》

删除 HKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\VSTO Designtime Setup\ 
下的所有内容 就可以了 我被这个问题困了好久  终于解决了! 扯蛋的微软 fuck!
如果没有这项 先安装 http://www.microsoft.com/zh-cn/download/details.aspx?id=20479  即《VSTO》



参考链接:

1.

http://www.cnblogs.com/hiizsk/archive/2011/07/02/2096408.html

2.

http://bbs.csdn.net/topics/390137517

你可能感兴趣的:(developer,tool)